Atmosphere.h

Classes

AtmType -- Basic class for atm calc wrapping the fortran code of Pardo's ATM model (full description)
TemperatureType -- (full description)
Profile -- (full description)
AbsCoeff -- (full description)
AbsCoeffDer -- (full description)
Opacity -- (full description)
OpacitySpec -- (full description)
PhaseFactor -- (full description)
WaterVaporFit -- (full description)
Atmosphere -- (full description)

enum AtmType

TROPICAL = 1
MIDLAT_SUMMER = 2
MIDLAT_WINTER = 3
SUBARCTIC_SUMMER = 4
SUBARCTIC_WINTER = 5

Description

/ Atmospheric model type


enum TemperatureType

BLACKBODY = 1
RAYLEIGH_JEANS = 2

Description

/ Temperature type


struct Profile

Interface

Description

Member Description


struct AbsCoeff

Interface

Description

/ Absorption coefficients.

Member Description


struct AbsCoeffDer

Interface

Description

/ Derivative of absorption coefficients.

Member Description


struct Opacity

Interface

Description

/ Opacity structure

Member Description


struct OpacitySpec

Interface

Description

/ Opacity structure for each frequency channel of each band

Member Description


struct PhaseFactor

Interface

Description

/ Phase-delay factor structure

Member Description


struct WaterVaporFit

Interface

Description

/ Water vapor results retrieved from radiometric measurements

Member Description


class Atmosphere

Interface

* Builds the atmospheric profile with a guessed startup water content. * \par * Call fortran subroutine ATM_telluric() * * @param altitude - at site in [m] * @param temperature - at site in [K] * @param pressure - at site in [Pa] * @param maxAltitude - to top of modelled atmosphere in [m] * @param humidity - percentage humidity used to guess water * @param dTem_dh - change of T with height in [K/m] * @param dP - initial pressure step (P[1]-P[0]) in [Pa] * @param dPm - pressure multiplicative factor for steps : P[i+1]-P[i] = dPm * ( P[i]-P[i-1]) * @param h0 - scale height for water (exp distribution) in [m] * @param atmtype - enumerated types are: * - 1: tropical * - 2: mid latitude summer * - 3: mid latitude winter * - 4: subarctic summer * - 5: subarctic winter * * @exception - invalid parameters. * @exception - too many atmosphere layers */
Atmosphere(const double altitude, const double temperature, const double pressure, const double maxAltitude, const double humidity, const double dTem_dh, const double dP, const double dPm, const double h0, const AtmType atmtype)
~Atmosphere()
double getStartupWaterContent() const
Profile getProfile() const
void getProfile(Profile & p) const
void initWindow(const int nbands, const double fCenter[], const double fWidth[], const double fRes[])
int getNdata(const int iband) const
Opacity getOpacity() const
void getOpacity(Opacity &opacity) const
OpacitySpec getOpacitySpec() const
void getOpacitySpec(OpacitySpec &o) const
AbsCoeff getAbsCoeff() const
void getAbsCoeff(AbsCoeff &a) const
AbsCoeffDer getAbsCoeffDer() const
void getAbsCoeffDer(AbsCoeffDer & a ) const
PhaseFactor getPhaseFactor() const
void getPhaseFactor(PhaseFactor &phaseFactor) const
void computeSkyBrightness(const double airMass, const double tbgr, const double precWater)
std::vector<double> getSkyBrightness(const vector iopt)
std::vector< std::vector<double> > getSkyBrightnessSpec(const vector iopt)
void setSkyCoupling(const float c)
float getSkyCoupling()
Private Members
Atmosphere(const Atmosphere& atm)
Atmosphere& operator=(const Atmosphere& atm)

Description

/ C++ interface to FORTRAN ATM library of Juan R. Padro

Member Description

* Builds the atmospheric profile with a guessed startup water content. * \par * Call fortran subroutine ATM_telluric() * * @param altitude - at site in [m] * @param temperature - at site in [K] * @param pressure - at site in [Pa] * @param maxAltitude - to top of modelled atmosphere in [m] * @param humidity - percentage humidity used to guess water * @param dTem_dh - change of T with height in [K/m] * @param dP - initial pressure step (P[1]-P[0]) in [Pa] * @param dPm - pressure multiplicative factor for steps : P[i+1]-P[i] = dPm * ( P[i]-P[i-1]) * @param h0 - scale height for water (exp distribution) in [m] * @param atmtype - enumerated types are: * - 1: tropical * - 2: mid latitude summer * - 3: mid latitude winter * - 4: subarctic summer * - 5: subarctic winter * * @exception - invalid parameters. * @exception - too many atmosphere layers */

Atmosphere(const double altitude, const double temperature, const double pressure, const double maxAltitude, const double humidity, const double dTem_dh, const double dP, const double dPm, const double h0, const AtmType atmtype)

-------------------------------------------------------------------

~Atmosphere()

--------------------------------------------------------------------- / Destructor ---------------------------------------------------------------------

double getStartupWaterContent() const

-------------------------------------------------------------------

Profile getProfile() const

------------------------------------------------------------------- getProfiles() -------------------------------------------------------------------

void getProfile(Profile & p) const

-------------------------------------------------------------------

void initWindow(const int nbands, const double fCenter[], const double fWidth[], const double fRes[])

-------------------------------------------------------------------

------------------------------------------------------------------- initWindow() -----------

int getNdata(const int iband) const

------------------------------------------------------------------- getNdata() -----------

Opacity getOpacity() const

------------------------------------------------------------------- getOpacity() ------------

void getOpacity(Opacity &opacity) const

OpacitySpec getOpacitySpec() const

------------------------------------------------------------------- getOpacitySpec() ----------------

void getOpacitySpec(OpacitySpec &o) const

AbsCoeff getAbsCoeff() const

------------------------------------------------------------------- getAbsCoeff() -------------

void getAbsCoeff(AbsCoeff &a) const

-------------------------------------------------------------------

AbsCoeffDer getAbsCoeffDer() const

------------------------------------------------------------------- getAbsCoeffDer --------------

void getAbsCoeffDer(AbsCoeffDer & a ) const

-------------------------------------------------------------------

PhaseFactor getPhaseFactor() const

------------------------------------------------------------------- getPhaseFactor() ----------------

void getPhaseFactor(PhaseFactor &phaseFactor) const

void computeSkyBrightness(const double airMass, const double tbgr, const double precWater)

------------------------------------------------------------------- computeSkyBrightness() ----------------------

std::vector<double> getSkyBrightness(const vector iopt)

------------------------------------------------------------------- getSkyBrightness() ----------------------

std::vector< std::vector<double> > getSkyBrightnessSpec(const vector iopt)

------------------------------------------------------------------- getSkyBrightnessSpec() ----------------------

void setSkyCoupling(const float c)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ / setSkyCoupling() - set the sky coupling

float getSkyCoupling()

/ getSkyCoupling() - get the sky coupling

Atmosphere(const Atmosphere& atm)

/ Inaccessible copy constructor and assignment operator

Atmosphere& operator=(const Atmosphere& atm)