28 #ifndef ATNF_ATATMOSPHERE_H
29 #define ATNF_ATATMOSPHERE_H
254 #endif // #ifndef ATNF_ATATMOSPHERE_H
void setWeather(Double temperature, Double pressure, Double humidity)
Set the new weather station data, recompute the model.
Double itsWVScale
water vapour scale height (m)
Double itsLapseRate
lapse rate (K/m)
Vector< Double > itsTemperatures
temperatures of all model layers
Double itsGndTemperature
Atmosphere parameters.
Double itsObsHeight
observatory elevation (m)
This class implements opacity/atmospheric brightness temperature model equivalent to the model availa...
ATAtmosphere(Double wvScale=1540., Double maxAlt=10000.0, Int nLayers=50)
Default Constructor (apart from optional parameters).
static DComplex dryRefractivity(Double freq, Double temperature, Double pDry, Double pVapour)
Compute the complex refractivity of the dry components of the atmosphere (oxygen lines) at the given ...
Vector< Double > itsHeights
heights of all model layers
static DComplex vapourRefractivity(Double freq, Double temperature, Double pDry, Double pVapour)
Compute the complex refractivity of the water vapour monomers at the given frequency.
void recomputeAtmosphereModel()
Build the atmosphere model based on exponential fall-off, ideal gas and hydrostatic equilibrium...
Vector< Double > zenithOpacities(const Vector< Double > &freqs) const
Calculate zenith opacity for the range of frequencies.
std::complex< Double > DComplex
void setObservatoryElevation(Double elev)
Set the elevation of the observatory (height above mean sea level)
Double itsGndHumidity
ground level humidity (fraction)
Vector< Double > itsVapourPressures
partial pressure of water vapour for all model layers
Double zenithOpacity(Double freq) const
Calculate zenith opacity at the given frequency.
Double opacity(Double freq, Double el) const
Calculate opacity at the given frequency and elevation.
Double itsPressure
sea level pressure (Pascals)
Vector< Double > itsDryPressures
partial pressures of dry component for all model layers
static Double wvSaturationPressure(Double temperature)
Determine the saturation pressure of water vapour for the given temperature.
Vector< Double > opacities(const Vector< Double > &freqs, Double el) const
Calculate opacities for the range of frequencies at the given elevation.
Int nLayers() const
Obtain the number of model layers, do consistency check that everything is resized accordingly numbe...
Double itsMaxAlt
altitude of the highest layer of the model (m)