Sol og energi

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.

Sist oppdatert 2026-09-15 · Markdown · OpenAPI · Prøv i nettleseren: Snøtap for solceller

  • 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.