Monthly solar output calculator
Calculates your system's output for each month individually — hour by hour with the full PVGIS power chain: module temperature from weather data (Faiman), low-light behaviour (Huld), reflection loss at shallow incidence (Martin & Ruiz), and the free-standing vs. roof mounting choice that alone costs 3–4%. In Berlin, December delivers about one fifth of the June value at 35° tilt; the worst month is a primary result here, not a footnote. Coverage today: the DACH grid at 0.25° — a US grid built on NREL NSRDB data is in preparation.
The formulas behind the calculator
Every number above can be recomputed: the full calculation path, all assumptions and the data source with retrieval date — plus cross-validation against independent references. Disclosed, not claimed.
An estimate based on the stated assumptions. The final design must be checked by a qualified professional against the rules that apply where you are.
Data as of: 2026-07-30
| Step | Formula | Value | Provenance |
|---|---|---|---|
| Hourly energy simulation (IAM, Faiman, Huld) | Σ_8760h P_STC · G_POA/1000 · η_rel(Huld) · η_sys, T_m Faiman(roof) | 8,633.7 kWh | measured |
| Calibration to the multi-year mean of the real years | E_m × mean(2005–2023)/TMY @ 35° S (× 0.922) | 7,958.6 kWh | measured |
| Performance ratio, computed (IEC 61724) | PR = E_a / (P_STC · H_POA,a) | 0.76067 | measured |
| Comparison stage: guidebook formula PSH × PR | E_m = P_kWp · PSH_m · d_m · PR(0.80) | 8,370.2 kWh | assumed |
| P50/P90 from individual years | P50/P90(n = 19, ref 35°) | 7,332.9 kWh | measured |
| Winter share of annual yield | Σ(Dez..Feb) / E_a | 10.431 % | measured |
- Formula
E_m = Σ_h P_STC · G_eff/1000 · η_rel(Huld) · η_sys · G_eff = POA × IAM(Martin-Ruiz) · T_m = Faiman(T_a, W, G) · compare: E_m = P_kWp · PSH_m · d_m · PR- Valid for
- DACH grid at 0.25° resolution (1,155 points, PVGIS-SARAH3 2005–2023), all orientations, tilts 0–90°, terrain horizon included, level calibrated to the multi-year mean. Cross-validated against PVGIS PVcalc at four reference sites per month and mounting type: annual total within 1.7%, months within 6%. The remainder is explained: PVcalc adds a spectral correction (+1.8% in Berlin) whose underlying data is not freely available — our numbers are deliberately slightly conservative.
- Not covered
- Near shading from buildings and trees (only the terrain horizon), snow cover, degradation over the years (calculator 28), spectral correction (see validity), inverter clipping. The simplified guidebook formula PSH × PR runs alongside as a comparison stage — its error is largest in summer, because it ignores module temperature.
- Data sources
- JRC Photovoltaic Geographical Information System (PVGIS), European Commission — endpoints tmy, MRcalc, printhorizon · PVGIS API v5_3, solar radiation database PVGIS-SARAH3 · retrieved 2026-07-30
The same array at nearby locations
35° tilt, south-facing, identical array — the closest cities around your location, each with its own weather grid point. Every row is computed with the same formulas as your result above.
| Location | Distance | PSH/day | P90 kWh/m² | Optimum |
|---|---|---|---|---|
| Berlin | 1 km | 3.58 | 1,208 | 40° |
| Oranienburg | 19 km | 3.50 | 1,194 | 40° |
| Blankenfelde-Mahlow | 20 km | 3.58 | 1,198 | 35° |
| Potsdam | 22 km | 3.59 | 1,215 | 40° |
| Bernau | 22 km | 3.52 | 1,209 | 35° |
| Ludwigsfelde | 26 km | 3.64 | 1,219 | 40° |
| Königs Wusterhausen | 29 km | 3.57 | 1,203 | 40° |
| Strausberg | 33 km | 3.63 | 1,232 | 40° |
| Eberswalde | 45 km | 3.57 | 1,227 | 40° |
The sunniest and the dullest nearby place are 4 % apart — location beats tilt optimisation. Clicking a place opens its location page in a new tab.
Specific yield: major cities (DE / AT / CH)
Solar yield per kilowatt peak (kWh/kWp) — hour-simulated per city (roof mount, 35° south, terrain horizon, PVGIS residual losses) instead of the usual 1,000-kWh rule of thumb. The two columns every guide table misses: an honest December figure and the P90 for cautious planning.
| City | Year kWh/kWp | P90 | December | Best month | Winter share |
|---|---|---|---|---|---|
| BerlinDE | 995 | 917 | 26 | 130 | 10.4 % |
| HamburgDE | 949 | 895 | 21 | 123 | 9.5 % |
| MünchenDE | 1,091 | 1,020 | 45 | 127 | 14.4 % |
| KölnDE | 971 | 920 | 27 | 119 | 11.6 % |
| Frankfurt am MainDE | 1,040 | 970 | 28 | 129 | 11.5 % |
| DüsseldorfDE | 987 | 934 | 28 | 122 | 11.4 % |
| StuttgartDE | 1,063 | 992 | 35 | 129 | 12.5 % |
| EssenDE | 977 | 924 | 27 | 121 | 11.0 % |
| DortmundDE | 979 | 913 | 28 | 122 | 11.2 % |
| DresdenDE | 1,016 | 947 | 34 | 126 | 12.2 % |
| WienAT | 1,087 | 1,030 | 27 | 136 | 11.7 % |
| GrazAT | 1,152 | 1,060 | 47 | 134 | 15.4 % |
| LinzAT | 1,075 | 1,027 | 35 | 130 | 12.9 % |
| SalzburgAT | 991 | 920 | 12 | 116 | 11.7 % |
| ZürichCH | 1,108 | 1,041 | 44 | 130 | 15.1 % |
| GenfCH | 1,196 | 1,129 | 51 | 138 | 16.0 % |
| BaselCH | 1,089 | 988 | 44 | 130 | 14.4 % |
| LausanneCH | 1,181 | 1,105 | 52 | 136 | 16.0 % |
All values per kWp: roof mount, 35° tilt, south-facing, terrain horizon of the grid point, hourly PVGIS SARAH3 data (2005–2023), 14% residual losses (PVGIS approach). A 10 kWp system delivers ten times these numbers. Winter share = December through February. Click a city to open its data page.
Frequently asked questions
How many kWh per kWp is normal — and what does a 10 kW system produce?
For the DACH region, guides quote 900–1,100 kWh per kWp per year; computed site by site (roof mount, 35° south) the German cities in the table below span roughly 950 (Hamburg) to 1,100 kWh/kWp (Munich), with Alpine and western Swiss sites up to ~1,200. A 10 kWp system therefore delivers around 10,000 kWh per year on a good south roof — but only some 200–450 kWh of that in December (about 2–4% of the annual total; winter as a whole contributes 10–15%). If a heat pump or EV must run through winter, plan with the December figure and the P90 band, not the annual average.
How much does a solar system deliver in December?
In Berlin at 35° tilt, about one fifth of the June value: an 8 kWp roof system delivers a good 1,000 kWh in June and just over 200 kWh in December. That is exactly why this calculator computes every month individually instead of dividing the annual yield by twelve — the annual average exists in no real month, and off-grid systems are sized for December, not for the mean.
What sets this calculator apart from the usual rule of thumb?
The usual calculation is sun hours × system size × performance ratio — one flat factor for all losses. This calculator instead simulates each of the 8,760 hours with the PVGIS power chain: module temperature from air temperature, wind and irradiance (Faiman), the cell's low-light behaviour (Huld) and reflection loss at shallow incidence (Martin & Ruiz). The rule of thumb still runs as a comparison line — the 3–8% annual difference is itself an insight.
When is the rule of thumb most wrong?
Measured against the hourly model: in summer. A fixed performance ratio ignores that modules work worse in the heat — in June it overestimates Berlin's yield by around 8%. In December the errors nearly cancel: the missing temperature penalty offsets the low-light and reflection losses. The common belief that the simple formula fails mainly in the dull winter is not confirmed by the simulation.
What does the roof vs. free-standing distinction buy me?
A real 3–4% of annual yield — 3.4% measured in Berlin, identical to PVGIS's own calculation. A roof-mounted or integrated module runs about 13 Kelvin hotter in full sun than a ventilated one, because the back sheds hardly any heat. Almost no free calculator asks about mounting; here it is a visible input.
What does the P90 annual yield mean?
Your system reaches that value in 9 out of 10 years — computed from the 19 real weather years (2005–2023) in the dataset, scaled to your configuration. For sizing and financing, P90 is the conservative, dependable number; the mean (P50) is missed every other year.
Where do the numbers come from, and how accurate are they?
From the committed TMY hourly grid (PVGIS-SARAH3, 2005–2023, 1,155 grid points across the DACH region) with terrain horizon, calibrated to the multi-year mean. Cross-validated against PVGIS PVcalc at four reference sites, per month and for both mounting types: annual total within 1.7%, individual months within 6%. The remainder is explained — PVcalc adds a spectral correction whose underlying data is not freely available; our numbers are therefore deliberately slightly conservative.
Does this calculator work outside Germany, Austria and Switzerland?
Not yet. The hourly grid currently covers the DACH region (1,155 grid points at 0.25°). For other regions the official tools are the best choice: NREL PVWatts for the United States, or PVGIS by the European Commission (worldwide except polar regions) — this calculator is cross-validated against PVGIS. A US grid built on NSRDB hourly data is in preparation, with the same monthly resolution and P50/P90 bands.