Snøtap for solceller
Stedlige snø- og smusstap per måned for et solcelleanlegg, samme modell som NS 3031:2025-tabellene bygger på, kjørt med lokale seNorge-data for din helning og montasje. Pluss snødekning på panelet neste 10 døgn.
- GET /api/snowsoiling/calc
- GET /api/snow/outlook
Hva du får
NS 3031:2025 gir snøtap i tabell for 16 byer, bare for sørvendte tak, rundet opp til nærmeste 5 %. Dette endepunktet kjører den samme modellen (Marion/NREL snødekningsmodell med Øgaards norske koeffisienter, IFE/E-2024/005) på NVEs seNorge-serie for cellen din, med faktisk helning, orientering og montasje, og gir middel, median, P10 og P90 per måned. Modellen er validert mot IFE på månedsnivå (middelavvik 4,3 prosentpoeng).
Ingen nøkkel, ingen kvote.
GET /api/snowsoiling/calc: tap per måned
curl "https://api.solkart.no/api/snowsoiling/calc?lat=59.91&lon=10.75&angle=30&aspect=0&mounting=roof"
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
lat, lon |
tall | påkrevd | 57 til 71,5° N, 4 til 31,5° Ø |
angle |
0 til 90° | 30 | Helning |
aspect |
−180 til 180° | 0 | Asimut, 0 = sør, −90 = øst, +90 = vest |
mounting |
roof | rack | flat |
roof |
Skråtak, frittstående stativ, eller flatt tak med lav vinkel |
height_mm |
0 til 5000 | 300 | Underkant modul over underlaget, brukes bare for flat |
strings |
1 til 6 | 3 | Antall strenger i høyden; med lossmode=strings er en delvis dekket streng tapt |
lossmode |
linear | strings |
linear |
Lineært tap med dekningsgrad, eller strengvis |
start |
1957 til 2015 | 1991 | Første år i snøserien |
soiling |
0 til 5 % | 1 | Smussgulv i snøfrie måneder |
format |
json | csv |
json |
Svar 200 (ekte svar, Oslo sentrum, 30°, sør, skråtak; utdrag):
{
"method": {
"model": "Marion/NREL snødekningsmodell med Øgaards norske koeffisienter (…)",
"reference": "IFE/E-2024/005 (Øgaard & Seiffert 2024) — samme metodikk som NS 3031:2025-tabellene, kjørt stedsspesifikt; …",
"data": "seNorge/NVE døgnserier (nysnødybde, snødybde, temperatur) 1991–nå for 1 km-cellen; POA fra SunPoint V6 TMY (ens_tmy30) for faktisk helning/asimut",
"note": "NS 3031:2025-tabellene gjelder kun sørvendte tak, i 5 %-trinn rundet OPP, for 16 byer; …"
},
"inputs": { "lat": 59.91, "lon": 10.75, "cell": { "id": "y0578x614", "altitude_m": 6, "snow_cell_offset_m": 0 },
"angle_deg": 30, "aspect_deg": 0, "mounting": "roof", "system_height_mm": null, "n_strings": 3,
"loss_mode": "linear", "series_start": 1991, "soiling_floor_pct": 1 },
"monthly": [
{ "month": 1, "n_years": 36, "snow_loss_pct_mean": 48.2, "snow_loss_pct_median": 50.5, "snow_loss_pct_p10": 6.3, "snow_loss_pct_p90": 94.5,
"loss_pct_incl_soiling": 48.2, "ns3031_style_pct": 50, "covered_days_mean": 15.8, "poa_month_kwh_m2": 18.6 },
{ "month": 3, "n_years": 36, "snow_loss_pct_mean": 27.6, "snow_loss_pct_median": 12.3, "snow_loss_pct_p10": 0, "snow_loss_pct_p90": 81,
"loss_pct_incl_soiling": 27.6, "ns3031_style_pct": 30, "covered_days_mean": 10.1, "poa_month_kwh_m2": 100.5 },
{ "month": 6, "n_years": 36, "snow_loss_pct_mean": 0, "snow_loss_pct_median": 0, "snow_loss_pct_p10": 0, "snow_loss_pct_p90": 0,
"loss_pct_incl_soiling": 1, "ns3031_style_pct": 1, "covered_days_mean": 0, "poa_month_kwh_m2": 182.7 },
{ "month": 12, "n_years": 35, "snow_loss_pct_mean": 33.9, "snow_loss_pct_median": 26.2, "snow_loss_pct_p10": 0, "snow_loss_pct_p90": 71.4,
"loss_pct_incl_soiling": 33.9, "ns3031_style_pct": 35, "covered_days_mean": 10, "poa_month_kwh_m2": 16.4 }
],
"annual": { "loss_pct_incl_soiling": 6.26, "lost_kwh_m2": 74.6, "poa_kwh_m2": 1192.6 },
"warnings": [ "Modellen dekker ikke snøfangere, skygge, varmelekkasje fra bygget eller fasade/vertikalmontasje — ingeniørmessig skjønn kreves (IFE/E-2024/005 kap. 5)." ]
}
| Felt | Enhet | Beskrivelse |
|---|---|---|
monthly[].snow_loss_pct_mean, _median, _p10, _p90 |
% | Fordeling over årene i serien. P90 = tapet som overskrides i 10 % av årene (verste). |
monthly[].loss_pct_incl_soiling |
% | Snøtap med smussgulv lagt til i snøfrie måneder. Bruk denne i produksjonsberegningen. |
monthly[].ns3031_style_pct |
% | Samme verdi rundet opp til 5 %-trinn slik standardens tabeller er, for direkte sammenligning |
monthly[].covered_days_mean |
døgn | Middel antall døgn med snø på modulene |
monthly[].poa_month_kwh_m2 |
kWh/m² | Innstråling i modulplanet, vekten tapet regnes mot |
annual.loss_pct_incl_soiling |
% | Årstap vektet med innstrålingen |
annual.lost_kwh_m2, poa_kwh_m2 |
kWh/m² | Tapt og total innstråling per år |
format=csv gir månedstabellen som sunpoint_snotap_<lat>_<lon>_<angle>deg.csv. Cache-Control: public, max-age=86400; X-Snowsoil-Cache: HIT ved treff i vår 7-døgns cache.
GET /api/snow/outlook: snø på panelet neste 10 døgn
Dag for dag: dekningsgrad og tap fra seNorge-observasjoner til i dag og seNorge-prognose 9 døgn frem. Ingen produksjonstall, fordi innstrålingsprognosen bare rekker 67 timer.
curl "https://api.solkart.no/api/snow/outlook?lat=59.91&lon=10.75&angle=30&mounting=roof"
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
lat, lon, angle, aspect, mounting, height_mm, lossmode |
som over | ||
burial_mm |
0 til 10 000 | Høyde på modulens overkant; snødybde over dette gir full dekning | |
days |
1 til 10 | 10 | Antall døgn fra i dag |
Svar 200 (utdrag):
{
"cell_id": "y0578x614", "lat": 59.9105, "lon": 10.7687, "elevation_m": 61.3,
"query": { "lat": 59.91, "lon": 10.75, "cell_distance_km": 1.05 },
"system": { "angle_deg": 30, "aspect_deg": 0, "mounting": "roof", "height_mm": 300, "burial_mm": null, "loss_mode": "linear" },
"issued_utc": "2026-09-15T18:37:33.601Z",
"snow_year_start": "2026-09-01", "spinup_days": 14, "forecast_days_available": 9,
"days": [
{ "date": "2026-09-15", "is_forecast": false, "coverage": 0, "loss_pct": 0, "snow_depth_mm": 0, "new_snow_mm": 0, "temp_c": 14, "data_missing": false },
{ "date": "2026-09-16", "is_forecast": true, "coverage": 0, "loss_pct": 0, "snow_depth_mm": 0, "new_snow_mm": 0, "temp_c": 15, "data_missing": false }
],
"summary": { "snow_on_panel_today": false, "days_with_snow": 0, "max_loss_pct": 0, "clears_on": null },
"method": { "model": "…", "data": "…", "horizon": "seNorge gir 9 døgn prognose. …", "caveat": "Modellen er validert … på MÅNEDSNIVÅ (MAD 4,3 pp). Et enkelt døgn er nesten binært …" },
"warnings": []
}
coverage er 0 til 1, loss_pct prosent av dagens mulige produksjon. summary.clears_on er første dato modellen venter tomt panel, eller null. Cache-Control: public, max-age=3600; X-Snow-Outlook-Cache: HIT|MISS.
Feil
| Status | error |
|---|---|
400 |
Ugyldige tall: angle 0-90, aspect -180..180, height_mm 0-5000, strings 1-6, start 1957-2015, soiling 0-5. |
400 |
mounting må være roof\|rack\|flat / lossmode må være strings\|linear / format må være json\|csv |
400 |
Snøutsikt: Ugyldige tall: angle 0-90, aspect -180..180, height_mm 0-5000, burial_mm 0-10000, days 1-10. |
404 |
Ingen TMY-celle innen ~6 km av punktet (utenfor fastlands-Norge). |
502 |
Kunne ikke hente seNorge-snødata (NVE): … / snøutsikt: Kunne ikke hente seNorge-snøprognose (NVE): … |
503 |
TMY-data ikke tilgjengelig. |
Bruk i produksjonsberegning
PV-kalkulatoren tar snowloss=1 og henter disse tapene selv. Regner du med TMY og egen modell, multipliser månedens produksjon med 1 − loss_pct_incl_soiling/100.
Samme beregning i nettleseren: solkart.no/snotap.