SolarSoftwares
Book a demo

What Is Solar Irradiance?

How we keep reviews fair

Quick answer

Solar irradiance is the rate at which sunlight energy reaches a surface, measured in watts per square metre (W/m²). Clear midday sun gives about 1,000 W/m², the level used to rate modules at STC. Designers split it into GHI, DNI and DHI, then convert it to the panel plane (POA) to estimate yield.

Ready to see how it works?

Tell the SolarSoftwares team which tool you are considering. We reply by email to book your demo.

Book a demo
Jump to a section

Key takeaways

  • The three parts obey GHI = DNI × cos(zenith) + DHI. In a TMY3 file, this matched to a median of 0.5 W/m² over 3,759 hours with zenith below 80°.
  • Irradiance is power (W/m²). Irradiation is energy (kWh/m²). The clearest June day in our file delivered 7.9 kWh/m².
  • Clear-sky GHI at solar noon ranged from 202 to 1,076 W/m² across three cities and two dates, using one stated model.
  • On the cloudiest June day in the file, DHI supplied 94% of GHI, and DNI peaked at 198 W/m² against 820 W/m² on the clearest day.
  • At Phoenix on 21 December, a 30° south-facing plane got 1.57 times the GHI at solar noon. That is a clear-sky, isotropic-model example.

To find tools that transpose irradiance to the panel plane, see the best solar simulation software that reports plane-of-array irradiance.

Solar irradiance at a glance

Irradiance is a rate, so it changes every minute. Four versions matter in solar design.

ItemDetail
FormulaGHI = DNI × cos(zenith) + DHI. Panel plane: POA = beam + sky diffuse + ground reflected
Unit and rangeW/m². Hukseflux gives typical global horizontal values as 0 to 1,400 W/m²
Where it mattersYield simulation, sensor checks, performance ratio
Standard or ruleISO 9060 classes for pyranometers, as sensor makers cite it. No single standard for the transposition model
In softwareSimulators transpose horizontal data to the plane. Monitoring tools compare it with a plane-of-array sensor

Why solar irradiance matters for installers

Every kWh estimate starts from irradiance. The plane of the panels sets how much of it counts. A flat GHI figure can mislead on a tilted roof.

At solar noon on 21 December, a 30° south-facing plane received 1.57 times the horizontal value at Phoenix and 2.26 times at London. Both figures are clear-sky, isotropic-model results (worked example below). The gain is large in winter because the sun is low.

It matters on site too. A sensor in the wrong plane gives a wrong performance ratio. So does a clear-sky value used as a yield figure. See weather and solar resource data for which dataset to load.

What are GHI, DNI, DHI and POA, and how do they add up?

GHI is all sunlight on a flat horizontal surface. It equals the beam part projected onto that surface plus the sky part: GHI = DNI × cos(zenith) + DHI. This relationship comes from pvlib’s documentation.

  • GHI: global horizontal irradiance, W/m².
  • DNI: direct normal irradiance, beam sunlight on a surface facing the sun.
  • DHI: diffuse horizontal irradiance, sky light with the beam excluded.
  • POA: plane-of-array irradiance, the total on the tilted module surface. GTI is the same quantity under another name.

Test. We checked the identity on the Greensboro, NC TMY3 file that ships with pvlib 0.16.1. We used pvlib’s apparent zenith at the middle of each hour. Over 3,759 hours with zenith below 80°, the median gap was 0.5 W/m². The 95th percentile was 2.1 W/m² and the maximum was 5.3 W/m². Annual sums agreed within 0.05%.

Two checks show why the cosine matters. Adding DNI and DHI with no cosine overshoots GHI by 35.0% over those hours. Using DNI alone falls 8.0% short. This is one file, and other files may close less tightly.

The same test on pvlib’s clear-sky model would be circular. Its code sets DHI as GHI minus DNI × cos(zenith).

Is irradiance in W/m² or kWh/m²?

Irradiance is W/m². Irradiation, also called insolation, is the energy over a period, in kWh/m². Vaisala’s help page gives the rule: 1,000 W/m² for one hour delivers 1 kWh/m².

