Calculate peak sun hours
Calculates your site's peak sun hours per month — in the module plane, for any tilt AND azimuth, with terrain horizon and a P50/P90 band from 19 individual years. Data: hourly PVGIS (SARAH3). Weather-report "sunshine hours" are useless for sizing; peak sun hours are energy: kWh/m² per day — the solar insolation that determines what your solar panels actually deliver. Coverage today: the DACH grid (Germany, Austria, Switzerland) 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 simulation (Perez transposition) | Σ_8760h Perez-POA(tilt 35°, az 0°) | 1,419.3 kWh/m² | measured |
| Calibration to the multi-year mean of the real years | POA × mean(2005–2023)/TMY @ 35° S (× 0.921) | 1,307.8 kWh/m² | measured |
| Annual average per day | H_a / 365 | 3.5831 kWh/m²/d | measured |
| Gain vs. global horizontal irradiance | POA_a / GHI_a - 1 | 18.119 % | measured |
| P50/P90 from individual years | P50/P90(n = 19, ref 35°) | 1,207.9 kWh/m² | measured |
- Formula
POA (plane-of-array irradiance) per hour = beam · cos AOI + Perez sky diffuse + ground reflection · summed over 8760 h · calibrated per month to the 2005–2023 multi-year mean- Valid for
- DACH grid at 0.25° resolution (1,155 points, PVGIS SARAH3 2005–2023), tilt 0–90°, all azimuths, fixed planes plus single- and dual-axis tracking, terrain horizon of the grid point included. Levels are calibrated per month to the multi-year mean of the PVGIS per-year series, and the sun position is evaluated at the SARAH scan time (about hh:11). Cross-validated against PVGIS: absolute annual totals within 2% at four flatland reference sites across all tilts 15–90°, east and west planes within about 1% of the PVGIS hourly calculation.
- Not covered
- Snow cover on the modules (separate warning), near shading from buildings and trees (only the terrain horizon is included), backtracking and row shading for trackers. The P50/P90 year-to-year spread is measured at the 35° south reference and transferred to the chosen configuration — a stated approximation.
- 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.
Peak sun hours in major cities (DE / AT / CH)
Peak sun hours at 35° tilt, facing south — computed with the same engine as above, terrain horizon included. The annual total in kWh/m² doubles as the ideal yield per kWp before system losses; off-grid systems are sized for the worst month, not the annual average.
| City | Year Ø PSH/day | Worst month | Best month | P90 kWh/m² | Optimum |
|---|---|---|---|---|---|
| BerlinDE | 3.58 | 1.03 | 5.72 | 1,208 | 40° |
| HamburgDE | 3.41 | 0.89 | 5.53 | 1,176 | 40° |
| MünchenDE | 3.95 | 1.78 | 5.68 | 1,349 | 40° |
| KölnDE | 3.51 | 1.13 | 5.39 | 1,211 | 40° |
| Frankfurt am MainDE | 3.76 | 1.16 | 5.74 | 1,281 | 35° |
| DüsseldorfDE | 3.54 | 1.13 | 5.42 | 1,224 | 40° |
| StuttgartDE | 3.87 | 1.44 | 5.78 | 1,320 | 35° |
| EssenDE | 3.49 | 1.12 | 5.39 | 1,207 | 35° |
| DortmundDE | 3.48 | 1.11 | 5.36 | 1,184 | 40° |
| DresdenDE | 3.63 | 1.30 | 5.48 | 1,237 | 40° |
| WienAT | 3.93 | 1.15 | 6.00 | 1,364 | 35° |
| GrazAT | 4.23 | 1.96 | 6.06 | 1,428 | 40° |
| LinzAT | 3.94 | 1.40 | 5.84 | 1,374 | 35° |
| SalzburgAT | 3.65 | 0.55 | 5.22 | 1,239 | 35° |
| ZürichCH | 4.03 | 1.73 | 5.73 | 1,382 | 40° |
| GenfCH | 4.37 | 2.06 | 6.19 | 1,503 | 40° |
| BaselCH | 3.96 | 1.76 | 5.68 | 1,310 | 35° |
| LausanneCH | 4.29 | 2.03 | 6.05 | 1,466 | 40° |
All values: 35° tilt, south-facing, terrain horizon of the respective grid point, hourly PVGIS SARAH3 data (2005–2023), calibrated per month to the multi-year mean. Click a city to open its data page with monthly values and optimal tilt.
Frequently asked questions
What are peak sun hours — and why are weather-report sunshine hours useless?
Peak sun hours are energy: kWh/m² per day, expressed as hours of full reference irradiance (1000 W/m²). Weather-report "sunshine hours" measure something else: the time during which direct irradiance exceeds 120 W/m² (WMO definition) — a pale winter hour just above the threshold counts in full, exactly like a blazing June hour carrying many times the energy. Sizing only cares about energy. Berlin at 35° tilt: about 5.7 PSH in the best month, just over 1 in December — an annual average hides exactly that difference.
How does this calculator work — and how accurate is it?
It simulates your module hour by hour through a typical meteorological year (TMY; 8,760 hourly values from PVGIS SARAH3, 2005–2023): solar position, angle of incidence, Perez transposition of the diffuse fraction, ground reflection, and the terrain horizon of your grid point. That is why it works for any azimuth — east-west or façade included. In cross-validation against PVGIS, the tilt gain deviates by less than 2% (up to 60° tilt) and 3% at the façade.
What do P50 and P90 mean — and why do years scatter?
The typical year is an average; real years scatter by several percent. From the 19 individual years in the dataset, the calculator derives two bands: P50 is the median — half of all years exceed it. P90 is the value reached in 9 out of 10 years — the conservative number for sizing and financing. Plan with P50 and you will be disappointed every other year.
Does the value apply to my site in a valley or on a slope?
The terrain horizon (mountains, ridges) of your nearest grid point is included — the 0.25° grid is never more than ~17 km away. What is NOT included: shading from nearby buildings, trees, or the neighbour's gable; that comes on top, mostly in winter. Snow on the modules is not modelled either — the calculator warns explicitly for months where it is likely.
How many peak sun hours do solar panels need?
There is no minimum below which panels stop working — the question is how much energy you need. At 35° facing south, a module plane in the DACH region collects between about 3.4 (Hamburg) and 4.4 (Geneva) kWh/m² per day as an annual average — 1,250 to 1,600 kWh/m² per year (see the city table). Rule of thumb: panel wattage × daily peak sun hours ≈ ideal daily output before system losses; a 400 W panel at 3.6 PSH yields roughly 1.4 kWh per day. For off-grid sizing, design for the worst month and its P90 value, not the annual average — December in Berlin drops to about 1 PSH at 35° tilt.
Are peak sun hours the same as specific yield (kWh/kWp)?
No, but they are directly linked. Peak sun hours describe the solar resource per square metre of module area (kWh/m² per day); specific yield describes the output per installed capacity (kWh/kWp per year — also called full-load hours). The bridge: at reference irradiance one kilowatt-peak delivers exactly one kilowatt — the annual PSH total is therefore the ideal specific yield before real system losses (PVGIS assumes a flat 14%). Berlin at 35° south: about 1,300 kWh/m² per year works out to roughly 1,100 kWh/kWp.
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° resolution, so the nearest point is never more than ~17 km away. For other regions the official tools are the best choice: PVGIS by the European Commission (worldwide except polar regions), or PVWatts by the US lab NLR (formerly NREL) for the United States. A US grid built on NSRDB hourly data is in preparation — same calculation path and the same P50/P90 bands as here.