Sun's Position to High Accuracy

The algorithms presented so far are accurate to within about 1° and are sufficient for most terrestrial photovoltaic applications. For flat plate modules the siting is only accurate to a few degrees and the errors introduced by the simple algorithms are negligible when compared to the unknown factors at the location such as atmosphere effects. For concentrator modules, where the modules track the sun and focus the light, the simple equations introduce an unacceptable degree of error. As the concentration increases so does the need for sun tracking accuracy. For systems with concentration ratios of 1000:1 the sun must be tracked to within 3.5 minutes (0.06°) of arc 1. One possibility for tracking the sun is to use a look up table based on the Astronomical Almanac 2 or the computer implementation, the Multiyear Interactive Computer Almanac (MICA) available from the United States Naval Observatory. However, such a system would be unwieldy for the microcontrollers used in tracking systems. There are numerous algorithms developed for sun tracking with a trade off between accuracy and complexity. Before the advent of modern computers, the emphasis was on simplicity but now even small microcontrollers can handle quite complex mathematical formula.

Blanco-Muriel et al. 3 from the Plataforma Solar de Almerýa (PSA) review the accuracy of all the algorithms. Further they develop a simplified algorithm that is accurate to within 0.5 minutes of arc for the year 1999-2015. The PSA algorithm has been specially optimised in C++ code for microcontrollers and is available at The code has been converted to work with the PVCDROM and is presented below. The PSA algorithm is also implemented the PV Lighthouse Solar Path Calculator.

A further refinement is available was reported by NREL4 with an online implementation available at:

PSA algorithm for High Accuracy Tracking of the Sun

The PSA algorithm uses Universal Time (UT) to remove the uncertainty caused by local time zones. The location is entered using longitude and latitude with the minutes and seconds converted to fractions of a degree. The azimuth angle is measured from true north not magnetic north and the zenith angle is measured from the vertical. The elevation angle is measured from the horizontal.

The default values of midday on 1st January 2003, with a longitude and latitude of 0° (a location off East Africa) give an azimuth of 178°, denoting that the sun is almost due south. The zenith angle shows the sun is high in the sky but 23° from being directly overhead.

PSA Algorithm Sun's Position Calculator


The date displayed is UTC, i.e. at Greenwich.