| 1 | #include "slalib.h"
|
|---|
| 2 | #include "slamac.h"
|
|---|
| 3 | double slaAirmas ( double zd )
|
|---|
| 4 | /*
|
|---|
| 5 | ** - - - - - - - - - -
|
|---|
| 6 | ** s l a A i r m a s
|
|---|
| 7 | ** - - - - - - - - - -
|
|---|
| 8 | **
|
|---|
| 9 | ** Air mass at given zenith distance.
|
|---|
| 10 | **
|
|---|
| 11 | ** (double precision)
|
|---|
| 12 | **
|
|---|
| 13 | ** Given:
|
|---|
| 14 | ** zd d observed zenith distance (radians)
|
|---|
| 15 | **
|
|---|
| 16 | ** The result is an estimate of the air mass, in units of that
|
|---|
| 17 | ** at the zenith.
|
|---|
| 18 | **
|
|---|
| 19 | ** Notes:
|
|---|
| 20 | **
|
|---|
| 21 | ** 1) The "observed" zenith distance referred to above means "as
|
|---|
| 22 | ** affected by refraction".
|
|---|
| 23 | **
|
|---|
| 24 | ** 2) Uses Hardie's (1962) polynomial fit to Bemporad's data for
|
|---|
| 25 | ** the relative air mass, X, in units of thickness at the zenith
|
|---|
| 26 | ** as tabulated by Schoenberg (1929). This is adequate for all
|
|---|
| 27 | ** normal needs as it is accurate to better than 0.1% up to X =
|
|---|
| 28 | ** 6.8 and better than 1% up to X = 10. Bemporad's tabulated
|
|---|
| 29 | ** values are unlikely to be trustworthy to such accuracy
|
|---|
| 30 | ** because of variations in density, pressure and other
|
|---|
| 31 | ** conditions in the atmosphere from those assumed in his work.
|
|---|
| 32 | **
|
|---|
| 33 | ** 3) The sign of the ZD is ignored.
|
|---|
| 34 | **
|
|---|
| 35 | ** 4) At zenith distances greater than about ZD = 87 degrees the
|
|---|
| 36 | ** air mass is held constant to avoid arithmetic overflows.
|
|---|
| 37 | **
|
|---|
| 38 | ** References:
|
|---|
| 39 | ** Hardie, R.H., 1962, in "Astronomical Techniques"
|
|---|
| 40 | ** ed. W.A. Hiltner, University of Chicago Press, p180.
|
|---|
| 41 | ** Schoenberg, E., 1929, Hdb. d. Ap.,
|
|---|
| 42 | ** Berlin, Julius Springer, 2, 268.
|
|---|
| 43 | **
|
|---|
| 44 | ** Adapted from original Fortran code by P.W.Hill, St Andrews.
|
|---|
| 45 | **
|
|---|
| 46 | ** Last revision: 5 October 1994
|
|---|
| 47 | **
|
|---|
| 48 | ** Copyright P.T.Wallace. All rights reserved.
|
|---|
| 49 | */
|
|---|
| 50 | {
|
|---|
| 51 | double w, seczm1;
|
|---|
| 52 |
|
|---|
| 53 | w = fabs ( zd );
|
|---|
| 54 | seczm1 = 1.0 / ( cos ( gmin ( 1.52, w ) ) ) - 1.0;
|
|---|
| 55 | return 1.0 + seczm1 * ( 0.9981833
|
|---|
| 56 | - seczm1 * ( 0.002875 + 0.0008083 * seczm1 ) );
|
|---|
| 57 | }
|
|---|