ARTS 2.5.11 (git: 725533f0)
cia.h File Reference

Header file for work with HITRAN collision induced absorption (CIA). More...

#include <memory>
#include "gridded_fields.h"
#include "matpack_data.h"
#include "messages.h"
#include "mystring.h"
#include "species.h"

Go to the source code of this file.

Classes

class  CIARecord
 CIA data for a single pair of molecules. More...
 

Typedefs

using ArrayOfCIARecord = Array< CIARecord >
 

Functions

void cia_interpolation (VectorView result, const ConstVectorView &frequency, 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< CIARecordcia_get_data (const std::vector< std::shared_ptr< CIARecord > > &cia_data, const Species::Species sp1, const Species::Species sp2)
 Get the correct cia recrod.
 

Detailed Description

Header 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.

Author
Stefan Buehler
Date
2012-11-30

Definition in file cia.h.

Typedef Documentation

◆ ArrayOfCIARecord

Definition at line 29 of file cia.h.

Function Documentation

◆ cia_get_data()

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.

Parameters
[in]cia_dataCIA data array
[in]sp1First species index
[in]sp2Second species index
Returns
Correct CIA record or nullptr if not found.

Definition at line 232 of file cia.cc.

◆ cia_get_index()

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.

Parameters
[in]cia_dataCIA data array
[in]sp1First species index
[in]sp2Second species index
Returns
Index of this species combination in cia_data. -1 if not found.

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().

◆ cia_interpolation()

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.

Parameters
[out]resultCIA value for given frequency grid and temperature.
[in]f_gridFrequency grid.
[in]temperatureScalar temperature.
[in]cia_dataThe CIA dataset to interpolate.
[in]robustSet to 1 to suppress runtime errors (and return NAN values instead).
[in]verbosityStandard 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().