All tools Print with PE stamp box Designed for sealed engineering submittals — print drops PE stamp + signature block at the end.

Sun Path, Sun Position & Solar Irradiance Calculator

Where the Sun is, and how much power it delivers, for any place on Earth at any date and time. Sun elevation, azimuth and the full sun path come from NREL's Solar Position Algorithm (±0.0003°). Clear-sky irradiance in W/m² comes from the Bird model, and panel irradiance from the Perez sky model, for fixed, single-axis-tracking and dual-axis mounts. Scrub the day or the year and watch the Sun, the shadow and the panel move.

Sky viewdrag to orbit · see the panel face from the sunny side
Sun path diagram
Elevation
—
Azimuth
—
GHI (clear sky)
—
DNI (clear sky)
—
On your panel
—
Module output
—
Time of day
—
Day of year —

Location & time

Click the map to set location · shaded = night now
° (+N, −S)
° (+E, −W)
m above sea level
local
local clock

Atmosphere

cloud-free
reflectance
°C (refraction, cell temp)
Advanced atmosphere & time scale
mbar (auto from elevation)
AOD
AOD
cm
atm-cm
W/m² (Kopp & Lean 2011)
s (blank = auto)

Solar panel

° from horizontal
° (180 = south)
° ± from flat
GCR
% at STC
m² (≈ — W STC)

Sun position

—
—
—
—
—
—
—
—
—
—
—
—

Sun times

—
—
—
—
—
—
—
—
—
—
—
—

Irradiance now (clear sky)

—
—
—
—
—
—
—
—
—

Today (clear sky)

—
—
—
—
—
—
—
—
—

Clear sky means cloud-free: these are the most a site can expect on a given day, not an average. For weather-based yield use measured or satellite data (NREL NSRDB, PVWatts). Azimuth is clockwise from true north. Twilight and golden-hour limits use the Sun's true (unrefracted) elevation: rise/set −0.833°, civil −6°, nautical −12°, astronomical −18°, golden hour −4° to +6°, blue hour −6° to −4°.

Shadows & row spacing

m
—length · bearing
m, up the tilt
—9:00–15:00 solar, winter solstice

Row pitch keeps a fixed-tilt row unshaded from 9:00 to 15:00 solar time on the winter solstice (Dec 21 north of the equator, Jun 21 south of it): gap = H·cos(A − γ)/tan h with H = L·sin β, then pitch = L·cos β + gap. The ground coverage ratio is L / pitch.

Topocentric sun position (NREL SPA, after parallax), elevation and azimuth:
$$ \sin e_0 = \sin\phi\,\sin\delta' + \cos\phi\,\cos\delta'\cos H' \qquad \Gamma = \operatorname{atan2}\!\left(\sin H',\; \cos H'\sin\phi - \tan\delta'\cos\phi\right),\; A = \Gamma + 180^\circ $$
Refraction (applied when the Sun is near or above the horizon):
$$ \Delta e = \frac{P}{1010}\,\frac{283}{273+T}\,\frac{1.02}{60\,\tan\!\left(e_0 + \frac{10.3}{e_0+5.11}\right)} $$
Top-of-atmosphere irradiance and air mass (Kasten & Young 1989):
$$ E_0 = \frac{S_0}{R^2} \qquad m = \frac{1}{\cos z + 0.50572\,(96.07995^\circ - z)^{-1.6364}} $$
Irradiance on a tilted plane:
$$ G_{POA} = \mathrm{DNI}\cos\theta + \mathrm{DHI}\left[\tfrac{1}{2}(1-F_1)(1+\cos\beta) + F_1\frac{a}{b} + F_2\sin\beta\right] + \mathrm{GHI}\,\rho\,\frac{1-\cos\beta}{2} $$
$$ \cos\theta = \cos z\cos\beta + \sin z\sin\beta\cos(A-\gamma) $$
φ latitude · δ′, H′ topocentric declination and hour angle · e₀ true elevation · A azimuth from north · z apparent zenith · P, T pressure (mbar), temperature (°C) · S₀ solar constant (1361 W/m²) · R Earth–Sun distance (AU) · β, γ panel tilt and azimuth · θ angle of incidence · F₁, F₂ Perez circumsolar and horizon-brightening coefficients · a, b max(0, cos θ), max(cos 85°, cos z) · ρ ground albedo. Clear-sky DNI/GHI/DHI: Bird & Hulstrom (1981).

