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.
Location & time
Atmosphere
Advanced atmosphere & time scale
Solar panel
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
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.
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:
- Refraction lifts the Sun by about 0.57° at the horizon, so you see the Sun roughly 2–3 minutes before it geometrically rises. SPA scales the correction with pressure and temperature (entered above; pressure defaults to the standard atmosphere at your elevation). Real refraction near the horizon varies with the weather by a tenth of a degree or more, which is why published sunrise times are rounded to the minute.
- ΔT (Terrestrial Time minus Universal Time) is the Earth's accumulated rotation lag. Since the last leap second (end of 2016), ΔT = 32.184 s + 37 s − (UT1 − UTC). The IERS keeps |UT1 − UTC| below 0.9 s, so the page uses 69.1 s, good to about ±1 s. Earlier dates use the Espenak & Meeus (2006) polynomials. You can override it under "Advanced".
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.
| Latitude | Mar 20 | Jun 21 | Dec 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°N | 90.0° | 1082 | 7.94 | 66.6° | 945 | 6.92 | 66.6° | 1008 | 7.38 |
| 10°N | 80.0° | 1064 | 7.80 | 76.6° | 1008 | 7.71 | 56.6° | 907 | 6.34 |
| 20°N | 70.0° | 1010 | 7.39 | 86.6° | 1038 | 8.28 | 46.6° | 776 | 5.13 |
| 30°N | 60.0° | 922 | 6.74 | 83.4° | 1032 | 8.61 | 36.6° | 620 | 3.83 |
| 40°N | 50.0° | 804 | 5.85 | 73.4° | 992 | 8.71 | 26.6° | 445 | 2.49 |
| 50°N | 40.0° | 659 | 4.78 | 63.4° | 919 | 8.60 | 16.6° | 260 | 1.24 |
| 60°N | 30.0° | 494 | 3.55 | 53.4° | 815 | 8.35 | 6.7° | 78 | 0.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
- Eclipse sun position — sun altitude/azimuth plus a local eclipse check
- Eclipse Predictor — every solar eclipse from 1900 to 2200 on a 3D globe
- Voltage drop — size PV string and feeder conductors
- Psychrometric calculator — air properties for solar-gain HVAC loads
- Three-phase power — kW, kVA and amps for the inverter side