# NavList:

## A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding

**Dip and the refractive invariant**

**From:**Paul Hirose

**Date:**2016 Sep 07, 23:13 -0700

In these pages back in April 2013 I showed how an accurate dip formula can be derived from an optical principle: the refractive invariant. In the process of modifying a program, I recently revisited that material. It wasn't easy reading. Generally I give myself good marks for the explanations, but probably the key equations should have been summarized in a separate message for the benefit of someone who doesn't want to suffer through their derivation. I'll try to do that here with a worked example. Pobs = observer pressure (millibars) = 1010 Tobs = observer temperature (C) = 10 Psea = sea level pressure Tsea = sea level temperature h = observer height (meters) = 5.0 Nobs = refractivity of air at observer Nsea = refractivity of air at sea level Estimate air temperature at sea level from the standard atmosphere lapse rate of -.0065 C per meter. I.e., temperature decreases as height increases, and so Tsea = 10 + 5.0 * .0065 = 10.03 C. For a small difference in altitude, air pressure has almost linear variation with height, the rate depending on temperature: Psea = Pobs * (1 + h * .034163 / (273 + Tobs)) = 1010.6 mb Next, calculate N, the refractivity of the air, at sea level and the observer. For small differences in temperature and pressure, N is practically proportional to air density. Therefore a correction to actual conditions is simple if we know its value at some specified conditions. Well, at 10 C, 1010 mb, 50% humidity, CO2 = 400 ppm, and 550 nanometers wavelength, N = .00028161. Correct that standard value for actual temperature and pressure with this equation: N = .00028161 * P / 1010 * 283 / (T + 273) which is simplified by combining the constants: N = P / 12673 / (T + 273) To make the example easy, I used standard conditions at the observer, so Nobs is simply .00028161. At the sea level temperature and pressure previously calculated, Nsea = .00028175. Let dN = Nobs - Nsea = -1.4e-7. Compute dip from dN and h. (The constant 6,371,000 converts height of eye from meters to Earth radii.) dip (radians) = √(2 * (dN + h / 6,371,000)), or dip = 3438′ * √(2 * (dN + h / 6,371,000)) Dip = 3.90′. The almanac table says 3.95′. An almost perfect match to the almanac table is possible if you change lapse rate from -.0065 to -.009 °C/meter. Dip is little affected by air density variation at the observer if temperature lapse rate (degrees per meter) remains constant. However, a small variation the latter has large effect. For example, if you change observer temperature from 10 C (50 F) to 35 C (95 F) but lapse rate (-.0065 °C/m) does not change, dip increases .07′. On the other hand, if you change lapse rate from -0.0065 to -0.0265, and observer temperature (10 C) does not change, there's a 0.29′ increase in dip. That change in lapse rate equals an (observer - sea level) temperature variation of only a tenth degree C! The dip equation shows that dN, the refractivity difference between observer and sea level, is equivalent to a change in height of eye, the unit of measure being Earth radius. If dN has an error of one unit in the 6th decimal place, that's equivalent to a height of eye error of a millionth of an Earth radius: about 6 meters. Therefore dN should be computed to 7 or 8 decimal places. Since dN is normally negative, the effective height of eye is decreased by refraction. If dN is too negative, the formula has no real solution since it's the square root of a negative number. That can happen with extreme lapse rates. A program could have an option to input observer and sea level temperatures, instead of assuming a fixed lapse rate. In that case you should include defensive code to avoid the square root problem. In the real world I don't believe my equations have a significant advantage over the simple expression in the almanac. Any theoretical gain in accuracy is probably lost in unpredictable temperature variations between the observer and horizon. The derivation of the equations is explained in my postings in the April and May 2013 archive. The applicable messages are obvious from the Subject fields. But note that equation 4 in my May 13 message dn = (n0 - 1) * (dP/P0 - dT/T0) is wrong. Also, in the old messages I use n (refractive index) instead of N (refractivity). The difference is that n = N + 1. For example, if n = 1.003, N = .003. I think N is easier to work with.