ARTS 2.5.0 (git: 9ee3ac6c)
CIARecord Class Reference

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

#include <cia.h>

Public Member Functions

String MoleculeName (const Index i) const
 Return each molecule name (as a string) that is associated with this CIARecord. More...
 
void SetMoleculeName (const Index i, const String &name)
 Set each molecule name (from a string) that is associated with this CIARecord. More...
 
Species::Species Species (const Index i) const
 Return CIA species index. More...
 
Index DatasetCount () const
 Return number of datasets in this record. More...
 
ConstVectorView FrequencyGrid (Index dataset) const
 Return frequency grid for given dataset. More...
 
ConstVectorView TemperatureGrid (Index dataset) const
 Return temperatur grid for given dataset. More...
 
const GriddedField2Dataset (Index dataset) const
 Return CIA dataset. More...
 
const ArrayOfGriddedField2Data () const
 Return CIA data. More...
 
ArrayOfGriddedField2Data ()
 Return CIA data. More...
 
void SetSpecies (const Species::Species first, const Species::Species second)
 Set CIA species. More...
 
void Extract (VectorView result, ConstVectorView f_grid, const Numeric &temperature, const Index &dataset, const Numeric &T_extrapolfac, const Index &robust, const Verbosity &verbosity) const
 Vector version of extract. More...
 
Numeric Extract (const Numeric &frequency, const Numeric &temperature, const Index &dataset, const Numeric &T_extrapolfac, const Index &robust, const Verbosity &verbosity) const
 Scalar version of extract. More...
 
void ReadFromCIA (const String &filename, const Verbosity &verbosity)
 Read CIA catalog file. More...
 
void AppendDataset (const CIARecord &c2)
 Append other CIARecord to this. More...
 

Private Member Functions

void AppendDataset (const Vector &freq, const ArrayOfNumeric &temp, const ArrayOfVector &cia)
 Append dataset to mdata. More...
 

Private Attributes

ArrayOfGriddedField2 mdata
 The data itself, directly from the HITRAN file. More...
 
Species::Species mspecies [2]
 The pair of molecules associated with these CIA data. More...
 

Friends

void xml_read_from_stream (istream &is_xml, CIARecord &cr, bifstream *pbifs, const Verbosity &verbosity)
 Reads CIARecord from XML input stream. More...
 

Detailed Description

CIA data for a single pair of molecules.

A variable of this class can hold the complete information from one HITRAN CIA file. A HITRAN CIA data file can hold several datasets (data for different temperatures but fixed frequency range). But all datasets are for the same pair of molecules.

Author
Stefan Buehler
Date
2000-08-21

Definition at line 68 of file cia.h.

Member Function Documentation

◆ AppendDataset() [1/2]

void CIARecord::AppendDataset ( const CIARecord c2)

Append other CIARecord to this.

Definition at line 480 of file cia.cc.

References Dataset(), DatasetCount(), and mdata.

Referenced by ReadFromCIA().

◆ AppendDataset() [2/2]

void CIARecord::AppendDataset ( const Vector freq,
const ArrayOfNumeric temp,
const ArrayOfVector cia 
)
private

Append dataset to mdata.

Append data dataset to mdata.

Definition at line 462 of file cia.cc.

References GriddedField2::data, joker, mdata, ConstVectorView::nelem(), GriddedField2::resize(), GriddedField::set_grid(), GriddedField::set_grid_name(), and temp.

◆ Data() [1/2]

ArrayOfGriddedField2 & CIARecord::Data ( )
inline

Return CIA data.

Definition at line 142 of file cia.h.

References mdata.

◆ Data() [2/2]

const ArrayOfGriddedField2 & CIARecord::Data ( ) const
inline

Return CIA data.

Definition at line 138 of file cia.h.

References mdata.

Referenced by xml_write_to_stream().

◆ Dataset()

const GriddedField2 & CIARecord::Dataset ( Index  dataset) const
inline

Return CIA dataset.

Definition at line 129 of file cia.h.

References ARTS_ASSERT, mdata, and Array< base >::nelem().

Referenced by AppendDataset().

◆ DatasetCount()

Index CIARecord::DatasetCount ( ) const
inline

Return number of datasets in this record.

Definition at line 107 of file cia.h.

References mdata, and Array< base >::nelem().

Referenced by AppendDataset().

◆ Extract() [1/2]

Numeric CIARecord::Extract ( const Numeric frequency,
const Numeric temperature,
const Index dataset,
const Numeric T_extrapolfac,
const Index robust,
const Verbosity verbosity 
) const
inline

Scalar version of extract.

Use the vector version, if you can, it is more efficient. This is just a convenience wrapper for it.

Returns
Scalar CIA value at given frequency and temperature.
Parameters
[in]frequencyScalar frequency
[in]temperatureScalar temparature
[in]datasetIndex of dataset to use
[in]robustSet to 1 to suppress runtime errors (and return NAN values instead).
[in]verbosityStandard verbosity object.

Definition at line 185 of file cia.h.

References Extract().

◆ Extract() [2/2]

