NavList:
A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
Refracted semidiameter (Chauvenet wrong)
From: Paul Hirose
Date: 2013 May 04, 16:02 -0700
From: Paul Hirose
Date: 2013 May 04, 16:02 -0700
In this message I will explain a method to compute the refracted semidiameter of the Sun or Moon (or any other body). Input data are the unrefracted altitude of the center, unrefracted semidiameter, and position angle on the limb. The position angle is measured from the zenith, i.e., 0 is exactly at the upper limb and 180° at the lower limb. First create a vector to the nadir: (0, 0, -1) in rectangular coordinates or (0, -90°) spherical. Create a second vector in spherical coordinates, with lambda (the east longitude angle) equal to the desired position angle and phi (the latitude angle) equal to -90° + unrefracted semidiameter. In other words, this vector's separation angle from the nadir equals the unrefracted semidiameter. Rotate the coordinate reference system of both vectors about the y axis by an angle equal to 90° + the unrefracted altitude of the center of the body. (This rotation is counterclockwise, seen from the +y axis looking toward the origin.) Now the vectors represent the unrefracted relative directions of the center and limb, in the observer's horizontal system. To apply refraction, disassemble the vectors into spherical coordinates lambda and phi. Apply refraction to phi. Re-assemble the vectors. Finally, compute the separation angle between the vectors to get the refracted semidiameter. (Separation angle can also be computed directly from the spherical coordinates.) That is the refracted semidiameter. For example, compute the refracted semidiameter of the Sun at position angle 90° (the 9 o'clock position on its limb) when its unrefracted center is at altitude 20°. Assume the unrefracted semidiameter is exactly 16′. The nadir vector is (0, 0, -1) in rectangular coocdinates. The limb vector is (90°, -89.733333°) in spherical coordinates, or (0, .0046542, -.9999892) rectangular. Y-rotate the coordinate systems of both vectors 110° (i.e., 90° + unrefracted altitude) via the rotation matrix [cos 110° 0 -sin 110°] [ 0 1 0 ] [sin 110° 0 cos 110°] to obtain vectors to the Sun center (.9396926, 0, .3420201) and the point on the limb (.9396824, .0046542, .3420164). In spherical (lambda, phi) form, these are (0°, 20°) and (.283780°, 19.999774°). Apply refraction to the altitudes. At 1013.25 mb and 15 C, refraction is .044138 at center of Sun. Refracted center altitude is 20.044138°. Limb refraction is .044139° and refracted altitude 20.043913°. Re-assemble the vectors, with the refracted altitudes. The refracted vectors are (.9394289, 0, .3427439) and (.9394187, .0046529, .3427402). The refracted semidiameter is the separation angle between the vectors: .266592°, which is .000075° (.27″) less than the unrefracted value 16′. That agrees with Chauvenet: "for all zenith distances less than 85° the contraction of the horizontal semidiameter is very nearly constant and equal to one-fourth of a second." I have ignored the effect of refraction on position angle, so the calculation is not rigorous. Imagine a giant clock face in outer space, with 12 oriented exactly to our zenith. Due to refraction, we see it slighly distorted. The 11 (for example) mark is not exactly on a great circle between the clock center and, for instance, the Moon at 30° position angle (in refracted coordinates) with respect to the clock. But my method assumes that it is. Let's evaluate the error of that assumption at position angle 45°. Unrefracted altitude is 20° and unrefracted semidiameter 16′ as before. Then by the method I described, refracted semidiameter is .266320°. The refracted vector to the Moon is (.9394289, 0, .3427439) and to the point on the Limb (.9382934, .0032901, .3458247). The position angle between those points is 45.058°. That is .058° greater than the desired angle, so adjust the unrefracted position angle to 45° - .058° = 44.942° and try again. Now refracted semidiameter is .266320° as before, and refracted position angle is the desired 45.000°. So the difference between refracted and unrefracted position angles had insignificant effect on refracted semidiameter, at a precision of a millionth of a degree (.004″). Chauvenet gives an approximation for the contraction in semidiameter due to refraction, when the position angle and the contraction in vertical semidiameter are known. The latter is found (assuming 20° unrefracted altitude and 16′ semidiameter as before) from the difference in refraction at unrefracted altitudes 19°44′ and 20°16′. The refractions are, respectively, .044770° and .043521°. The difference is the contraction in diameter, so half that is the average contraction in semidiameter, .000624°. With that known, the contraction in semidiameter at given position angle is the squared cosine of the position angle, times the vertical contraction. Chauvenet says this approximation "is sufficiently exact for all purposes to which we shall have occasion to apply it." In this example, cos squared of 45° is exactly .5, the vertical contraction .000624°, therefore contraction at position angle 45° = .5 * .000624° = .000312°, compared to my .000347°, or 1.12″ vs. 1.24″. Chauvenet's approximation gives no contraction at 90° and 270° position angles; the "one-fourth of a second" horizontal contraction quoted above is worked out separately in his book. In the lunar distance chapter, Chauvenet explains how the Moon and Sun altitudes and the lunar distance enable us to compute the position angles, and then the contraction of the semidiameters. For example, Moon apparent altitude h′ = 30°, Sun altitude H′ = 40°, lunar distance d′ = 100°. All angles are refracted, measured to center of body. (Because the contraction is so small, no great accuracy is required of the position angles. It is sufficient to use unrefracted semidiameters to reduce the sextant measurements to the centers of the bodies.) Let m = half the sum of the sides = 85°. Then according to Chauvenet, sin^2 (q/2) = (cos m sin (m - H′)) / (sin d′ cos h′) = .0723, therefore q = 31.2° = position angle of Sun with respect to Moon, and sin^2 (Q/2) = (cos m sin (m - h′)) / (sin d′ cos h′) = .0837, therefore Q = 33.6° = position angle of Moon with respect to Sun. THAT IS WRONG. Angle Q should be about 36°. If you carefully compare the equations in the Chauvenet book http://books.google.com/books?id=6JlzJHd15vQC&pg=PA397 (top of the page) you will probably see something wrong even if you don't understand how the equations work. Remember that q and Q are the position angles of the Sun with respect to the Moon and vice versa. Therefore it's reasonable that the right hand equation will put h′ in the numerator and H′ in the denominator, opposite their positions in the left equation. But only the numerator is different. After changing h′ in the denominator to H′, the equation gives the correct result. In my example, with the Sun 40° high, it probably makes no significant difference. Even at low altitude, refraction has only a little effect on semidiameter. It would be easy to overlook the mistake in Chauvenet's equation. NOTES I used an HP 49G for the above computations. Refraction came from the Bennett formula, with the additional term for more accuracy, as described by Meeus in "Astronomical Algorithms." All the needed vector and coordinate conversion algorithms are online at the SOFA site in C and Fortran: http://www.iausofa.org/index.html I have no experience with the USNO NOVAS package, but it seems similar to SOFA. http://aa.usno.navy.mil/software/novas/novas_info.php In practice I think the benefit of a semidiameter correction for refraction is arguable. However, if coded into a program the correction requires no extra effort by the user. The method I described works even in degenerate cases, such as when the zenith is inside the limb. To me it is more obvious and direct than Chauvenet's method. Admittedly, I have enormously more computational power in my hands! --