Basic Solar Position Models

Determining the relative position of the sun from any location on Earth at any time of the year involves a series of calculations, many of which are approximations.  The first step to understanding these is to summarize a few basic quantities.

Declination of the Sun () – This is the angle between the Earth’s axis of rotation and the plane normal to a line connecting the centers of the Earth and Sun.

A simple approximation for the declination (in degrees) is:

$$\Theta_{d}=\frac{23.45\pi}{180}\sin$$,$$\left(2\pi\frac{(284+n)}{365}\right)$$ ,where $${n}$$ is the day of year.

Hour Angle () – This is the angle of the Sun in its apparent orbit through the sky.  By convention it is defined to zero at solar noon (when the Sun reaches its highest point in the sky each day).  Since it takes approximately 24 hours for the Earth to rotate each day, the hour angle changes by 15 degrees each hour (360°/24).

Solar vs. Standard Time – While local time is synchronous across a single time zone, solar time is defined as the relative position of the sun to an observation point.  Therefore, solar time will vary by longitude across the time zone at a given local time.  What is known as the “Equation of Time” is used to calculate the difference between solar and local time as a function of location and time of year.

The equation of time $$(E_q{_t})$$ can be approximated with a series of equations depending on the day of the year:

For n=1 to 106: $$E_q{_t}=-14.2\sin\left(\frac{\pi(n+7)}{111}\right)$$

For n=107 to 166: $$ E_q{_t}=4.0\sin\left(\frac{\pi(n-106)}{59}\right)$$

For n =167 to 246: $$ E_q{_t}=6.5\sin\left(\frac{\pi(n-166)}{80}\right)$$

For n =247 to 365: $$ E_q{_t}=16.4\sin\left(\frac{\pi(n-247)}{113}\right)$$

Using this approximation the solar time ($$T{_s}{_o}{_l}{_a}{_r}$$) in hours is calculated as:

$$ T{_s}{_o}{_l}{_a}{_r}=T{_l}{_o}{_c}{_a}{_l}+\frac{E_q{_t}}{60}+\frac{Long_s{_m}-Long{_l}{_o}{_c}{_a}{_l}}{15}$$ , where $$Long_s{_m}$$ is the longitude of the standard meridian of the observer’s time zone (degrees) and $$Long{_l}{_o}{_c}{_a}{_l}$$ is the longitude of the observer (degrees).

The hour angle (radians) can be calculated as a function of solar time as:


The cosine of the solar zenith angle can then be calculated as:

$$\cos(\Theta_z)=\sin(\lambda)\sin(\Theta_d)+\cos(\lambda)\cos(\Theta_d)\cos(\Theta_h{_r})$$, where $$\lambda$$ is the latitude of the observer.