How 8,760-Hour Solar Simulation Improves Rooftop PV Generation Estimates
If you've ever compared two solar quotes and found the projected annual output differing by 8-10% for what looks like the same system, the difference usually isn't the panels or the installer's optimism — it's the simulation method behind the number. Specifically, whether that number came from an 8,760-hour simulation or a shortcut.
What "8,760 hours" actually means
A year has 8,760 hours. An 8,760-hour simulation calculates solar irradiance, cell temperature, and power output separately for every single one of them, using real (or representative) hourly weather data for the site. Compare that to the two shortcuts most casual estimation tools still use:
- Single-value estimates — take a location's average "peak sun hours" and multiply by system size. Fast, but blind to weather variability, shading timing, or temperature effects.
- Monthly-average models — compute one typical day per month and scale it up. Better, but still smooths over the hour-to-hour swings that actually determine how a system performs.
An hourly simulation instead builds up the year from the ground: solar position and irradiance at 2pm on a partly cloudy Tuesday in March is treated differently from 2pm on a clear day in July, because it is different — and those differences compound across thousands of hours into a materially different annual number.
Why this matters more for rooftops than for open fields
Utility-scale ground-mount systems are relatively forgiving of simulation shortcuts: uniform tilt, uniform azimuth, minimal shading. Rooftops are the opposite case, and that's exactly where hourly resolution earns its keep.
Multiple roof planes, multiple micro-climates. A single rooftop system often spans two or three faces at different tilts and azimuths — a south-facing main roof plus an east-facing dormer, say. Each face has its own hourly irradiance curve; a monthly average can't capture how the east face's morning peak and the south face's midday peak interact with a shared inverter's clipping threshold.
Shading is a time-of-day problem, not an annual-average problem. A chimney, a neighboring tree, or an HVAC unit doesn't cast a flat "5% shading loss" — it casts a shadow that sweeps across specific modules at specific hours, on specific days of the year, with a specific angular geometry. Only an hour-by-hour (ideally sub-hourly) simulation, working from real sun-position and shading-object geometry, gets this right. Annualized shading factors routinely mis-estimate the loss by 2-3x in either direction.
Temperature swings hour by hour. Module output drops meaningfully as cells heat up — typically -0.3% to -0.4% per °C above 25°C. On a rooftop with limited airflow underneath the array, a module might run 15-20°C hotter than ambient at 1pm in summer. Capturing that requires an hourly cell-temperature model (using ambient temperature, wind speed, and irradiance at that specific hour), not a monthly average temperature.
Inverter clipping is inherently a peak-moment phenomenon. If a system is sized with a DC/AC ratio above 1.0 (common for cost optimization), the inverter will clip excess DC power during a fairly narrow band of high-irradiance hours around midday in summer. A monthly-average model simply cannot see this clipping window; only an hourly (or sub-hourly) simulation can quantify how much energy is actually lost to it.
What you get from doing it properly
When IST PVSolar Simulator runs the full 8,760 hours simulation with real physics behind each step — solar position, plane-of-array irradiance via a transposition model like Perez, an electrical model (single- or two-diode) reacting to instantaneous irradiance and temperature, shading applied per hour, and inverter efficiency evaluated at each operating point — a few things become possible that flat estimates simply can't offer:
- A believable loss diagram. Instead of one lump "system losses: 14%" line, you get a breakdown: IAM losses, thermal losses, shading losses, clipping, wiring, inverter conversion — each computed from what actually happened hour by hour, not assumed.
- Meaningful uncertainty bands. Once you have year-by-year hourly output, you can run interannual weather variability and component-tolerance uncertainty through the model to get honest P50/P90 estimates — the numbers lenders and homeowners actually need for financing decisions, rather than a single optimistic point estimate.
- Degradation modeled as physics, not just a multiplier. A rigorous engine re-solves the electrical model each project year with degraded module parameters, rather than simply multiplying year-1 output by (1 - 0.5%)ⁿ. That distinction matters more than it sounds like it should, especially in the first year when light-induced degradation behaves differently from long-term wear.
The practical upshot
None of this is about chasing decimal-point precision for its own sake. It's about the fact that a rooftop system's real annual output is the sum of thousands of small, hour-specific events — a shadow moving past a chimney at 8am, an inverter clipping for forty minutes at noon in June, a module running 18°C hotter than ambient on a still August afternoon. Averaging those away doesn't just lose detail; it systematically biases the estimate, usually toward overstating production on shaded or thermally-stressed roofs.
For homeowners comparing quotes, for installers building trust with an accurate proposal, and especially for anyone financing a system against its projected output, the question worth asking isn't "what's your estimated annual production?" — it's "how did you get that number?" If the answer is a full 8,760-hour hourly simulation with a real shading, thermal, and electrical model behind it, you're looking at a number you can actually plan around.