Irradiance through the day

Clear-sky W/m² on the selected date. Hover to read values; click to set the time.

The whole year at a glance

Clear-sky irradiance on your panel for every day and half-hour of the year. Dashed lines are sunrise and sunset; the ring is the selected instant. Hover to read; click to jump there.

Fixed vs tracking, month by month

Average clear-sky daily insolation on the panel, kWh/m²/day. Fixed uses your tilt and azimuth; trackers use the settings above.

Table view

Accuracy check running…

Computed live in your browser by the same code that drives this page, against published reference values.

How the Sun's position is computed

This calculator runs the full NREL Solar Position Algorithm (SPA; Reda & Andreas, 2004): VSOP87 series for the Earth's heliocentric longitude, latitude and radius, 63-term nutation, aberration, apparent sidereal time, and a topocentric parallax correction for your latitude and elevation. NREL states its uncertainty as ±0.0003° from the year −2000 to 6000. The code follows pvlib-python's SPA step by step. Checked against pvlib on 1,500 random locations and instants between 1990 and 2060, zenith, azimuth and equation of time agree to better than 10⁻⁹°. The "Accuracy check" panel above reruns NREL's own published test case in your browser.

Two corrections matter more than the ephemeris:

Sunrise, sunset and twilight are found by bracketing the elevation crossing on 5-minute samples and bisecting to under 0.5 s, not by the SPA interpolation shortcut. At high latitudes, where the Sun meets the horizon at a grazing angle, the shortcut can be off by more than two minutes (we measured up to 165 s against pvlib's implementation at 57–60°). The direct search agrees with the independent astronomy-engine library to within a few seconds at every latitude we tested up to 60°. It also handles midnight sun and polar night.

How much power does sunlight deliver?

Above the atmosphere the Sun delivers the total solar irradiance, 1,361 W/m² at 1 AU (Kopp & Lean, 2011). The Earth's orbit is slightly elliptical, so the page divides by R² from the SPA ephemeris: about 1,407 W/m² at perihelion in early January and 1,316 W/m² at aphelion in early July. On the way down, Rayleigh scattering, ozone, water vapour, mixed gases and aerosols each remove part of the beam. The Bird clear-sky model (Bird & Hulstrom, 1981) applies a transmittance for each and then adds back the forward-scattered part as diffuse sky light. Of the inputs, aerosol optical depth matters most. Moving from "very clean" to "hazy" cuts DNI by about a quarter with the Sun overhead, and more at low sun, while more than doubling diffuse light.

On a panel, the beam counts in proportion to the cosine of the angle of incidence. Sky light is not uniform: the sky is brighter around the Sun (circumsolar) and near the horizon. The Perez model captures both with coefficients fitted to measured data, and is widely used in PV modelling tools, including NREL's SAM and pvlib. Its F₁ and F₂ coefficients here are the "allsitescomposite1990" set. Ground-reflected light adds GHI × albedo × (1 − cos β)/2, which is why bifacial and steep panels over snow do well.

Module output is POA × area × efficiency, derated for cell temperature. The NOCT model gives Tcell = Tair + (NOCT − 20)·G/800 with NOCT = 45 °C, and the temperature coefficient is −0.35 %/°C, typical of crystalline silicon. It ignores inverter, wiring, soiling and mismatch losses; NREL's PVWatts assumes 14% for those by default.

Clear-sky reference values by latitude

Generated by this page's own engine: sea level, clean rural sky (AOD₅₀₀ = 0.10, 1.42 cm precipitable water), 20 °C, albedo 0.2, year 2026. Noon elevation is apparent (with refraction). Daily totals integrate 5-minute samples. Southern-hemisphere values mirror these with the seasons swapped.

LatitudeMar 20Jun 21Dec 21
Noon elev.Noon GHI, W/m²Day GHI, kWh/m²Noon elev.Noon GHI, W/m²Day GHI, kWh/m²Noon elev.Noon GHI, W/m²Day GHI, kWh/m²
0°N90.0°10827.9466.6°9456.9266.6°10087.38
10°N80.0°10647.8076.6°10087.7156.6°9076.34
20°N70.0°10107.3986.6°10388.2846.6°7765.13
30°N60.0°9226.7483.4°10328.6136.6°6203.83
40°N50.0°8045.8573.4°9928.7126.6°4452.49
50°N40.0°6594.7863.4°9198.6016.6°2601.24
60°N30.0°4943.5553.4°8158.356.7°780.25

Tracking, tilt and row spacing

A single-axis tracker rotates about a horizontal north–south axis to follow the Sun east to west. This page uses the Marion & Dobos (2013) rotation angle, limited to the max angle. With backtracking on, the tracker rotates back toward flat early and late in the day so rows do not shade each other (Anderson & Mikofski, 2020). The ground coverage ratio (module width ÷ row pitch) sets when that starts. A dual-axis tracker keeps the panel normal to the Sun, so it always sees full DNI; the clear-sky comparison above shows what that is worth month by month at your site. The Optimal button searches tilt from 0° to 90° for the highest clear-sky annual total at your panel azimuth. Use it as an upper bound: real cloud climatology shifts the optimum a few degrees flatter.

Worked example — noon sun and row spacing at 35.2°N

Given: Charlotte, NC (35.23°N, 80.84°W), fixed rows tilted β = 25°, facing south (γ = 180°), module slant length L = 2.0 m. Find the Dec 21 noon elevation and the row pitch that avoids shading 9:00–15:00 solar time.

Noon elevation: δ = −23.44° on Dec 21, so h = 90° − |35.23° − (−23.44°)| = 31.3° (the calculator adds ~0.03° of refraction).

At 9:00 solar time (hour angle −45°) the calculator gives h ≈ 17.5° and azimuth A ≈ 137.1°. Row height H = 2.0·sin 25° = 0.845 m. The gap is 0.845 · cos(137.1° − 180°) / tan 17.5° = 1.96 m. Pitch = 2.0·cos 25° + 1.96 = 3.77 m, so GCR = 2.0/3.77 = 0.53.

Check: set the page to Charlotte, 25° tilt, 2.0 m slant length. The "Unshaded row pitch" output shows the same number.

Using the sun path diagram

The polar diagram is the classic architect's and surveyor's sun chart, viewed from below the sky looking up. Zenith is at the centre, the horizon is the outer ring, and north is at the top with east on the right. The orange arcs are the June solstice, the equinox and the December solstice. The figure-eights are hour analemmas: where the Sun is at the same standard clock time through the year. Their width is the equation of time. Hold the diagram against a site photo or a horizon survey to see which hours an obstruction blocks in which months. The bold arc and dot are the selected day and instant.

References: Reda, I. & Andreas, A. (2004, rev. 2008). Solar Position Algorithm for Solar Radiation Applications. NREL/TP-560-34302. · Bird, R.E. & Hulstrom, R.L. (1981). A Simplified Clear Sky Model for Direct and Diffuse Insolation on Horizontal Surfaces. SERI/TR-642-761. · Perez, R., Ineichen, P., Seals, R., Michalsky, J. & Stewart, R. (1990). Modeling daylight availability and irradiance components from direct and global irradiance. Solar Energy 44(5), 271–289. · Kasten, F. & Young, A.T. (1989). Revised optical air mass tables and approximation formula. Applied Optics 28(22), 4735–4738. · Kopp, G. & Lean, J.L. (2011). A new, lower value of total solar irradiance. Geophys. Res. Lett. 38, L01706. · Marion, W.F. & Dobos, A.P. (2013). Rotation Angle for the Optimum Tracking of One-Axis Trackers. NREL/TP-6A20-58891. · Anderson, K. & Mikofski, M. (2020). Slope-Aware Backtracking for Single-Axis Trackers. NREL/TP-5K00-76626. · Espenak, F. & Meeus, J. (2006). Polynomial expressions for Delta T. NASA/TP-2006-214141. · Holmgren, W., Hansen, C. & Mikofski, M. (2018). pvlib python. JOSS 3(29), 884.

Related tools

Monthly engineering case studies

One real stormwater or hydraulics design problem per month, with the math worked out and the gotchas called out. No tutorials, no fluff.

Free. Unsubscribe anytime. Privacy.

Engineer of Record — Stamp & Signature
APPLY PE STAMP HERE
Engineer Name
License No.
State
Signature
Date
Project / Sheet
By stamping and signing, the Engineer of Record certifies that the inputs, formulas, and applicability of this calculation have been reviewed for the specific design context. PE-Calc tools provide computational support only — the engineer is responsible for verifying results, applying engineering judgment, and complying with applicable codes and standards.
Calculation generated at pe-calc.com