Approximate Atmospheric Refraction

These are approximate equations for atmospheric refraction as presented in Astronomical Algorithms, Eq 16.3 and 16.4 with the additional corrections to make the functions return 0 for 90°. The observed altitude will always be greater than the true altitude. So add $$R_{true}$$ to the true altitude to get the observed altitude. And subtract $$R_{observed}$$ from the observed altitude to get the true altitude.

$$R_{true} = \left ( \dfrac{1.02}{\tan \left (h+\dfrac{10.3}{h+5.11} \right )} + .0019279 \right ) \dfrac{P}{1010} * \dfrac{283}{273+T}$$
$$R_{observed} =\left( \dfrac {1} {\tan \left( h_0 + \dfrac{7.31}{h_0+4.4} \right)} + 0.0013515 \right ) \dfrac{P}{1010} * \dfrac{283}{273+T}$$

• $$R_{true}$$ = Refection in arcminutes to add to true altitude to get observed altitude.
• $$R_{observed}$$ = Refection in arcminutes to subtract from observed altitude to get true altitude.
• P = pressure in millibars. (1010 for standard value)
• T = temperature Celsius. (10 for standard value)
• $$h$$ = True altitude.
• $$h_0$$ = Observed altitude.

Test data compared to the Nautical Almanac
AltitudeExpected$$R_{observed}$$Error$$R_{true}$$Error

Graph of $$R_{observed}$$ from 0° to 90°. Y axis - refraction in arcminutes, X axis - observed altitude in degrees.