ARTS  2.2.66
m_linemixing.cc File Reference
#include "arts.h"
#include "absorption.h"
#include "file.h"
#include "linemixingrecord.h"

Go to the source code of this file.

Functions

void line_mixing_dataInit (ArrayOfArrayOfLineMixingRecord &line_mixing_data, ArrayOfArrayOfIndex &line_mixing_data_lut, const ArrayOfArrayOfSpeciesTag &abs_species, const Verbosity &)
 WORKSPACE METHOD: line_mixing_dataInit. More...
 
void line_mixing_dataMatch (ArrayOfArrayOfLineMixingRecord &line_mixing_data, ArrayOfArrayOfIndex &line_mixing_data_lut, const ArrayOfArrayOfLineRecord &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const String &species_tag, const ArrayOfLineMixingRecord &line_mixing_records, const Verbosity &verbosity)
 WORKSPACE METHOD: line_mixing_dataMatch. More...
 
void ArrayOfLineMixingRecordReadAscii (ArrayOfLineMixingRecord &line_mixing_records, const String &filename, const Verbosity &verbosity)
 WORKSPACE METHOD: ArrayOfLineMixingRecordReadAscii. More...
 

Function Documentation

◆ ArrayOfLineMixingRecordReadAscii()

void ArrayOfLineMixingRecordReadAscii ( ArrayOfLineMixingRecord line_mixing_records,
const String filename,
const Verbosity verbosity 
)

WORKSPACE METHOD: ArrayOfLineMixingRecordReadAscii.

Read line mixing data from an ASCII file.

This is merely a convenience function to convert data from Richard's ASCII format into XML. For example: <br> ArrayOfLineMixingRecordCreate(lm_convert) <br> ArrayOfLineMixingRecordReadAscii(lm_convert, "o2_v1_0_band_40-120_GHz") <br> WriteXML("zascii", lm_convert, "o2_v1_0_band_40-120_GHz.xml")

After reading the data it must be matched to abs_lines_per_species. See line_mixing_dataMatch.

Format Documentation: Quantum numbers: v1, Upper N, Lower N, Upper J, Lower J, First Order Zeroth Phase Correction, First Order First Phase Correction, Second Order Zeroth Absorption Correction, Second Order First Absorption Correction, Second Order Zeroth Line-Center Correction, Second Order First Line-Center Correction, Standard Temperature For Corrections, First Order Phase Temperature Correction Exponential Term, Second Order Absorption Temperature Correction Exponential Term, and Second Order Line-Center Temperature Correction Exponential Term.

Author
Oliver Lemke
Parameters
[out]line_mixing_recordsGeneric output
[in]filenameGeneric Input

Definition at line 125 of file m_linemixing.cc.

References CREATE_OUT2, LineMixingRecord::Data(), SpeciesTag::Isotopologue(), Array< base >::nelem(), my_basic_string< charT >::nelem(), open_input_file(), QN_J, QN_N, QN_v1, LineMixingRecord::Quantum(), QuantumNumberRecord::SetLower(), QuantumNumberRecord::SetUpper(), SpeciesTag::Species(), and my_basic_string< charT >::trim().

Referenced by ArrayOfLineMixingRecordReadAscii_g().

◆ line_mixing_dataInit()

void line_mixing_dataInit ( ArrayOfArrayOfLineMixingRecord line_mixing_data,
ArrayOfArrayOfIndex line_mixing_data_lut,
const ArrayOfArrayOfSpeciesTag abs_species,
const Verbosity verbosity 
)

WORKSPACE METHOD: line_mixing_dataInit.

Initialize line_mixing_data and line_mixing_data_lut. Resizes first dimension of both to the same size as abs_species.

Author
Oliver Lemke
Parameters
[out]line_mixing_dataWS Output
[out]line_mixing_data_lutWS Output
[in]abs_speciesWS Input

Definition at line 25 of file m_linemixing.cc.

References Array< base >::nelem().

Referenced by line_mixing_dataInit_g().

◆ line_mixing_dataMatch()

void line_mixing_dataMatch ( ArrayOfArrayOfLineMixingRecord line_mixing_data,
ArrayOfArrayOfIndex line_mixing_data_lut,
const ArrayOfArrayOfLineRecord abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const String species_tag,
const ArrayOfLineMixingRecord line_mixing_records,
const Verbosity verbosity 
)

WORKSPACE METHOD: line_mixing_dataMatch.

Matches line mixing records to a species in abs_lines_per_species. line_mixing_dataInit* must be called before this method.

<br> ArrayOfLineMixingRecordCreate(lm_o2) <br> ReadXML(lm_o2, "o2_v1_0_band_40-120_GHz.xml") <br> line_mixing_dataInit <br> line_mixing_dataMatch(species_tag="O2-66-LM_2NDORDER", <br> line_mixing_records=lm_o2)

Author
Oliver Lemke
Parameters
[out]line_mixing_dataWS Output
[out]line_mixing_data_lutWS Output
[in]abs_lines_per_speciesWS Input
[in]abs_speciesWS Input
[in]species_tagGeneric Input
[in]line_mixing_recordsGeneric Input

Definition at line 39 of file m_linemixing.cc.

References CREATE_OUT2, CREATE_OUT3, find_matching_lines(), LineMixingRecord::Isotopologue(), Array< base >::nelem(), LineMixingRecord::Quantum(), and LineMixingRecord::Species().

Referenced by line_mixing_dataMatch_g().