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