Arte SheetsLearn. Try. Understand.

Engineering

Solar Declination Angle, Noon Sun Altitude & PV Air Mass (AM) formulas

Explore approximate seasonal declination, geometric solar-noon elevation and a simple relative air-mass approximation.

Separate solar geometry from energy-yield design

Cooper’s sinusoid is an approximation using an integer day index in a 365-day model. N=81 yields zero by this formula; it is not an exact equinox date for every year. This exercise rejects day 366 rather than silently choosing a leap-year mapping.

Latitude is north-positive between -90° and 90°. The noon formula describes local solar noon, not necessarily 12:00 civil time. A negative elevation means the geometric Sun is below the horizon. Refraction and terrain are not included.

The noon zenith angle is not an annual optimum panel tilt. Azimuth, seasonal production, shading, diffuse radiation and the intended objective matter. These formulas do not calculate irradiance, panel output or an AM1.5G reference spectrum.

Secant zenith is a simple plane-parallel relative air-mass approximation that becomes poor near the horizon. This exercise limits it to 0–80° zenith and returns Outside approximation beyond that range, instead of producing huge or negative values. It does not apply a pressure correction.

Solar PV Geometry MetricFormula40°N at model day 172Model day 81
Solar Declination delta23.45 * SIN(RADIANS(360/365*(284+N)))+23.45° (Tropic of Cancer)0.00° (Celestial Equator)
Noon Sun Altitude alpha90 - ABS(Lat - delta)90 - |40 - 23.45| = 73.45°90 - 40 = 50.00°
Geometric noon zenith angleABS(Lat - delta) (= Zenith)16.55° from horizontal40.00° (= Latitude)
Air Mass at 60° Zenith1 / COS(RADIANS(60))AM = 2.00 (2x overhead air)AM = 1.00 at 0° overhead

Cooper (1969) Solar Declination Angle delta in degrees

Enter day of year N (1 to 365) in B2; wraps angle in RADIANS() before SIN().

=IF(COUNT(B2)<>1,"Invalid inputs",IF(OR(B2<>INT(B2),B2<1,B2>365),"Invalid inputs",ROUND(23.45 * SIN(RADIANS((360 / 365) * (284 + B2))), 2)))

Geometric elevation at local solar noon

Retain negative elevation at high-latitude winter noon to indicate that the Sun is below the geometric horizon. The separate zenith input B4 is not automatically coupled to this noon calculation.

=IF(COUNT(B2:B3)<>2,"Invalid inputs",IF(OR(B2<>INT(B2),B2<1,B2>365,ABS(B3)>90),"Invalid inputs",ROUND(90 - ABS(B3 - (23.45 * SIN(RADIANS((360 / 365) * (284 + B2))))), 2)))

Simple relative air mass for zenith 0–80°

Use the secant model only within this stated exercise range. More suitable near-horizon models account for atmospheric curvature and refraction conventions.

=IF(COUNT(B4)<>1,"Invalid inputs",IF(OR(B4<0,B4>80),"Outside approximation",ROUND(1 / COS(RADIANS(B4)), 2)))

Try the example

Use the original values or change them to test your understanding.

Further reading