Design9 min readAugust 27, 2026

8760 modeling explained: why hourly beats annual

Solar module surface with the sun breaking through clouds

What an 8760 actually is

An 8760 is a time series: for every hour of a representative year, the model estimates how much energy the plant delivers at its point of interconnection. The name is the hour count, 365 days times 24 hours. Leap days are ignored. Everything downstream is a calculation performed against this single column of numbers.

The simulation chain runs from weather to wire. Irradiance and temperature at the site are converted to irradiance on the module plane, then to DC power at the module, then to AC power after the inverter, then to delivered energy after collection losses, the transformer, and any curtailment. The final series is only as good as the weakest link in that chain.

The inputs: weather files and what they contain

The starting point is a weather file, most often a typical meteorological year, or TMY. A TMY is not a real year. It is assembled by selecting, for each calendar month, the most representative month from a multi-year record. The result captures typical conditions but smooths away the extreme years that matter for downside cases, which is why a TMY alone is not sufficient for P90 analysis.

Each hourly record carries the variables the model needs: global horizontal irradiance (GHI), direct normal irradiance (DNI), diffuse horizontal irradiance (DHI), ambient temperature, and wind speed. Albedo, the ground reflectance, is either in the file or set by the modeler, and it drives rear-side gain on bifacial modules. Satellite-derived datasets cover the United States at kilometer-scale resolution; ground stations are more accurate where they exist but are sparse.

From irradiance to power: transposition, module, and inverter models

Weather files report irradiance on a horizontal surface, but modules are tilted or tracking. A transposition model converts GHI, DNI, and DHI into plane-of-array irradiance for each hour, accounting for sun position and array orientation. For trackers, the model also simulates the tracking algorithm, including backtracking at low sun angles to avoid row-to-row shading, which trims early morning and late afternoon output.

The module model then converts plane-of-array irradiance and cell temperature into DC power. Cell temperature is estimated from ambient temperature, wind speed, and irradiance. Higher temperatures reduce voltage and therefore output, so a hot, still afternoon produces less than the irradiance alone would suggest. The inverter model applies an efficiency curve and a maximum AC output. Any DC power above that ceiling is clipped, and clipping is invisible in any model coarser than hourly.

The loss stack

Between ideal DC output and delivered energy sits a sequence of losses. The usual list includes soiling from dust, pollen, and snow; near-field and horizon shading; module mismatch; DC and AC wiring resistance; inverter conversion losses and clipping; transformer losses; plant availability during outages and maintenance; and grid curtailment where the operator limits export. Each is entered as a percentage or a time-varying profile, and together they compound to a material reduction from the ideal.

Degradation is different because it changes year over year rather than hour by hour. The year-one 8760 is scaled down annually by a degradation rate, typically a fraction of a percent per year for modern modules, to produce the multi-year forecast the financial model consumes. Soiling and snow are seasonal too, so entering them as monthly profiles rather than flat annual figures improves the shape of the series.

Why annual capacity factor hides the shape

Capacity factor is annual energy divided by the energy the plant would produce running at nameplate all year. It summarizes well and prices badly. Two plants can share a capacity factor while one is a fixed-tilt array in a cloudy region with a high DC/AC ratio and the other is a tracker in a sunny region with a low ratio. Their hourly shapes, clipping, and value to an offtaker all differ.

DC/AC ratio is the clearest example. Developers oversize the DC array relative to inverter capacity, commonly between about 1.2 and 1.5, because doing so raises output in shoulder hours and in winter when irradiance is low. The cost is clipping in the brightest hours of summer. Whether that trade pays off depends on the hourly price during the clipped hours, which only an hourly model can show. An annual yield number hides the decision entirely.

Time of delivery, price shape, and storage

Wholesale prices vary by hour, and in solar-heavy markets they vary against solar. Midday prices fall, and can go negative, when many plants produce at once, then rise in the early evening as solar output drops while load holds: the duck curve. A solar plant's capture rate, its production-weighted average price divided by the flat average price, falls as regional solar penetration rises, and only an 8760 multiplied against hourly prices reveals it.

Basis and curtailment are hourly phenomena too. Basis is the difference between the price at the plant's node and the hub where a contract settles, and it widens most in the hours when local generation exceeds local transmission capacity. Curtailment removes production in those same hours. Time-of-delivery factors in PPAs, which pay by season and hour block, are a contractual version of this shape, and they are applied to the 8760 line by line.

