ARTS 2.5.11 (git: 725533f0)
|
Implementation file for work with HITRAN collision induced absorption (CIA). More...
#include "arts_constants.h"
#include "check_input.h"
#include "cia.h"
#include <cmath>
#include <memory>
#include <numeric>
#include "matpack_concepts.h"
#include "species_tags.h"
#include "absorption.h"
#include "file.h"
#include "interp.h"
Go to the source code of this file.
Functions | |
void | cia_interpolation (VectorView result, const ConstVectorView &f_grid, const Numeric &temperature, const GriddedField2 &cia_data, const Numeric &T_extrapolfac, const Index &robust, const Verbosity &verbosity) |
Interpolate CIA data. | |
Index | cia_get_index (const ArrayOfCIARecord &cia_data, const Species::Species sp1, const Species::Species sp2) |
Get the index in cia_data for the two given species. | |
std::shared_ptr< CIARecord > | cia_get_data (const std::vector< std::shared_ptr< CIARecord > > &cia_data, const Species::Species sp1, const Species::Species sp2) |
Get the correct cia recrod. | |
ostream & | operator<< (ostream &os, const CIARecord &) |
Output operator for CIARecord. | |
Variables | |
constexpr Numeric | SPEED_OF_LIGHT =Constant::speed_of_light |
Implementation file for work with HITRAN collision induced absorption (CIA).
The CIA data are part of the HITRAN distribution. They are described in Richard, C., I. E. Gordon, L. S. Rothman, M. Abel, L. Frommhold, M. Gustafsson, J.-M. Hartmann, C. Hermans, W. J. Lafferty, G. S. Orton, K.M. Smith, and H. Tran (2012), New section of the HITRAN database: Collision-induced absorption (CIA), J. Quant. Spectrosc. Radiat. Transfer, 113, 1276-1285, doi:10.1016/j.jqsrt.2011.11.004.
Definition in file cia.cc.
Index cia_get_index | ( | const ArrayOfCIARecord & | cia_data, |
const Species::Species | sp1, | ||
const Species::Species | sp2 | ||
) |
Get the index in cia_data for the two given species.
[in] | cia_data | CIA data array |
[in] | sp1 | First species index |
[in] | sp2 | Second species index |
Definition at line 213 of file cia.cc.
References Array< base >::nelem().
Referenced by abs_cia_dataAddCIARecord(), abs_cia_dataReadFromCIA(), abs_cia_dataReadFromXML(), abs_xsec_per_speciesAddCIA(), and propmat_clearskyAddCIA().
void cia_interpolation | ( | VectorView | result, |
const ConstVectorView & | f_grid, | ||
const Numeric & | temperature, | ||
const GriddedField2 & | cia_data, | ||
const Numeric & | T_extrapolfac, | ||
const Index & | robust, | ||
const Verbosity & | verbosity | ||
) |
Interpolate CIA data.
Interpolate CIA data to given frequency vector and given scalar temperature. Uses third order interpolation in both coordinates, if grid length allows, otherwise lower order or no interpolation.
[out] | result | CIA value for given frequency grid and temperature. |
[in] | f_grid | Frequency grid. |
[in] | temperature | Scalar temperature. |
[in] | cia_data | The CIA dataset to interpolate. |
[in] | robust | Set to 1 to suppress runtime errors (and return NAN values instead). |
[in] | verbosity | Standard verbosity object. |
Definition at line 41 of file cia.cc.
References ARTS_ASSERT, chk_interpolation_grids(), CREATE_OUTS, GriddedField2::data, GriddedField::get_numeric_grid(), and interpweights().
Referenced by CIARecord::Extract().
ostream & operator<< | ( | ostream & | os, |
const CIARecord & | cr | ||
) |
|
inlineconstexpr |
Definition at line 26 of file cia.cc.
Referenced by calcSingleScatteringDataProperties(), and CIARecord::ReadFromCIA().