Key takeaways
- Beam light on a plane is DNI × cos(AOI), where AOI is the angle of incidence.
- In this example’s 40°N example, a single-axis tracker keeps cos AOI at 0.95 or higher from 07:00 to 17:00 on 21 June. A fixed 30° plane falls to 0.30.
- The tracker collects 11.3 against 6.2 kWh/m² of beam on 21 June. On 21 December it collects 4.4 against 4.6.
- Deriving DNI as (GHI − DHI) ÷ cos(zenith) magnifies errors. An example 5 W/m² error becomes 10.0 W/m² at zenith 60° and 28.8 W/m² at 80°.
Trackers and CSP depend on DNI. Compare tools in the best solar simulation software, or screen sites in the best solar site selection software.
DNI at a glance
DNI is the beam part of sunlight, taken on a surface that faces the sun.
| Item | Detail |
|---|---|
| Formula | Beam on a plane = DNI × cos(AOI). Derived DNI = (GHI − DHI) ÷ cos(zenith). |
| Unit and range | W/m². In our clear-sky run, ground values run from 0 to roughly 1,000. Above the atmosphere, the solar constant is about 1,361 W/m² (Hukx). |
| Where it matters | CSP, CPV, trackers, weather-file checks and site selection. |
| Standard or rule | No single rule. Companies cite ISO 9060:2018 Class A for pyrheliometers and the WMO 2.5° half-angle. |
| In software | Simulators read it from the weather file. pvlib can estimate it from GHI. |
Why DNI matters for installers
For ordinary fixed rooftop PV, your software reads DNI from the weather file. You rarely type it in. It matters when the plane follows the sun, when optics need the beam, or when you need to check a file.
Trackers raise the share of beam light on the module, so a DNI error hits them harder. Utility designers also screen sites with DNI data. See the best solar site selection software. See weather and solar resource data.
What is DNI, and how does it differ from GHI and DHI?
DNI is measured facing the sun. GHI is all sunlight on a flat horizontal surface. DHI is the sky part of that light, with the beam left out.
The GHI page gives the equation that ties the three together. Sandia’s PVPMC page says direct irradiance is generally measured with a 5° field of view. Hukx says modern pyrheliometers follow the WMO convention of a 2.5° half-angle. Kipp and Zonen lists 5 ± 0.2° for its CHP1. So measured DNI includes some circumsolar light, the bright sky ring around the sun. Units and the transposition formula are on the solar irradiance page.
Which technologies depend on DNI?
Concentrating optics capture only the direct beam, so they depend on DNI. Flat-plate PV also uses sky light. These groups use DNI directly.
- CSP. An NREL (renamed NLR in December 2025) preprint (January 2019) calls DNI "the essential resource information for CSP applications".
- CPV. HOMER Pro’s help says it uses DNI to calculate concentrating PV output. Solargis names CSP and CPV as technologies that rely on DNI (knowledge base, 11 September 2026).
- Trackers. In our example below, a tracker plane gets 90% of its June light as beam, against 82% for the fixed plane (example diffuse level). See solar tracker and single-axis tracker.
- Fixed flat-plate PV. The PVWatts manual (September 2014) says the tool needs hourly beam and diffuse data for a year.
How does DNI become beam light on a tilted or tracking plane?
Multiply DNI by cos(AOI), where AOI is the angle between the sun’s rays and the module’s normal. Use zero when the sun is behind the plane or below the horizon. NREL’s PVWatts manual says the beam part "is simply the beam normal input multiplied by the cosine of the angle of incidence".
- Find the sun’s direction for the time and site.
- Find AOI. For a fixed plane, use the formula on the solar irradiance page. For a horizontal north-south tracker with no rotation limit, cos AOI = √(1 − N²). Here N is the northward part of the sun’s unit vector.
- With a rotation limit, the tracker stops at the limit. Past it, cos AOI = √(E² + U²) × cos(ideal angle − limit). E is the eastward part and U the upward part.
- Beam on the plane = DNI × cos AOI. Add sky and ground light separately.
We compared our geometry with pvlib 0.16.1 on the same inputs. Where zenith is below 85°, cos AOI differed by at most 0.0022. Daily totals differed by 0.12% or less.
Figure 1. With an example constant DNI of 800 W/m², a tracker holds beam near 800 W/m² all day in June. In December it falls below the fixed plane at midday.
Worked example: fixed tilt against a single-axis tracker
Take an example site at 40°N with a constant DNI of 800 W/m² whenever the sun is up. The fixed plane tilts 30° and faces south. The tracker has a horizontal north-south axis, true tracking and a 60° limit. We use solar time, with no refraction or horizon.
Table 1. Daily beam on the plane (example DNI, geometry only). The tracker wins in June and March and loses slightly in December. Percentages use unrounded totals. In December those are 4.638 and 4.424 kWh/m², which give −4.6%, so the rounded columns alone give a slightly different figure.
| Day | Sun up (h) | Fixed (kWh/m²) | Tracker (kWh/m²) | Tracker over fixed |
|---|---|---|---|---|
| 21 June | 14.8 | 6.20 | 11.30 | +82.2% |
| 20 March | 11.9 | 5.99 | 8.20 | +36.8% |
| 21 December | 9.2 | 4.64 | 4.42 | −4.6% |
Table 2. cos AOI at five solar times (same inputs).
| Solar time | June fixed | June tracker | December fixed | December tracker |
|---|---|---|---|---|
| 07:00 | 0.303 | 0.986 | sun down | sun down |
| 09:00 | 0.708 | 0.994 | 0.570 | 0.682 |
| 12:00 | 0.973 | 0.959 | 0.834 | 0.447 |
| 15:00 | 0.708 | 0.994 | 0.570 | 0.682 |
| 17:00 | 0.303 | 0.986 | sun down | sun down |
The June gain is far above modelled yearly gains. Constant DNI overstates low-sun light, and the solstice is the best day. The single-axis tracker page gives modelled typical-year gains. In December the tracker lies flat at midday under a low sun, so cos AOI is only 0.447.
Now cut DNI by 10%, from 800 to 720 W/m². Add an example constant DHI of 100 W/m², an isotropic sky and no ground light. On 21 June the daily plane total falls 8.2% for the fixed plane and 9.0% for the tracker. Beam supplies 81.7% and 90.0% of the two totals. On 21 December the falls are 8.4% and 8.5%.
Calculator: beam on the plane and derived DNI
Part A reproduces Tables 1 and 2 for your own latitude, date, tilt and limit. Part B works out DNI from GHI, DHI and zenith. All defaults are example.
How is DNI measured: pyrheliometer or derived?
A pyrheliometer measures DNI directly. Hukx says it "must be mounted on a solar tracker". Without one, you calculate DNI from other measurements or estimate it from GHI or satellite data.
Table 3. Three routes to a DNI number.
| Route | What happens |
|---|---|
| Pyrheliometer on a two-axis tracker | A thermopile sensor with a narrow field of view reads DNI directly. |
| Component sum from GHI and DHI | Measure GHI and DHI, then divide (GHI − DHI) by cos(zenith). |
| Estimate from GHI or satellite | A model splits GHI into beam and diffuse. |
- Pyrheliometer: Kipp and Zonen CHP1: Class A, 5 ± 0.2° field of view, 5 s response. Hukx DR20-A1: ISO 9060:2018 Class A, 4 s, calibration uncertainty under 1.2% (k = 2). EKO MS-57: ISO 9060:2018 Class A, under 0.2 s.
- Component sum: rearranged from the closure relation (Hukseflux equation 1). BSRN says diffuse measurements should use a pyranometer with a solar tracker and a shading ball.
- Estimate: pvlib’s DISC model uses empirical relations between global and direct clearness indices. Solargis says satellite models mainly give GHI, which must be split into direct and diffuse parts. It names the Perez model as widely used for this.
The Baseline Surface Radiation Network (BSRN, status 1 April 2017) lists direct radiation as obligatory. It asks for one-minute averages. It calls "2 W/m² or 3%" for direct normal highly desirable, not mandatory. The Kipp and Zonen page lists "Class A" in its table and says the CHP1 meets criteria for a "First Class" pyrheliometer. ISO 9060 itself is not quoted here.
The component sum has a weak point. Dividing by cos(zenith) magnifies any error in GHI minus DHI.
Take an example 5 W/m² error in GHI minus DHI. It becomes 5.8 W/m² of DNI at zenith 30°, 10.0 at 60°, 28.8 at 80° and 57.4 at 85°. Calculator Part B shows this.
Which datasets give DNI, and what is clear-sky DNI?
Satellite products give modelled DNI. Ground stations give measured DNI. Clear-sky DNI is a model output for a cloudless sky, not a forecast or a record.
- NSRDB. NREL’s 2019 preprint says it provides gridded DNI, GHI and DHI at 4 km and half-hourly steps. That is an older PSM version, and newer releases are finer. See NSRDB.
- Solargis. Its knowledge base says satellite models mainly give GHI, which a model then splits into direct and diffuse parts.
- PVGIS and Meteonorm. See PVGIS and Meteonorm for coverage and versions. Check a product’s output list for a DNI column before you rely on it.
pvlib’s Ineichen and Perez clear-sky model takes Linke turbidity, a haze measure. Table 4 varies it over values we chose.
More haze cuts DNI much more than GHI.
Table 4. Clear-sky model output (pvlib 0.16.1, sea level, W/m²).
| Zenith and output | Turbidity 2 | 3 | 4 | 5 (change, 2 to 5) |
|---|---|---|---|---|
| 30°, DNI | 1,002.4 | 916.5 | 826.0 | 744.6 (−25.7%) |
| 30°, GHI | 937.7 | 896.8 | 857.6 | 820.1 (−12.5%) |
| 60°, DNI | 939.3 | 787.8 | 658.4 | 550.2 (−41.4%) |
| 60°, GHI | 507.3 | 469.6 | 434.7 | 402.4 (−20.7%) |
DNI reacts to haze about twice as strongly as GHI in this run. The model’s DHI rises as DNI falls, from 69.6 to 175.3 W/m² at zenith 30°. So GHI loses less. Use clear-sky values for data checks and a typical year (TMY) for yield.
How solar software handles DNI
Of the five pages we read in October 2026, only pvlib python and HOMER Pro document DNI use directly.
| Software | Documented DNI use | Source and date |
|---|---|---|
| pvlib python | Yes | pvlib 0.16.1 documentation. |
| HOMER Pro | Yes | HOMER Pro help page "Direct Normal Irradiance (DNI)", undated. |
| SAM | Not stated | Webinar slides, 13 September 2018. |
| Solargis Prospect | Not stated | Solargis knowledge base, updated 11 September 2026. |
| PVsyst | Not stated | PVsyst help, transposition model page, undated. |
Not stated: the page we cite does not say.
- pvlib python: disc and dirint estimate DNI from GHI. ineichen returns clear-sky GHI, DNI and DHI. complete_irradiance applies the component sum. It is an open-source library, not a design tool.
- HOMER Pro: help says it uses DNI to calculate concentrating PV output.
- SAM: NREL slides (not SAM help) list DNI as a weather element needed by PV and CSP models. They say the weather file processor can calculate DNI and GHI for PV.
- Solargis Prospect: the knowledge base names CSP and CPV as DNI users and says satellite GHI is split into direct and diffuse parts. It does not state DNI use for Prospect.
- PVsyst: the transposition page names the beam component and a cosine effect. It does not name DNI.
Tools that read weather files and model beam light are ranked in the best solar simulation software list.
Common mistakes with DNI
FAQs
Is DNI the same as GHI?
No. DNI is measured facing the sun, while GHI is measured on a flat horizontal surface and includes sky light. The GHI page gives the equation that ties DNI, GHI and DHI together.
Why does a pyrheliometer need a tracker?
Its field of view is about 5°, so it must point at the sun all day. Hukx says some trackers add sun sensors and reach pointing accuracies better than 0.1°. A fixed instrument would soon lose the sun.
Can DNI be estimated without a pyrheliometer?
Yes. Software can derive it from GHI and DHI, or estimate it from GHI alone with a model such as DISC, or from satellite data. Derived DNI magnifies errors at low sun, so those estimates are weakest when the sun is low.
What is a typical DNI value?
In our clear-sky run, DNI was 1,002.4 W/m² at zenith 30° and 939.3 W/m² at 60° with turbidity 2, and it fell sharply as turbidity rose. Real values depend on the site, the sky and the sun’s height. For an annual site figure, read a weather dataset’s own DNI output.
Related terms
- GHI: all sunlight on a flat horizontal surface, and the closure equation.
- Solar irradiance: the components, units and the transposition formula.
- Pyranometer: the sensor that reads GHI, or plane-of-array light when tilted.
Next step: compare your weather file’s DNI with a clear-sky run like Table 4, then pick a tool from the best solar simulation software list.
Sources
- Hukx, what is a pyrheliometer (checked October 2026).
- Hukx, DR20-A1 pyrheliometer (checked October 2026).
- Kipp and Zonen, CHP1 pyrheliometer (checked October 2026).
- EKO, MS-57 pyrheliometer (checked October 2026).
- Sandia PVPMC, irradiance and insolation (updated 9 November 2022 per page metadata, checked October 2026).
- BSRN station requirements overview (status 1 April 2017, checked October 2026).
- NREL preprint, The NSRDB for CSP Applications (January 2019, checked October 2026).
- NREL, PVWatts Version 5 Manual, NREL/TP-6A20-62641 (September 2014, archived copy, checked October 2026).
- NREL, SAM solar resource data webinar slides (13 September 2018, checked October 2026).
- Solargis knowledge base, solar irradiance components (11 September 2026, checked October 2026).
- HOMER Pro help, direct normal irradiance (checked October 2026).
- PVsyst help, transposition model (checked October 2026).
- pvlib 0.16.1 documentation: disc, dirint, ineichen, complete_irradiance, aoi and tracking.singleaxis (checked October 2026).
Last updated 30 October 2026. Next scheduled review: 30 January 2027.