We ran the same sum on our data. On the clearest June day in the file, the hourly GHI values add up to 7,948 Wh/m² over 15 non-zero hours. That is 7.9 kWh/m² for the day. Our irradiation and insolation page covers daily and annual totals, and peak sun hours covers the shortcut.

What is the difference between clear-sky and measured irradiance?

Clear-sky irradiance is a model output for a cloudless sky. Measured irradiance is what a sensor, or a satellite estimate, reports for the real sky. A clear-sky value is not a forecast.

We used the Ineichen and Perez model in pvlib 0.16.1. It takes Linke turbidity, and pvlib supplies a monthly climatology for the globe. Values are at solar noon, from a one-minute series. Altitude comes from pvlib’s lookup. We set Sydney to 0 m, because the lookup gave -2 m.

Noon GHI is highest at Sydney in December and lowest at London in December.

Site and dateZenithGHI / DNI / DHI (W/m²)Clear-sky GHI, day (kWh/m²)
Phoenix, 21 June10.0°1,000 / 894 / 1208.3
Phoenix, 21 December56.9°561 / 917 / 603.3
London, 21 June28.1°825 / 753 / 1607.4
London, 21 December74.9°202 / 571 / 530.9
Sydney, 21 June57.3°520 / 858 / 573.1
Sydney, 21 December10.4°1,076 / 982 / 1109.0

Irradiance values are W/m². From June to December, noon GHI falls 44% at Phoenix and 75% at London, and rises 107% at Sydney. Noon DNI rises 3% at Phoenix, falls 24% at London and rises 15% at Sydney. DNI is measured facing the sun, so it has no cosine factor for the sun’s height. A low sun still weakens it, as the London figures show.

The clear-sky model is not a ceiling for real days. The clearest June day in the TMY file ran 2.5% above the model’s clear-sky total for that day.

What does a pyranometer measure?

A pyranometer measures global irradiance: sunlight from the whole sky dome onto its surface, in W/m². Hukseflux describes a hemispherical field of view (2π sr). Its dome passes about 0.3 to 3 micrometres.

Facing up and level, it reads GHI. Tilted to match the panels, it reads what Hukseflux calls global tilted irradiance, which is POA. A second sensor facing down reads reflected light. Albedo is reflected light divided by global.

ISO 9060 classes are A, B and C, with a "spectrally flat" subclass. Hukseflux says non-flat instruments are accurate only in clear, sunny conditions. As an example, Kipp and Zonen’s CMP3 page lists spectrally flat Class C (ISO 9060:2018), 300 to 2,800 nm, and 0 to 1,500 W/m². Both are maker pages. See pyranometer and irradiance sensor.

How do the components change on a clear day and a cloudy day?

On a clear day the beam (DNI) carries most of the energy and DHI is small. On a heavy cloudy day DHI is almost all of GHI. Figure 1 shows both from one typical year.

Two line charts of hourly GHI, DNI and DHI for a clear June day and a cloudy June day from a TMY3 file

Figure 1. On the cloudiest June day in the TMY file, DHI supplied 94% of GHI and DNI peaked at 198 W/m², against 820 W/m² on the clearest day.

This is a typical meteorological year (TMY) file, not a measured year. Both days carry a 1989 date in the file. A TMY joins months from different years. So the days show typical weather, not a record. The cloudiest day’s GHI was 44% of the model’s clear-sky total. See TMY and NSRDB.

How does transposition to the module plane work?

Transposition turns horizontal data into plane-of-array irradiance. It adds three parts: beam, sky diffuse and ground reflected. The beam part is exact geometry. The sky part needs a model.

  1. Find the sun’s zenith and azimuth for the time and site.
  2. Find the angle of incidence (AOI) between the sun and the panel normal: cos(AOI) = cos(tilt) cos(zenith) + sin(tilt) sin(zenith) cos(sun azimuth - panel azimuth).
  3. Beam = DNI × cos(AOI), set to zero if cos(AOI) is negative.
  4. Sky diffuse (isotropic model) = DHI × (1 + cos(tilt)) / 2.
  5. Ground reflected = GHI × albedo × (1 - cos(tilt)) / 2.
  6. POA = beam + sky diffuse + ground reflected.