Storage makes the hourly requirement absolute. A battery paired with solar is valued by what it shifts: energy taken at low-priced or clipped hours and delivered at high-priced hours. Dispatch logic needs to know, for each hour, how much energy is available, what the battery holds, and what the price is. There is no annual shortcut. Hybrid value is the difference between dispatched revenue across the full 8760 and the standalone case.

P50, P90, and the limits of a typical year

P50 is the annual production expected to be exceeded in half of all years; P90 is exceeded in nine of ten. The gap between them comes from interannual weather variability, dataset uncertainty, and loss-assumption uncertainty. A TMY-based 8760 is roughly a P50 shape, so independent engineers derive P90 by running the model across a long history of actual weather years or by applying a statistical adjustment to the P50 result.

Lenders typically size debt against a one-year or ten-year P90 so that debt service is covered even in weak years, while equity usually underwrites nearer P50. One-year P90 is lower than ten-year P90 because a single bad year is more likely than a bad decade. The independent engineer's report reproduces the 8760, audits the loss stack, and states the P-values the lender relies on; the financial model applies degradation and price shape to that series each year of the debt term.

The 8760 also has a resolution limit. Cloud edges, inverter ramp behavior, and short irradiance spikes above the clipping threshold happen within the hour, and an hourly average smooths them away. With high DC/AC ratios and variable clouds, hourly models understate clipping because a minute far above the ceiling and a minute far below it average to a value under the limit. Sub-hourly weather data, where available, is used to correct for this.

How to sanity-check an 8760

Start with bounds. Annual capacity factor for utility-scale solar in the United States generally falls between the high teens and around thirty percent depending on resource and tracking; a figure outside that band needs an explanation. Night hours should be exactly zero, or slightly negative if the model includes auxiliary loads. Summer months should peak, winter months should trough, and the monthly shape should track the site's latitude and climate.

Then look at clipping. Count the hours at which AC output sits at the inverter limit and check that they cluster on clear, cool spring and summer days. If the plant never clips despite a high DC/AC ratio, or clips in December, something is misconfigured. Compare plane-of-array irradiance to GHI: tracked arrays should show a large gain, fixed-tilt a modest one. Finally, confirm degradation is applied per year, not per hour.

Common mistakes when moving from annual yield to hourly

The first mistake is running a generic layout. Row spacing, tracker type, and terrain change shading and backtracking behavior, and a flat rectangle does not represent rolling ground with setbacks. Layout and yield belong in the same tool so the profile updates when the design does. The second mistake is time zone and daylight saving handling: a profile shifted by one hour lines up badly against a price series and misstates capture rate.

Other frequent errors include applying soiling as a flat percentage in a snowy climate, double counting curtailment that already appears in the price history, treating a TMY result as a P90, and using prices from a different node or year than the project will face. Modern screening tools such as Basepoint now run the hourly model from the actual layout and carry it into the financial workbook, which removes hand-offs. Either way, know what each hour represents before multiplying it by a price.

Common questions

What is the difference between P50 and P90?

P50 is the annual production expected to be exceeded in half of all years; P90 is exceeded in nine years out of ten. The spread reflects weather variability and model uncertainty. Lenders size debt against P90 cases so debt service holds in poor years, while equity typically underwrites closer to P50. Both are derived from the same 8760 shape.

Why is it called an 8760?

A standard year has 365 days of 24 hours, which is 8,760 hours, and the model produces one output value for each of them. Leap days are ignored. The term has become shorthand for any hourly profile, used for prices and load as well as production.

Is a TMY file the same as a real weather year?

No. A typical meteorological year is a composite built by selecting the most representative month from a multi-year record for each of the twelve months. It reflects average conditions but not extremes. For downside cases and P90 analysis, engineers run the model across actual historical years or apply a statistical adjustment to the typical-year result.

What DC/AC ratio should I model?

There is no single right answer. Ratios commonly land between about 1.2 and 1.5, with higher values where winter irradiance is low or where the interconnection limit is fixed and DC capacity is cheap. The right ratio depends on hourly prices during the clipped hours, which is exactly the tradeoff the 8760 exists to expose.

Can I use an 8760 for a wind or storage project?

Yes. Wind 8760s follow the same structure, with hub-height wind speed and a turbine power curve replacing irradiance and module models. Storage projects use an 8760 of prices or available charging energy as the input to a dispatch model. In hybrid projects, the solar 8760 feeds the battery model hour by hour.

Put this to work on a real site

Bring a real site or portfolio to the demo. Most teams are fully onboarded within a week.