hitran2refr
Richard J. Mathar, J. Opt. A: Pure Appl. Opt. 9 (2007) 470
|
Classes | |
struct | compon |
Public Member Functions | |
Air (const double temp, const double press) | |
Air (const double temp, const double press, const double relhum, const double co2, const double o2, const double h2o, const double o3, const bool useV, const string dir, int fcount, char *argv[]) | |
~Air () | |
void | Qsum () |
complex< double > | suscep (const double lambda) |
double | magn (const double useV) |
double | ppmCO2 () const |
double | Pa (double &mols, const bool excludh2o) const |
int | hash2o (const int molecNo) const |
Public Attributes | |
double | T |
double | Panom |
struct compon * | mix |
int | mixcnt |
Static Public Attributes | |
static bool | scale_p |
Private Member Functions | |
void | scaledry (const bool useV) |
void | scale (const bool useV, const set< int > excl) |
Static Private Attributes | |
static const double | volrel [] |
static const char * | nam [] |
Air::Air | ( | const double | temp, |
const double | press | ||
) |
Default Ctor.
[in] | temp | |
[in] | press |
Air::Air | ( | const double | temp, |
const double | press, | ||
const double | relhum, | ||
const double | co2, | ||
const double | o2, | ||
const double | h2o, | ||
const double | o3, | ||
const bool | useV, | ||
const string | dir, | ||
int | fcount, | ||
char * | argv[] | ||
) |
Constructor with files defining constituents.
[in] | temp | |
[in] | press | |
[in] | relhum | |
[in] | co2 | |
[in] | h2o | |
[in] | useV | |
[in] | dir | |
[in] | fcount | |
[in] |
Air::~Air | ( | ) |
int Air::hash2o | ( | const int | molecNo | ) | const |
Check if water is in the molecular list.
[in] | molecNo | the HITRAN molecular number to search for. Chose 1 for water, for example. |
double Air::magn | ( | const double | useV | ) |
Compute the magnetic susceptibility.
[in] | useV | if true, use virials in the equation of state |
double Air::Pa | ( | double & | mols, |
const bool | excludh2o | ||
) | const |
Compute the total (external) pressure.
[in] | excludh2o | if true, any contribution of H2O is ignored (skipped, implicitly zero) |
double Air::ppmCO2 | ( | ) | const |
Return the volume fraction (roughly 370) of carbon dioxide if it was in the list of molecules included. Otherwise return zero.
void Air::Qsum | ( | ) |
|
private |
[in] | useV | if true, use virials in the equation of state, else ideal gas law |
[in] | excl | list of HITRAN molecular numbers excluded from re-scaling |
|
private |
[in] | useV | if true, use virials in the equation of state, else ideal gas law |
complex< double > Air::suscep | ( | const double | lambda | ) |
struct compon* Air::mix |
The array of the molecular constitutents
int Air::mixcnt |
Number (count) of constituents in the mix
array
|
staticprivate |
Standard molecule denominations sorted in HITRAN order
double Air::Panom |
pressure [Pa]. Total nominal pressure
|
static |
flag: if true, adjust the densities of the molecules in the dry portion to get the full Air::Panom if all partial pressures are added
double Air::T |
temperature [K]
|
staticprivate |
Mixing ratios of the standard air, all between 0 and 1, ordered along the HITRAN molecule numbers but shifted by one index to start with the C/C++ 0-based notation: index 0 = H2O, 1=CO2, 2=O3, 3=N2O, 4=CO, 5=CH4, 6=O2, 7=NO, 8=SO2, 9=NO2, 10=NH3, 11=HNO3 (already in NO2), 12=OH, 21=N2, ATOMS_OFFSET-1=Ne, Kr, Ar, H2, He