Steps 4 and 5 use the formulas in pvlib’s functions. Our worked example uses the isotropic model, which treats the sky as one uniform source. It ignores the brighter sky near the sun. Models such as Hay and Perez include it.

QuantityValue
Site, timePhoenix, 21 December, solar noon (clear sky, Ineichen-Perez)
Zenith, sun azimuth56.9°, 180.1°
GHI, DNI, DHI (W/m²)560.8, 916.8, 59.7
Panel: tilt, azimuth, albedo30°, 180° (south), 0.20
AOI, cos(AOI)26.9°, 0.892
Beam (W/m²)817.8
Sky diffuse (W/m²)55.7
Ground reflected (W/m²)7.5
POA total (W/m²)881.0
POA divided by GHI1.57

Our code gave the same POA as pvlib’s isotropic function. A north-facing plane gave beam 50.2 W/m². A flat plane gave POA equal to GHI, as it should. With pvlib’s Perez model on the same inputs, POA was 906.8 W/m², 2.9% higher at this one instant. For yearly differences between Hay and Perez, see PVsyst below. For choosing the angle itself, see tilt angle.

Calculator: components and plane-of-array irradiance

Enter any two of GHI, DNI and DHI with the zenith angle. Then add tilt, azimuths and albedo. The presets give the worked example and the London and Sydney values.

Open the calculator on its own page

How solar software handles solar irradiance

PVsyst and DNV SolarFarmer name Hay or Perez, and pvlib offers seven sky diffuse models, while the Aurora help page names no model. The rows below use company pages checked in October 2026. "Not stated" means the page we cite does not say.

SoftwareTransposes to the module plane?How / whereNotes
PVsystYesHay or Perez, chosen by the user. Perez is the default from version 6. Transposition factor = GlobInc / GlobHor.Help says Perez typically gives yearly values 0% to 2% above Hay. PVsyst help, October 2026.
DNV SolarFarmerYesTransposes horizontal diffuse with Hay or Perez, then adds beam and an albedo-based ground part. Beam is zero when zenith exceeds 88°.The page describes Hay and Perez. Calculation reference v1.1, October 2026.
pvlib pythonYesSeven sky diffuse models, isotropic by default. Clear-sky models include Ineichen and Perez and Simplified Solis. Albedo default 0.25.Open-source library, not a design tool. pvlib documentation, October 2026.
Aurora SolarNot statedHelp defines irradiance and says Aurora measures it in kWh/m²/yr.It names no transposition model and does not mention POA. Aurora help, checked October 2026.

Common mistakes with solar irradiance

FAQs

What is a typical solar irradiance value?

Clear-sky noon GHI in our six test cases ran from 202 W/m² (London, December) to 1,076 W/m² (Sydney, December). Your site and date set the real value.

What is the difference between irradiance and irradiation?

Irradiance is power per area (W/m²) at one moment. Irradiation is energy per area (kWh/m²) over time. 1,000 W/m² for one hour is 1 kWh/m².

Which irradiance should I use for a tilted array?

POA is the right input, because it is what the panels receive. Simulators work it out from horizontal data and a transposition model. On site, a sensor in the array plane reads it directly.

Can clear-sky irradiance predict annual yield?

No. It describes a cloudless sky. Yield needs a typical year or a time series, which includes cloud. Clear-sky values suit data checks and short sizing checks.

How is irradiance measured on site?

A pyranometer measures global irradiance in W/m². Level, it reads GHI. Tilted into the array plane, it reads POA (details in the pyranometer section).

  • Weather and solar resource data: the files that supply irradiance to a simulation.
  • Irradiation and insolation: irradiance summed over time, in kWh/m².
  • Energy yield simulation: turns plane-of-array irradiance into kWh.
  • Air mass and solar spectrum: how far sunlight travels through air and what light reaches the cell.

Next step: enter your own tilt and zenith in the calculator above, then compare how the best solar simulation software turns that plane irradiance into yield.

Sources

Data and code: pvlib 0.16.1, bundled Greensboro TMY3 file, analysis script. Last updated 30 October 2026. Next scheduled review: 30 January 2027.

See the software on your shortlist.

Tell the SolarSoftwares team what you want in your solar software.

Your request goes by email to the SolarSoftwares team. A demo time is set only after we reply.