Solar Radiation Calculator
Estimate top-of-atmosphere solar irradiance at solar noon for a given latitude, day of year, and solar declination. Returns watts per square metre on a horizontal surface, before atmospheric attenuation.
Last updated: May 2026
Compare with similar
About this calculator
The formula is I = S₀ × (1 + 0.033 × cos(2π × dayOfYear / 365)) × cos(latitude) × cos(declination), where S₀ = 1367 W/m² is the solar constant (average solar flux at 1 AU), the (1 + 0.033 × cos(...)) factor corrects for Earth's elliptical orbit (Earth is ~3.3% closer at perihelion in early January, increasing flux by 6.7% at the surface), and the two cosine factors approximate the projection of incoming radiation onto a horizontal surface at solar noon. The cosines are computed with angles converted from degrees to radians. Declination is the angle of the sun above the equatorial plane: 0° at equinoxes, +23.45° at June solstice, −23.45° at December solstice; day of year 172 is around June 21. Edge cases: this is a strict approximation. The correct solar zenith angle at noon is |latitude − declination|, not the product of separate cosines; cos(|lat − dec|) = cos(lat)cos(dec) + sin(lat)sin(dec). The calculator's formula omits the sin(lat)sin(dec) term, making it accurate near the equator (where sin(lat) ≈ 0) or at equinoxes (where sin(dec) = 0) but increasingly wrong elsewhere — at mid-latitudes in summer it under-estimates by 20–40%. It also gives only instantaneous noon irradiance at the top of the atmosphere, not daily or annual integrals, and does not account for atmospheric absorption, scattering, or cloudiness, all of which reduce surface irradiance by 25–80%.
How to use
Example 1 — equator at equinox. Latitude 0°, dayOfYear 80 (around March 21), declination 0°. Step 1: orbital factor = 1 + 0.033 × cos(2π × 80/365) = 1 + 0.033 × cos(1.378) ≈ 1 + 0.033 × 0.192 ≈ 1.006. Step 2: cos(0°) = 1.0 for both latitude and declination. Step 3: I = 1367 × 1.006 × 1 × 1 ≈ 1,375 W/m². Verify: top-of-atmosphere noon irradiance at the equator at equinox is about 1,365–1,380 W/m² (the solar constant slightly adjusted for orbital position) — matches the result ✓. Example 2 — mid-latitude summer noon. Latitude 40.7° (New York), dayOfYear 172 (June 21), declination 23.45° (June solstice). Step 1: orbital factor = 1 + 0.033 × cos(2π × 172/365) = 1 + 0.033 × cos(2.96) ≈ 1 + 0.033 × (−0.984) ≈ 0.968. Step 2: cos(40.7°) ≈ 0.758. Step 3: cos(23.45°) ≈ 0.917. Step 4: I = 1367 × 0.968 × 0.758 × 0.917 ≈ 920 W/m². Verify: the true top-of-atmosphere noon flux at New York on June 21 is closer to 1,300 W/m² (computed with the correct cos(lat − dec) formula); this calculator's result of ~920 is under-estimated by ~30% because the formula omits the sin(lat)·sin(dec) cross-term, which would add roughly 0.652 × 0.398 = 0.259 to the cosine factor ✓. The discrepancy highlights the formula's inaccuracy away from equinox/equator.
Frequently asked questions
What does this calculator actually compute, and how is it different from real solar irradiance?
The calculator returns an instantaneous top-of-atmosphere solar flux on a horizontal surface, at solar noon, using a simplified approximation that omits the sin(latitude) × sin(declination) cross-term of the true zenith-angle formula. The accurate formula is I = S₀ × E × cos(θ_z) where cos(θ_z) = sin(lat)·sin(dec) + cos(lat)·cos(dec)·cos(hour angle); at solar noon the hour angle is zero, so cos(θ_z) = cos(|lat − dec|) = sin(lat)·sin(dec) + cos(lat)·cos(dec). The calculator's cos(lat) × cos(dec) is only the second term and is correct only when one of the angles is zero (equator OR equinox). For mid-latitudes far from equinox, errors of 20–40% are common, generally under-estimating in summer and over-estimating in winter. Surface irradiance is even lower because the atmosphere absorbs and scatters incoming radiation — at sea level on a clear day, surface direct normal irradiance peaks around 1,000 W/m² regardless of top-of-atmosphere values.
How is solar declination computed and how does it change through the year?
Declination is the angle between the sun's rays and Earth's equatorial plane, varying with the seasons because Earth's axis is tilted 23.45° from the orbital plane. It is +23.45° at June solstice (around day 172), 0° at the equinoxes (around days 80 and 266), −23.45° at December solstice (around day 355), and varies sinusoidally in between. A common approximation is δ = 23.45° × sin(360° × (284 + dayOfYear) / 365), which gives reasonable accuracy (~0.5° error) but more precise formulas exist for astronomical applications. This calculator takes declination as a user input rather than computing it, so you must look it up or compute it separately; common reference tables, NOAA Solar Position Calculator, or PyEphem can supply daily values. The accuracy of your declination input affects the result roughly linearly — a 1° declination error produces about a 1–2% irradiance error depending on latitude.
How do I get surface (not top-of-atmosphere) irradiance for my location?
Multiply top-of-atmosphere irradiance by an atmospheric transmittance factor that accounts for absorption, Rayleigh scattering, aerosols, water vapour and clouds. On a clear day at sea level the transmittance is about 0.7–0.75 (so a 1,367 W/m² TOA flux gives roughly 1,000 W/m² at the surface for direct normal irradiance). Cloudy days drop transmittance to 0.1–0.4. For more rigorous calculations, the Bird Clear Sky Model, ASHRAE clear-sky model, or the SMARTS / SBdart radiative-transfer codes provide spectral surface irradiance given atmospheric inputs. For practical solar-panel sizing, look up your location's average daily global horizontal irradiance (GHI, in kWh/m²/day) from NASA POWER, PVGIS (Europe), or NREL NSRDB (USA) — these are integrated over the day and year and account for typical weather, giving more useful numbers than instantaneous noon flux. Typical annual GHI ranges from 800 kWh/m²/year in cloudy high latitudes to 2,500 in sunny deserts.
What are the common mistakes when interpreting solar radiation calculations?
The biggest is treating top-of-atmosphere flux as a usable surface number; surface fluxes are 20–80% lower depending on weather. The second is mixing units — W/m² is instantaneous power; energy per day is in J/m²/day or kWh/m²/day, obtained by integrating power over time. People also confuse solar noon (when the sun is highest, generally close to but not exactly 12:00 local time) with civil noon (12:00 by the clock). Errors in latitude sign for southern-hemisphere locations are common; declination has the same magnitude but flipped seasonal pattern relative to the northern hemisphere. The formula here returns flux on a horizontal surface — for a tilted solar panel facing the equator, the effective flux is larger and depends on the tilt angle and the sun's azimuth. Finally, for engineering applications the formula's simplification (missing sin·sin term) is unacceptable; use a proper solar-position calculator like NREL's SOLPOS or the PVLIB-Python library.
When should I not use this calculator?
Do not use it for solar-panel sizing or yield estimation — the formula gives only instantaneous top-of-atmosphere flux at solar noon, while panel design needs daily and annual energy yields under realistic weather, panel tilt, soiling, and degradation, which require dedicated software like PVsyst, PVGIS, or PVWatts. It is not appropriate for daylighting calculations in architecture, which need surface illuminance with atmospheric and sky-model adjustments. Do not use the result at high latitudes far from equinox without applying the missing sin(lat)·sin(dec) correction; the formula systematically under-estimates summer noon flux and over-estimates winter noon flux at mid-to-high latitudes. It cannot account for terrain shading, neighbouring buildings, or vegetation, which dominate real-world flux for many locations. Avoid it for any location at hour angles other than solar noon; the formula computes only the noon value. Finally, for serious scientific work, use radiative-transfer codes (SMARTS, libRadtran) that produce spectrally-resolved fluxes — not a single broadband number from a simplified geometric formula.