Key takeaways
- Sandia’s PVPMC gives GHI = DHI + DNI × cos(zenith). With invented inputs (DNI 700 W/m², DHI 100 W/m², zenith 50°), GHI is about 550 W/m².
- GHI is not what the panels receive. One example GHI of 550 W/m² gives 550 to 758 W/m² on a 30° plane. The range follows the diffuse share, from 90% down to 18%.
- Ground sensors measure GHI. Satellite models estimate it. NREL (renamed NLR in December 2025)’s developer page describes the NSRDB as satellite-derived GHI, DNI and DHI.
- A GHI-only file needs a decomposition model to split it. In our example case (day of year 355, clearness index 0.61), pvlib’s Erbs model gave a 43% diffuse share. That meant 687 W/m² on the plane.
To import GHI weather files and transpose them to the module plane, see the best solar simulation software. To screen sites on resource data, see the best solar site selection software.
GHI at a glance
GHI is the horizontal total that most weather files list first. Designers use it to check a file. Then they convert it to the panel plane.
| Item | Detail |
|---|---|
| Formula | GHI = DNI × cos(zenith) + DHI. Sandia’s PVPMC GHI page and pvlib’s complete_irradiance both use this relation. |
| Unit | W/m² (power per area). Summed over time it becomes kWh/m² (energy per area). |
| Where it matters | Weather files, site screening, simulation input and checks on sensor or satellite data. |
| In software | You import it as a weather-file column. The tool then transposes it to the module plane before it models the yield. |
Why GHI matters for installers
GHI is the first number to check in a resource file. It is not the number the array sees. Yield models need sunlight on the tilted plane. The gap between the two depends on the sky.
How do beam and sky light add up to GHI?
GHI = DNI × cos(zenith) + DHI. DNI is measured facing the sun, so the cosine projects it onto the horizontal. DHI is the sky light with the beam left out. Zenith is the angle from straight up, so 0° is overhead.
Sandia’s page adds that you can work out GHI from DNI and DHI if it is not measured. Some systems measure GHI. They then use a model such as DISC or DIRINT to estimate DNI or DHI. Our DNI and DHI pages cover those two parts. The solar irradiance and weather data pages test the identity on real files.
| Step (example inputs) | Value |
|---|---|
| DNI | 700 W/m² |
| DHI | 100 W/m² |
| Zenith, cos(zenith) | 50°, 0.6428 |
| Beam on the horizontal: 700 × 0.6428 | 450.0 W/m² |
| GHI: 450.0 + 100 | 550.0 W/m² |
| Energy if held for one hour | 0.55 kWh/m² |
A direct calculation and pvlib 0.16.1 gave the same GHI. Leaving out the cosine would give 800 W/m². That is about 45% too high.
Is GHI in W/m² or kWh/m²?
GHI is power per area, in W/m². Add it up over time. You get irradiation, in kWh/m². Sandia’s irradiance page puts it this way: "Irradiance is to power as insolation is to energy."
Daily and annual totals often carry the label "GHI", but they are energy. Check the unit before you compare two sources. Our irradiation and insolation page covers the totals.
Where does GHI data come from?
GHI comes from ground instruments, satellite models or other modelled data. Sandia says weather and irradiance data "are directly measured, derived from measured data, or simulated using a stochastic model".
| Source type | What the page says |
|---|---|
| Ground pyranometer | Sandia’s GHI page calls the pyranometer the most common instrument, with a "hemispherical (180°) view angle". A PV reference cell can also measure GHI. But it is spectrally sensitive and usually lacks a true cosine response. See pyranometer. |
| Satellite model | NREL’s developer page describes the NSRDB as "a serially complete collection of satellite-derived measurements of solar radiation", covering GHI, DNI and DHI. Its GOES Aggregated product uses PSM v4.0.0, with 4 km and 30-minute steps, from 1998 onwards. |
| NASA POWER | The POWER solar FAQ says it now uses "SRB v4 and CERES Syn1deg as radiation data sources". |
POWER’s FAQ names its all-sky horizontal parameter "All Sky Surface Shortwave Downward Irradiance" (version 2), earlier "All Sky Insolation Incident on a Horizontal Surface" (version 1).
A satellite value is an estimate, not a measurement. An NREL evaluation of the earlier 1998 to 2015 NSRDB (OSTI record 1351859) reports a systematic bias of about +5% for GHI in hourly averages (from the abstract). It also reports higher scatter at the hourly scale. The abstract does not name the reference data. The figure may not apply to the current PSM v4 product. PVGIS and Meteonorm also supply GHI. Our pages on them give their versions and periods.
Why transpose GHI to plane-of-array irradiance?
Panels are tilted and face a direction. They see the beam at an angle. They also see part of the sky and some ground light. Transposition turns horizontal data into plane-of-array (POA) sunlight. PVsyst’s help defines it as "the calculation of incident irradiance on a tilted plane from horizontal irradiance data".
PVsyst’s page calls the beam step "a purely geometrical transformation (cosine effect)". It says the diffuse part "is rarely measured and is usually evaluated using a diffuse irradiance model". That is why GHI alone is not enough.
Figure 1. One example GHI of 550 W/m² gives 550 to 758 W/m² on a 30° plane as the diffuse share falls from 90% to 18% (isotropic model, one instant).
How to go from GHI to POA
Our solar irradiance page gives the step-by-step procedure. This page tests it on one GHI. It uses the isotropic sky model. That model treats the sky as one even source. It ignores the brighter sky near the sun. See albedo and tilt angle for the other inputs.
Worked example: one GHI, four sky splits
All inputs are example: GHI 550 W/m², zenith 50°, albedo 0.20. The plane is tilted 30° and faces the sun’s azimuth (solar noon, northern hemisphere). The result is one instant, not a year. More beam in the sky means more POA for the same GHI.
| Sky split (DHI share) | DNI and beam on plane | Sky diffuse and ground | POA (POA / GHI) |
|---|---|---|---|
| Beam-rich (18%) | 700.0 and 657.8 | 93.3 and 7.4 | 758.5 (1.38) |
| Erbs estimate (43%) | 490.2 and 460.6 | 219.2 and 7.4 | 687.1 (1.25) |
| Mixed (50%) | 427.8 and 402.0 | 256.6 and 7.4 | 665.9 (1.21) |
| Diffuse-heavy (90%) | 85.6 and 80.4 | 461.8 and 7.4 | 549.6 (1.00) |
Irradiance values are W/m². The beam-rich row is the closure example above. The Erbs row is a model estimate from pvlib 0.16.1. It uses an example day of year (355) and a clearness index of 0.61. Without the DNI and DHI split, a designer must trust a model. The two ends of the table differ by 209 W/m² on the plane.
Calculator: GHI and plane-of-array sunlight
Start from DNI and DHI, or from GHI and a diffuse fraction. The presets reproduce the tables above. All preset values are example.
How solar software handles GHI
The tools disagree on units: pvlib and HelioScope use W/m², HOMER Pro uses kWh/m² or kW/m², and PV*SOL uses Wh/m². PVsyst does not name GHI on the page read. The rows rest on the pages named. None of those pages shows a date unless stated.
| Software | Names GHI on the page read? | Page read |
|---|---|---|
| pvlib python | Yes | pvlib documentation, "latest" (0.16.2.dev), October 2026 |
| HelioScope | Yes | Error Parsing Weather File. Hourly Production Report CSV (no dates shown) |
| HOMER Pro | Yes | HOMER Pro 3.16 manual, Solar GHI Resource page (no date) |
| PV*SOL premium | Partly | PV*SOL help, MeteoSyn page (no date, footer 2026) |
| PVsyst | Not stated | PVsyst help, transposition model page (no date) |
Not stated: the page read does not name GHI, which does not mean the tool lacks it. Partly: the page lists a global horizontal value but never says GHI. What each page says:
- pvlib python: Functions take ghi, dni and dhi in W m⁻². get_total_irradiance defaults to the isotropic sky model. A decomposition page lists erbs, disc, dirint and boland, which estimate DNI from GHI (erbs and boland also estimate DHI).
- HelioScope: A weather file must carry GHI (column E) and DHI (column K). DNI (column H) is optional, with cells set to 0, and "not required to run a simulation". The hourly CSV has global_horizontal_irradiance and POA direct, diffuse and reflected columns in W/m².
- HOMER Pro: Baseline data is "average global solar radiation on the horizontal surface" in kWh/m². Imported files hold kW/m² per time step, from 1 to 60 minutes. GHI is used "to calculate flat panel PV array output".
- PV*SOL premium: The climate-file format lists "Gh", global radiation horizontal in Wh/m². Measured data entry asks for monthly global radiation. The page never says "GHI" and does not describe a plane-of-array output.
- PVsyst: The transposition page works from "horizontal irradiance data" and never names GlobHor or GHI.
Units differ by tool: Wh/m², kWh/m² and kW/m² all appear above. Convert before you import. These are yield simulators that take a weather file: compare them in the best solar simulation software list. To screen sites on resource data, see the best solar site selection software.
Common mistakes with GHI
FAQs
Is GHI the same as solar irradiance?
GHI is one type of solar irradiance: the sunlight power per area on a flat, level surface. Solar irradiance is the general term for that quantity on any surface. See solar irradiance.
Can I size a tilted array from GHI alone?
Only with a decomposition model, and the answer is an estimate. In our example case the Erbs model gave 687 W/m² on the plane. Two other splits gave 758 and 666 W/m². A file with DNI and DHI removes that guess.
What is the difference between GHI and POA or GTI?
What does GHI stand for?
GHI stands for global horizontal irradiance: the beam and sky light together, as power per area on a flat, level surface, in W/m². Weather files list it hour by hour, often beside DNI and DHI.
Related terms
- DNI and DHI: the beam and sky parts that add up to GHI.
- POA: total sunlight on the tilted module plane.
- Solar irradiance: the general term, with the full GHI-to-POA procedure.
Next step: try a GHI weather file in a tool from the best solar simulation software and compare its plane-of-array result with our hand check.
Sources
- Sandia PVPMC, Global Horizontal Irradiance (page metadata lists 15 February 2024, checked October 2026).
- Sandia PVPMC, Irradiance and Insolation (metadata 9 November 2022, checked October 2026).
- Sandia PVPMC, Weather Data Sources (metadata 26 July 2023, checked October 2026).
- Sandia PVPMC, Direct Normal Irradiance (metadata 26 October 2022, checked October 2026).
- NREL developer network, NSRDB (no date shown) and OSTI record 1351859, Evaluation of the NSRDB 1998-2015 (no date shown), checked October 2026.
- NASA POWER solar FAQ (no date shown, checked October 2026).
- pvlib documentation, "latest": complete_irradiance, get_total_irradiance, decomposition models and erbs (checked October 2026). Numbers were run on the installed pvlib 0.16.1.
- PVsyst help, transposition model (no date shown, checked October 2026).
- HelioScope help: Error Parsing Weather File and Hourly Production Report CSV (no dates shown, checked October 2026).
- HOMER Pro 3.16 manual: Solar GHI Resource (no dates shown, checked October 2026).
- PV*SOL help, MeteoSyn (no date shown, footer 2026, checked October 2026).
Worked numbers use example inputs. Last updated 30 October 2026. Next scheduled review: 30 January 2027.