void CIARecord::Extract ( VectorView  result,
ConstVectorView  f_grid,
const Numeric temperature,
const Index dataset,
const Numeric T_extrapolfac,
const Index robust,
const Verbosity verbosity 
) const

Vector version of extract.

Check whether there is a suitable dataset in the CIARecord and do the interpolation.

Parameters
[out]resultCIA value for given frequency grid and temperature.
[in]f_gridFrequency grid.
[in]temperatureScalar temparature.
[in]datasetIndex of dataset to use.
[in]robustSet to 1 to suppress runtime errors (and return NAN values instead).
[in]verbosityStandard verbosity object.

Definition at line 237 of file cia.cc.

References cia_interpolation(), mdata, and Array< base >::nelem().

Referenced by abs_xsec_per_speciesAddCIA(), and Extract().

◆ FrequencyGrid()

ConstVectorView CIARecord::FrequencyGrid ( Index  dataset) const
inline

Return frequency grid for given dataset.

Definition at line 111 of file cia.h.

References ARTS_ASSERT, mdata, and Array< base >::nelem().

◆ MoleculeName()

String CIARecord::MoleculeName ( const Index  i) const

Return each molecule name (as a string) that is associated with this CIARecord.

The CIARecord is defined for a pair of molecules!

Parameters
[in]iMust be either 0 or 1. Then the first or second name of the pair is returned.

Definition at line 265 of file cia.cc.

References ARTS_ASSERT, and mspecies.

Referenced by abs_xsec_per_speciesAddCIA(), and xml_write_to_stream().

◆ ReadFromCIA()

void CIARecord::ReadFromCIA ( const String filename,
const Verbosity verbosity 
)

Read CIA catalog file.

Reads the given CIA catalog file into this CIARecord.

Parameters
[in]filenamePath of catalog file to read.
[in]verbosity.
Returns
os

Definition at line 301 of file cia.cc.

References AppendDataset(), c, CREATE_OUT2, nonstd::isnan(), mdata, my_basic_string< charT >::nelem(), open_input_file(), Vector::resize(), SPEED_OF_LIGHT, temp, and w.

Referenced by CIARecordReadFromFile().

◆ SetMoleculeName()

void CIARecord::SetMoleculeName ( const Index  i,
const String name 
)

Set each molecule name (from a string) that is associated with this CIARecord.

The CIARecord is defined for a pair of molecules. The molecule names are internally stored as species indices.

Parameters
[in]iMust be either 0 or 1. Then the first or second name of the pair is returned.
[in]nameThe molecule name as a string, e.g., "H2O".

Definition at line 276 of file cia.cc.

References ARTS_ASSERT, ARTS_USER_ERROR_IF, good_enum(), and mspecies.

◆ SetSpecies()

void CIARecord::SetSpecies ( const Species::Species  first,
const Species::Species  second 
)
inline

Set CIA species.

Parameters
[in]firstCIA Species.
[in]secondCIA Species.

Definition at line 148 of file cia.h.

References mspecies.

Referenced by CIARecordReadFromFile().

◆ Species()

Species::Species CIARecord::Species ( const Index  i) const
inline

Return CIA species index.

Parameters
[in]iMust be either 0 or 1. Then the first or second species index is returned.

Definition at line 97 of file cia.h.

References ARTS_ASSERT, and mspecies.

Referenced by abs_cia_dataAddCIARecord(), and abs_xsec_per_speciesAddCIA().

◆ TemperatureGrid()

ConstVectorView CIARecord::TemperatureGrid ( Index  dataset) const
inline

Return temperatur grid for given dataset.

Definition at line 120 of file cia.h.

References ARTS_ASSERT, mdata, and Array< base >::nelem().

Friends And Related Function Documentation

◆ xml_read_from_stream

void xml_read_from_stream ( istream &  is_xml,
CIARecord cr,
bifstream pbifs,
const Verbosity verbosity 
)
friend

Reads CIARecord from XML input stream.

Parameters
is_xmlXML Input stream
irecordCIARecord return value
pbifsPointer to binary input stream. NULL in case of ASCII file.

Definition at line 46 of file xml_io_compound_types.cc.

Member Data Documentation

◆ mdata

ArrayOfGriddedField2 CIARecord::mdata
private

The data itself, directly from the HITRAN file.

Dimensions: Array dimension: Dataset. One file (one molecule pair) can have different datasets, typically for different temperature or frequency ranges. Gridded field dimension 1: Frequency [Hz]. Gridded field dimension 2: Temperature [K]. Data: Binary absorption cross-sections in m^5 molec^(-2)

Definition at line 233 of file cia.h.

Referenced by AppendDataset(), Data(), Dataset(), DatasetCount(), Extract(), FrequencyGrid(), ReadFromCIA(), and TemperatureGrid().

◆ mspecies

Species::Species CIARecord::mspecies[2]
private

The pair of molecules associated with these CIA data.

Molecules are specified by their ARTS internal mspecies index! (This has to be determined upon reading from a file. Should it ever be written out, it has to be mapped to a string again.)

We use a plain C array here, since the length of this is always 2.

Definition at line 243 of file cia.h.

Referenced by MoleculeName(), SetMoleculeName(), SetSpecies(), and Species().


The documentation for this class was generated from the following files: