AtranModel¶
- class sofia_redux.scan.custom.sofia.integration.models.atran.AtranModel(options)[source]¶
Bases:
ABC
Initialize the ATRAN model for SOFIA.
The ATRAN model is used to derive the relative transmission correction factor for a given altitude above the Earth’s surface, observing a source at a given elevation. This can be used to determine the atmospheric opacity. Please see
AtranModel.get_relative_transmission()
andAtranModel.get_zenith_tau()
for further details.The options should contain the following keywords:
- amcoeffs: The polynomial coefficients defining the air mass factor as a function of elevation from the reference air mass. - altcoeffs : The polynomial coefficients defining the altitude factor as a function of altitude from the reference altitude. - reference : The reference transmission factor.
- Parameters:
- optionsdict
Attributes Summary
Methods Summary
configure_options
(options)Parse the options into the model.
get_relative_transmission
(altitude, elevation)Model the relative transmission at the given altitude and elevation.
get_zenith_tau
(altitude, elevation)Model the atmospheric opacity for a given altitude and elevation.
Attributes Documentation
- kft = <Quantity 1000. ft>¶
- reference_airmass = 1.4142135623730951¶
- reference_altitude = <Quantity 41000. ft>¶
Methods Documentation
- configure_options(options)[source]¶
Parse the options into the model.
- Parameters:
- optionsdict
The options must contain the following keys: amcoeffs, altcoeffs, and reference.
- Returns:
- None
- get_relative_transmission(altitude, elevation)[source]¶
Model the relative transmission at the given altitude and elevation.
The relative transmission (c) is given as:
c = altitude_factor * air_mass_factor
where:
delta_alt = altitude - reference_altitude air_mass = 1 / sin(elevation) delta_atm = air_mass - reference_air_mass altitude_factor = sum_i(alt_coeff[i] * delta_alt^i) air_mass_factor = sum_i(atm_coeff[i] * delta_atm^i)
The reference air mass is generally taken to be sqrt(2), equivalent to an elevation of 45 degrees, and the reference altitude for SOFIA is 41,000 ft.
- Parameters:
- altitudefloat or units.Quantity
The altitude above the Earth’s surface. If a float value is provided, it is assumed to be in kilo-feet (1000 feet).
- elevationfloat or units.Quantity
The elevation of the observed source. If a float value is provided, it is assumed to be in degrees.
- Returns:
- relative_transmissionfloat
- get_zenith_tau(altitude, elevation)[source]¶
Model the atmospheric opacity for a given altitude and elevation.
The opacity (tau) can be estimated as:
zenith_tau = -log(ref * c) * sin(elevation)
This may be rewritten as:
transmission = exp(-zenith_tau * air_mass)
where ref is the reference transmission of this model, and c is the relative transmission returned by
AtranModel.get_relative_transmission()
.- Parameters:
- altitudefloat or units.Quantity
The altitude above the Earth’s surface. If a float value is provided, it is assumed to be in kilo-feet (1000 feet).
- elevationfloat or units.Quantity
The elevation of the observed source. If a float value is provided, it is assumed to be in degrees.
- Returns:
- taufloat