Solar Position Algorithm
Overview
The solar position algorithm is part of the safety function designed to detect when the concentrated focused sunlight goes off the heat stop reflector. To do this the actual solar position is calculated and compared to the where the telescope is pointed. The original specification is to allow a maximum 1.5 solar radii (0.40°) offset between the sun’s position and the telescope optical axis.
The formula for calculating the solar position is derived from Allen-Bradley’s Solar Position Algorithm Connected Components Accelerator Toolkit. This toolkit was originally designed as user-defined function block for the Micro 800 series of controllers. It has been modified to run as a routine in GuardLogix.
The toolkit is based on the National Renewable Energy Laboratory (NREL) Solar Position Algorithm. This algorithm is used to calculate the solar zenith and azimuth angles in the period from the year -2000 to 6000, with uncertainties of ±0.0003°. This algorithm was described in Jean Meeus' “Astronomical Algorithms”.
Procedure
Calculate the current Julian Ephemeris Day
One of the most important inputs to the algorithm is the current time expressed as the current Julian Ephemeris Millennium (JME). This can be obtained by converting the current system variable WallClockTime
attribute LocalDateTime
to the current Julian Day. Or obtained from the current system variable TimeSynchronize
attribute CurrentMicrosecondTime
.
Calculate the Earth heliocentric longitude, latitude, and radius vector (L, B, and R)
Calculate Earth heliocentric longitude (L):
where:
where:
where:
where:
where:
where:
Calculate Earth heliocentric latitude (B):
Calculate the Earth radius vector (R) in astronomical units (AU):
Caculate the geocentric longitude and latitude (Θ and ß)
Calculate the nutation in longitude and obliquity (Δψ and Δε)
Calculate the true obliquity of the ecliptic (ε)
Calculate the aberration correction (Δτ)
Calculate the apparent sun longitude (λ)
Calculate the apparent sidereal time (υ)
Calculate the geocentric sun right ascension (α)
Calculate the geocentric sun declination (δ)
Calculate the observer local hour angle (H)
Calculate the topocentric sun right ascension (α′)
Calculate the topocentric local hour angle (H′)
Calculate the topocentric zenith angle (Θ)
Calculate the topocentric azimuth angle (Φ)
Calculate the angular separation