Effective air mass¶
This section explains how the effective air mass of an observation can be calculated using one of three methods: Hardie (1962), Young & Irvine (1967) and Young (1994).
In PyHDRL this is hdrl.func.Airmass. The low-level C helpers
(zenith distance, and the individual Hardie / Young-Irvine / Young
functions) are not bound separately; they are used inside
Airmass.compute().
Algorithm¶
The algorithm calculates the average airmass for the line-of-sight given by the right ascension and the declination. The latitude of the observatory site and the local sidereal time at the beginning of the observation have to be given, as well as the duration of the observation (the exposure time). If the exposure time is zero then only one value of airmass is computed, instead of weighting the beginning, middle, and end of the exposure according to Stetson (Stetson P., 1987, PASP 99, 191).
Approximations (hdrl.func.AirmassApprox):
Hardie: Hardie (1962, In: “Astronomical Techniques”, ed. Hiltner, p. 184)YoungIrvine: Young & Irvine (1967, Astron. J. 72, 945); the range of trustworthy airmass outputs is limited to between 1 and 4Young: Young (1994, ApOpt, 33, 1108)
The calculation can take into account error propagation if the user
enters the relative error of the input parameters as an HDRL value
(data, error).
Inputs¶
ra, dec, lst, exptime and latitude are HDRL values
passed as (data, error) tuples. type is an
hdrl.func.AirmassApprox value.
ra: right ascension [deg]dec: declination [deg]lst: local sidereal time elapsed since sidereal midnight [s]exptime: integration time [s]latitude: latitude of the observatory site [deg]type: method of airmass approximation
compute() returns an HDRL value with data and error.
ra = (122.994945, 0.0)
dec = (74.95304, 0.0)
lst = (25407.072748, 0.0)
exptime = (120.0, 0.0)
latitude = (37.2236, 0.0)
airmass = hdrl.func.Airmass(
ra, dec, lst, exptime, latitude, hdrl.func.AirmassApprox.Hardie
)
result = airmass.compute()
value = result.data
error = result.error