PV-produksjonsberegning
Forventet års- og månedsproduksjon for et solcelleanlegg hvor som helst i Norge, regnet på TMY Norge med terrenghorisont. Flere takflater, klipping, snøtap, P50 til P95 og optimal vinkel. Samme beregning som PVGIS, med norske data.
- GET /api/pv/calc
Hva du får
Månedlig og årlig produksjon (kWh), innstråling i modulplanet (kWh/m²), standardavvik mellom år, månedlig makseffekt og tapspostene hver for seg. Modellkjeden er den samme som i EUs PVGIS (Perez-transposisjon, Martin-Ruiz-refleksjon, Faiman-temperatur, Huld-effektmodell), men klimadataene er TMY Norge i 3 km og horisonten leses fra Kartverkets høydemodell for punktet. Beregningen er validert mot PVGIS 5.3.
Endepunktet krever ingen nøkkel og har ingen kvote. Timeverdier leveres ikke; trenger du dem, hent TMY og regn selv.
GET /api/pv/calc
curl "https://api.solkart.no/api/pv/calc?lat=59.91&lon=10.75&peakpower=10&angle=35&aspect=0"
| Parameter | Type | Standard | Beskrivelse |
|---|---|---|---|
lat, lon |
tall | påkrevd | 57 til 71,5° N, 4 til 31,5° Ø, fastlands-Norge |
peakpower |
0,05 til 100 000 kWp | 1 | Installert effekt for én flate |
angle |
0 til 90° | 35 | Helning (0 = flatt) |
aspect |
−180 til 180° | 0 | Asimut, 0 = sør, −90 = øst, +90 = vest |
arrays |
kwp:vinkel:asimut,… |
1 til 4 flater i samme beregning, f.eks. arrays=6:35:0,4:25:-90. Overstyrer peakpower, angle, aspect. Kan ikke kombineres med optimize. |
|
loss |
0 til 60 % | 14 | Systemtap: inverter, kabling, mismatch, LID. 14 er PVGIS-standard; moderne anlegg ligger på 5 til 7. |
pvtechchoice (tech) |
crystSi | CIS | CdTe |
crystSi |
Modulteknologi (Huld-koeffisienter). TOPCon og PERC = crystSi. |
mountingplace (mounting) |
free | building |
free |
Ventilert eller bygningsintegrert (Faiman-temperaturmodell) |
optimize |
none | slope | both |
none |
Finn optimal helning, eller helning og asimut |
confidence |
p50 | p75 | p90 | p95 |
p50 |
Solår-persentil fra TMY-statistikken. P90 = året som overskrides 90 % av årene. |
maxpower |
0,05 til 100 000 kW | Klipping: maks AC-effekt ut (inverter eller nettgrense). Klippes per time på summen av flatene. | |
horizon |
0 |
på | 0 slår av terrenghorisonten |
snowloss |
1 |
av | Legg til stedlig snø- og smusstap (samme modell som snøtap) |
snowmounting |
roof | rack | flat |
rack ved free, ellers roof |
Montasje for snømodellen |
format |
json | csv |
json |
Svar 200 (ekte svar, Oslo sentrum, 10 kWp, 35°, sør):
{
"inputs": {
"location": { "lat": 59.9105, "lon": 10.7687, "elevation_m": 61.3, "cell_id": "y0578x614" },
"meteo_data": { "source": "SunPoint V6 ens_tmy30 (NORA3+SunPoint 1991-2020)", "confidence": "p50", "horizon": "V3 terrain (DTM10)" },
"pv_module": { "technology": "crystSi", "peak_power_kwp": 10, "system_loss_pct": 14 },
"mounting_system": { "type": "free", "slope_deg": 35, "azimuth_deg": 0, "optimized": null },
"snow_loss": null
},
"outputs": {
"monthly": [
{ "month": 1, "E_d": 5.29, "E_m": 163.94, "H(i)_d": 0.63, "H(i)_m": 19.63, "SD_m": 10.82, "P_peak_kW": 4.553 },
{ "month": 6, "E_d": 48.11, "E_m": 1443.27, "H(i)_d": 6.04, "H(i)_m": 181.12, "SD_m": 205.14, "P_peak_kW": 8.031 },
{ "month": 12, "E_d": 4.42, "E_m": 137.11, "H(i)_d": 0.53, "H(i)_m": 16.41, "SD_m": 14.0, "P_peak_kW": 3.391 }
],
"totals": {
"E_d": 26.95, "E_m": 819.63, "E_y": 9835.55,
"H(i)_d": 3.3, "H(i)_m": 100.48, "H(i)_y": 1205.78, "SD_y": 320.5,
"l_aoi": -2.4, "l_spec": 1.6, "l_tg": -4.3, "l_total": -18.4,
"specific_yield_kwh_kwp": 984
}
},
"meta": {
"sky_view_factor": 0.998,
"model": "Perez1990 + Martin-Ruiz(ar=0.16) + Faiman + Huld2010; spektral konstant per teknologi (tilnaerming)",
"note": "Kun maaneds- og aarsverdier (+ maanedlig makseffekt) leveres - timeserier er ikke tilgjengelige her.",
"generator": "SunPoint PV-kalkulator v1 (solkart.no/sunpoint)"
}
}
| Felt | Enhet | Beskrivelse |
|---|---|---|
outputs.monthly[].E_d, E_m |
kWh | Produksjon per dag (middel) og per måned |
outputs.monthly[].H(i)_d, H(i)_m |
kWh/m² | Innstråling i modulplanet per dag og måned |
outputs.monthly[].SD_m |
kWh | Standardavvik i månedsproduksjon mellom år |
outputs.monthly[].P_peak_kW |
kW | Høyeste timeeffekt i måneden (sum over flatene) |
outputs.monthly[].snow_loss_pct |
% | Bare med snowloss=1 |
outputs.totals.E_y |
kWh | Årsproduksjon |
outputs.totals.H(i)_y |
kWh/m² | Årsinnstråling i modulplanet |
outputs.totals.l_aoi |
% | Refleksjonstap ved innfallsvinkel |
outputs.totals.l_spec |
% | Spektral effekt (positiv = gevinst) |
outputs.totals.l_tg |
% | Temperatur og lav innstråling |
outputs.totals.l_clip |
% | Klipping, bare med maxpower |
outputs.totals.l_snow |
% | Snø og smuss, bare med snowloss=1 |
outputs.totals.l_total |
% | Sum av alle tap inkludert loss |
outputs.totals.specific_yield_kwh_kwp |
kWh/kWp | Spesifikk avling per år |
outputs.arrays[] |
Med arrays: kwp, angle_deg, aspect_deg, E_y, specific_yield_kwh_kwp per flate |
|
inputs.mounting_system.optimized |
Med optimize: {angle, aspect} som ble funnet |
|
meta.sky_view_factor |
0 til 1 | Andel av himmelen som er synlig over horisonten |
Tapene l_aoi, l_spec, l_tg, l_clip og l_snow modelleres eksplisitt og skal derfor ikke også legges i loss.
Flere takflater og klipping
# Øst/vest-anlegg, 60 kWp per side, 10° helning, inverter begrenset til 100 kW
curl "https://api.solkart.no/api/pv/calc?lat=59.22&lon=10.93&arrays=60:10:-90,60:10:90&maxpower=100&loss=7"
Energiene summeres per time før klipping, så øst- og vestflater som ikke topper samtidig gir riktig P_peak_kW og l_clip.
CSV
format=csv gir månedstabellen (month,E_d,E_m,H(i)_d,H(i)_m,SD_m,P_peak_kW), en tom linje og totalene som key,value. Fil: sunpoint_pv_<lat>_<lon>.csv.
Caching
JSON-svaret har Cache-Control: public, max-age=86400 og lagres hos oss i 7 døgn (X-Pv-Cache: HIT viser treff); CSV caches ikke. Horisonten for punktet lagres i 30 døgn.
Feil
| Status | error |
|---|---|
400 |
Ugyldige tall: peakpower (kWp), loss (%), angle (0-90), aspect (-180..180, 0=sor). |
400 |
arrays: 1-4 flater som kwp:vinkel:asimut, kommaseparert. |
400 |
optimize stottes ikke sammen med arrays. |
400 |
confidence ma vaere p50\|p75\|p90\|p95, maxpower: 0.05-100000 kW …, format ma vaere json\|csv |
404 |
Ingen TMY-celle innen ~6 km av punktet (utenfor fastlands-Norge-masken). |
503 |
TMY-data ikke tilgjengelig. |
Samme beregning i nettleseren
solkart.no/sunpoint kjører dette endepunktet med adressesøk, kart, rapport til PDF og valgfri takanalyse fra flyfoto. Rapporten viser parametrene som ble brukt, så en beregning kan gjentas via API-et.