solposx.refraction.hughes

Contents

solposx.refraction.hughes#

solposx.refraction.hughes(elevation, pressure=101325.0, temperature=12.0)#

Atmospheric refraction correction based on the Hughes algorithm.

This function was developed by G. Hughes [1] and was used in the SUNAEP software [2].

It is also used to calculate the refraction correction in the NOAA solar position algorithm using a fixed pressure of 101325 Pa and a temperature of 10 degrees Celsius.

Parameters:
  • elevation (array-like) – True solar elevation angle (not accounting for refraction). [degrees]

  • pressure (numeric, default 101325) – Annual average atmospheric pressure. [Pascal]

  • temperature (numeric, default 12) – Annual average temperature. The default in this code deviates from [1], which used 10 C. [C]

Returns:

Atmospheric refraction angle. [degrees]

Return type:

np.array or pd.Series

Notes

The equation to calculate the refraction correction is given by:

\[\begin{split}\begin{align} 5° < el \le 90° &: \quad \frac{58.1}{\text{tan}(el)} - \frac{0.07}{\text{tan}(el)^3} + \frac{8.6\cdot 10^{-5}}{\tan(el)^5}\\ -0.575° < el \le 5° &: \quad el \cdot (-518.2 + el \cdot (103.4 + el \cdot (-12.79 + el \cdot 0.711))) + 1735\\ el \le -0.575° &: \quad \frac{-20.774}{\text{tan}(el)}\\ \end{align}\end{split}\]

where \(el\) is the true (unrefracted) solar elevation angle.

References