ARTS  1.0.222
Public Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
LineRecord Class Reference

Spectral line catalog data. More...

#include <absorption.h>

Public Member Functions

 LineRecord ()
 Default constructor. More...
 
 LineRecord (Index species, Index isotope, Numeric f, Numeric psf, Numeric i0, Numeric ti0, Numeric elow, Numeric agam, Numeric sgam, Numeric nair, Numeric nself, Numeric tgam, const ArrayOfNumeric &aux, Numeric, Numeric, Numeric, Numeric, Numeric, Numeric, Numeric)
 Constructor that sets all data elements explicitly. More...
 
String Version () const
 Return the version String. More...
 
Index Species () const
 The index of the molecular species that this line belongs to. More...
 
Index Isotope () const
 The index of the isotopic species that this line belongs to. More...
 
String Name () const
 The full name of the species and isotope. More...
 
const SpeciesRecordSpeciesData () const
 The matching SpeciesRecord from species_data. More...
 
const IsotopeRecordIsotopeData () const
 The matching IsotopeRecord from species_data. More...
 
Numeric F () const
 The line center frequency in Hz. More...
 
void setF (Numeric new_mf)
 Set the line center frequency in Hz. More...
 
Numeric Psf () const
 The pressure shift parameter in Hz/Pa. More...
 
void setPsf (Numeric new_mpsf)
 Set the pressure shift parameter in Hz/Pa. More...
 
Numeric I0 () const
 The line intensity in m^2*Hz at the reference temperature Ti0. More...
 
void setI0 (Numeric new_mi0)
 Set Intensity. More...
 
Numeric Ti0 () const
 Reference temperature for I0 in K: More...
 
Numeric Elow () const
 Lower state energy in cm^-1: More...
 
Numeric Agam () const
 Air broadened width in Hz/Pa: More...
 
void setAgam (Numeric new_agam)
 Set Air broadened width in Hz/Pa: More...
 
Numeric Sgam () const
 Self broadened width in Hz/Pa: More...
 
void setSgam (Numeric new_sgam)
 Set Self broadened width in Hz/Pa: More...
 
Numeric Nair () const
 AGAM temperature exponent (dimensionless): More...
 
void setNair (Numeric new_mnair)
 Set AGAM temperature exponent (dimensionless): More...
 
Numeric Nself () const
 SGAM temperature exponent (dimensionless): More...
 
void setNself (Numeric new_mnself)
 Set SGAM temperature exponent (dimensionless): More...
 
Numeric Tgam () const
 Reference temperature for AGAM and SGAM in K: More...
 
Index Naux () const
 Number of auxiliary parameters. More...
 
const ArrayOfNumericAux () const
 Auxiliary parameters. More...
 
Numeric dF () const
 Accuracy for line position in Hz : More...
 
Numeric dI0 () const
 Accuracy for line intensity in relative value : More...
 
Numeric dAgam () const
 Accuracy for air broadened width in relative value : More...
 
Numeric dSgam () const
 Accuracy for self broadened width in relative value : More...
 
Numeric dNair () const
 Accuracy for AGAM temperature exponent in relative value : More...
 
Numeric dNself () const
 Accuracy for SGAM temperature exponent in relative value: More...
 
Numeric dPsf () const
 Accuracy for pressure shift in relative value : More...
 
bool ReadFromHitranStream (istream &is)
 Read one line from a stream associated with a HITRAN 1986-2001 file. More...
 
bool ReadFromHitran2004Stream (istream &is)
 Read one line from a stream associated with a HITRAN 2004 file. More...
 
bool ReadFromMytran2Stream (istream &is)
 Read one line from a stream associated with a MYTRAN2 file. More...
 
bool ReadFromJplStream (istream &is)
 Read one line from a stream associated with a JPL file. More...
 
bool ReadFromArtsStream (istream &is)
 Read one line from a stream associated with an Arts file. More...
 

Private Attributes

Index mspecies
 
Index misotope
 
Numeric mf
 
Numeric mpsf
 
Numeric mi0
 
Numeric mti0
 
Numeric melow
 
Numeric magam
 
Numeric msgam
 
Numeric mnair
 
Numeric mnself
 
Numeric mtgam
 
ArrayOfNumeric maux
 
Numeric mdf
 
Numeric mdi0
 
Numeric mdagam
 
Numeric mdsgam
 
Numeric mdnair
 
Numeric mdnself
 
Numeric mdpsf
 

Static Private Attributes

static const Index mversion = 3
 

Friends

void linesElowToJoule (Array< LineRecord > &lines)
 Make the helper function linesElowToJoule a friend, so that it can change the lower state energy. More...
 

Detailed Description

Spectral line catalog data.

Here is a description of the ARTS catalogue format:

To keep track of changes in the catalog format, every catalogue file must start with ARTSCAT-x. The current version is x=2. Files with different or missing version will be rejected. The current version is stored in the private member variable mversion. It can be read with member function Version, which returns a String ‘ARTSCAT-x’.

After the version tag (ARTSCAT-x), ARTS outputs the number of lines when catalogue files are written. This number is not used by reading routines, though.

The line catalogue should not have any fixed column widths because the precision of the parameters should not be limited by the format. The catalogue can then be stored as binary or ASCII. In the ASCII version the columns are separated by one or more blanks. The line format is then specified by only the order and the units of the columns. As the catalogue entry for each transition can be quite long, it can be broken across lines in the ASCII file. Each new transition is marked with a ‘&rsquo; character.

The first column will contain the species and isotope, following the naming scheme described below. Scientific notation is allowed, e.g. 501.12345e9.

Note that starting with ARTSCAT-2, the intensity is per molecule, i.e., it does not contain the isotope ratio. This is similar to JPL, but different to HITRAN.

The line format is:

Col  Variable                Label    Unit     Comment
------------------------------------------------------------------      
 0   `@'                         ENTRY        -     marks start of entry
 1   name                         NAME        -     e.g. O3-666
 2   center frequency                F       Hz     e.g. 501.12345e9 
 3   pressure shift of F           PSF    Hz/Pa    
 4   line intensity                 I0   m^2/Hz     per isotope, not per species
 5   reference temp. for I0       T_I0        K
 6   lower state energy           ELOW        J    
 7   air broadened width          AGAM    Hz/Pa     values around 20 GHz/Pa
 8   self broadened width         SGAM    Hz/Pa
 9   AGAM temp. exponent          NAIR        -     values around .5
10   SGAM temp. exponent         NSELF        - 
11   ref. temp. for AGAM, SGAM   T_GAM        K
12   number of aux. parameters   N_AUX        -
13   auxiliary parameter          AUX1        -
14   ... 
15   error for F                    DF       Hz
16   error for I0                  DI0        %
17   error for AGAM              DAGAM        %
18   error for SGAM              DSGAM        %
19   error for NAIR              DNAIR        %
20   error for NSELF            DNSELF        %
21   error for PSF                DPSF        %

The parameters 0-12 must be present, the others can be missing, since they are not needed for the calculation.

For the error fields (15-21), a -1 means that no value exist.

A valid ARTS line file would be:

ARTSCAT-2 2
@ CH4-211 1011349857.063 0 2.96070344144819e-27 296 2183.6851 13314.2468393782 21302.7949430052 0.75 0.75 296 0
@ O3-666 1088246622.54 0 2.82913939200384e-22 296 522.5576 21361.9693734024 27723.2206411054 0.76 0.76 296 0

Some species need special parameters that are not needed by other species (for example overlap coefficients for O2). In the case of oxygen two parameters are sufficient to describe the overlap, but other species, e.g., methane, may need more coefficients. The default for \texttt{N_AUX} is zero. In that case, no further \texttt{AUX} fields are present. [FIXME: Check Oxygen.]

The names of the private members and public access functions of this data structure follow the above table. The only difference is that underscores are omited and only the first letter of each name is capitalized. This is for consistency with the notation elsewhere in the program.

Author
Stefan Buehler

Definition at line 438 of file absorption.h.

Constructor & Destructor Documentation

◆ LineRecord() [1/2]

LineRecord::LineRecord ( )
inline

Default constructor.

Initialize to default values. The indices are initialized to large numbers, so that we at least get range errors when we try to used un-initialized data.

Definition at line 449 of file absorption.h.

◆ LineRecord() [2/2]

LineRecord::LineRecord ( Index  species,
Index  isotope,
Numeric  f,
Numeric  psf,
Numeric  i0,
Numeric  ti0,
Numeric  elow,
Numeric  agam,
Numeric  sgam,
Numeric  nair,
Numeric  nself,
Numeric  tgam,
const ArrayOfNumeric aux,
Numeric  ,
Numeric  ,
Numeric  ,
Numeric  ,
Numeric  ,
Numeric  ,
Numeric   
)
inline

Constructor that sets all data elements explicitly.

If assertions are not disabled (i.e., if NDEBUG is not #defined), assert statements check that the species and isotope data exists.

Definition at line 476 of file absorption.h.

Member Function Documentation

◆ Agam()

Numeric LineRecord::Agam ( ) const
inline

Air broadened width in Hz/Pa:

Definition at line 615 of file absorption.h.

◆ Aux()

const ArrayOfNumeric& LineRecord::Aux ( ) const
inline

Auxiliary parameters.

Definition at line 649 of file absorption.h.

◆ dAgam()

Numeric LineRecord::dAgam ( ) const
inline

Accuracy for air broadened width in relative value :

Definition at line 659 of file absorption.h.

◆ dF()

Numeric LineRecord::dF ( ) const
inline

Accuracy for line position in Hz :

Definition at line 653 of file absorption.h.

◆ dI0()

Numeric LineRecord::dI0 ( ) const
inline

Accuracy for line intensity in relative value :

Definition at line 656 of file absorption.h.

◆ dNair()

Numeric LineRecord::dNair ( ) const
inline

Accuracy for AGAM temperature exponent in relative value :

Definition at line 665 of file absorption.h.

◆ dNself()

Numeric LineRecord::dNself ( ) const
inline

Accuracy for SGAM temperature exponent in relative value:

Definition at line 668 of file absorption.h.

◆ dPsf()

Numeric LineRecord::dPsf ( ) const
inline

Accuracy for pressure shift in relative value :

Definition at line 671 of file absorption.h.

◆ dSgam()

Numeric LineRecord::dSgam ( ) const
inline

Accuracy for self broadened width in relative value :

Definition at line 662 of file absorption.h.

◆ Elow()

Numeric LineRecord::Elow ( ) const
inline

Lower state energy in cm^-1:

Definition at line 612 of file absorption.h.

◆ F()

Numeric LineRecord::F ( ) const
inline

The line center frequency in Hz.

Definition at line 580 of file absorption.h.

◆ I0()

Numeric LineRecord::I0 ( ) const
inline

The line intensity in m^2*Hz at the reference temperature Ti0.

The line intensity $I_0$ is defined by:

\[ \alpha(\nu) = n \, x \, I_0(T) \, F(\nu) \]

where $\alpha$ is the absorption coefficient (in m^-1), $\nu$ is frequency, $n$ is the total number density, $x$ is the volume mixing ratio, and $F(\nu)$ is the lineshape function.

Definition at line 603 of file absorption.h.

◆ Isotope()

Index LineRecord::Isotope ( ) const
inline

The index of the isotopic species that this line belongs to.

The isotopic species data can be accessed by species_data[Species()].Isotope()[Isotope()].

Definition at line 535 of file absorption.h.

◆ IsotopeData()

const IsotopeRecord& LineRecord::IsotopeData ( ) const
inline

The matching IsotopeRecord from species_data.

The IsotopeRecord is a subset of the SpeciesRecord. To get at the isotope data of a LineRecord lr, you can use: \begin{enumerate} \item species_data[lr.Species()].Isotope()[lr.Isotope()] \item lr.SpeciesData().Isotope()[lr.Isotope()] \item lr.IsotopeData() \end{enumerate} The last option is clearly the shortest, and has the advantage that you don't have to declare the external variable species_data.

Definition at line 573 of file absorption.h.

◆ Nair()

Numeric LineRecord::Nair ( ) const
inline

AGAM temperature exponent (dimensionless):

Definition at line 627 of file absorption.h.

◆ Name()

String LineRecord::Name ( ) const
inline

The full name of the species and isotope.

E.g., ‘O3-666’. The name is found by looking up the information in species_data, using the species and isotope index.

Definition at line 540 of file absorption.h.

◆ Naux()

Index LineRecord::Naux ( ) const
inline

Number of auxiliary parameters.

This function is actually redundant, since the number of auxiliary parameters can also be obtained directly with Aux.nelem(). I just added the function in order to have consistency of the interface with the catalgue format.

Definition at line 646 of file absorption.h.

◆ Nself()

Numeric LineRecord::Nself ( ) const
inline

SGAM temperature exponent (dimensionless):

Definition at line 633 of file absorption.h.

◆ Psf()

Numeric LineRecord::Psf ( ) const
inline

The pressure shift parameter in Hz/Pa.

Definition at line 586 of file absorption.h.

◆ ReadFromArtsStream()

bool LineRecord::ReadFromArtsStream ( istream &  is)

Read one line from a stream associated with an Arts file.

Format: see Documentation of class LineRecord

The function attempts to read a line of data from the catalogue. It returns false if it succeeds. Otherwise, if eof is reached, it returns true. If an error occurs, a runtime_error is thrown. When the function looks for a data line, comment lines are automatically skipped.

Parameters
isStream from which to read
Exceptions
runtime_errorSome error occured during the read
Returns
false=ok (data returned), true=eof (no data returned)
Date
2000-12-15
Author
Oliver Lemke
Date
2001-06-20
Author
Stefan Buehler

Definition at line 1718 of file absorption.cc.

◆ ReadFromHitran2004Stream()

bool LineRecord::ReadFromHitran2004Stream ( istream &  is)

Read one line from a stream associated with a HITRAN 2004 file.

The HITRAN format is as follows:

Each line consists of 160 ASCII characters, followed by a line feed (ASCII 10)
and carriage return (ASCII 13) character, for a total of 162 bytes per line.

Each item is defined below, with its Fortran format shown in parenthesis.

(I2)     molecule number
(I1)     isotopologue number (1 = most abundant, 2 = second, etc)
(F12.6)  vacuum wavenumbers (cm-1)
(E10.3)  intensity in cm-1/(molec * cm-2) at 296 Kelvin
(E10.3)  Einstein-A coefficient (s-1)
(F5.4)   air-broadened halfwidth (HWHM) in cm-1/atm at 296 Kelvin
(F5.4)   self-broadened halfwidth (HWHM) in cm-1/atm at 296 Kelvin
(F10.4)  lower state energy (cm-1)
(F4.2)   coefficient of temperature dependence of air-broadened halfwidth
(F8.6)   air-broadened pressure shift of line transition at 296 K (cm-1)
(A15)    upper state global quanta
(A15)    lower state global quanta
(A15)    upper state local quanta
(A15)    lower state local quanta
(I1)     uncertainty index for wavenumber
(I1)     uncertainty index for intensity
(I1)     uncertainty index for air-broadened half-width
(I1)     uncertainty index for self-broadened half-width
(I1)     uncertainty index for temperature dependence
(I1)     uncertainty index for pressure shift
(I2)     index for table of references correspond. to wavenumber
(I2)     index for table of references correspond. to intensity
(I2)     index for table of references correspond. to air-broadened half-width
(I2)     index for table of references correspond. to self-broadened half-width
(I2)     index for table of references correspond. to temperature dependence
(I2)     index for table of references correspond. to pressure shift
(A1)     flag (*) for lines supplied with line-coupling algorithm
(F7.1)   upper state statistical weight
(F7.1)   lower state statistical weight

 The molecule numbers are encoded as shown in the table below:

  0= Null    1=  H2O    2=  CO2    3=   O3    4=  N2O    5=    CO
  6=  CH4    7=   O2    8=   NO    9=  SO2   10=  NO2   11=   NH3
 12= HNO3   13=   OH   14=   HF   15=  HCl   16=  HBr   17=    HI
 18=  ClO   19=  OCS   20= H2CO   21= HOCl   22=   N2   23=   HCN
 24=CH3Cl   25= H2O2   26= C2H2   27= C2H6   28=  PH3   29=  COF2
 30=  SF6   31=  H2S   32=HCOOH   33=  HO2   34=    O   35=ClONO2
 36=  NO+   37= HOBr   38= C2H4

CH3OH is not included in ARTS because its total internal partition sum is not known yet.

The function attempts to read a line of data from the catalogue. It returns false if it succeeds. Otherwise, if eof is reached, it returns true. If an error occurs, a runtime_error is thrown. When the function looks for a data line, comment lines are automatically skipped. It is checked if the data record has the right number of characters (comment lines are ignored). If not, a runtime_error is thrown. If the molecule is unknown to ARTS, a warning is prompted but the program continues (ignoring this record). For CH3OH this warning will be issued even when using the regular Hitran 2004 data base (see above).

Parameters
isStream from which to read
Exceptions
runtime_errorSome error occured during the read
Returns
false=ok (data returned), true=eof (no data returned)
Author
Stefan Buehler, Hermann Berg

Definition at line 609 of file absorption.cc.

◆ ReadFromHitranStream()

bool LineRecord::ReadFromHitranStream ( istream &  is)

Read one line from a stream associated with a HITRAN 1986-2001 file.

The HITRAN format is as follows (directly from the HITRAN documentation):

Each line consists of 100
bytes of ASCII text data, followed by a line feed (ASCII 10) and
carriage return (ASCII 13) character, for a total of 102 bytes per line.
Each line can be read using the following READ and FORMAT statement pair
(for a FORTRAN sequential access read):

      READ(3,800) MO,ISO,V,S,R,AGAM,SGAM,E,N,d,V1,V2,Q1,Q2,IERF,IERS,
     *  IERH,IREFF,IREFS,IREFH
800   FORMAT(I2,I1,F12.6,1P2E10.3,0P2F5.4,F10.4,F4.2,F8.6,2I3,2A9,3I1,3I2)

Each item is defined below, with its format shown in parenthesis.

  MO  (I2)  = molecule number
  ISO (I1)  = isotope number (1 = most abundant, 2 = second, etc)
  V (F12.6) = frequency of transition in wavenumbers (cm-1)
  S (E10.3) = intensity in cm-1/(molec * cm-2) at 296 Kelvin
  R (E10.3) = transition probability squared in Debyes**2
  AGAM (F5.4) = air-broadened halfwidth (HWHM) in cm-1/atm at 296 Kelvin
  SGAM (F5.4) = self-broadened halfwidth (HWHM) in cm-1/atm at 296 Kelvin
  E (F10.4) = lower state energy in wavenumbers (cm-1)
  N (F4.2) = coefficient of temperature dependence of air-broadened halfwidth
  d (F8.6) = shift of transition due to pressure (cm-1)
  V1 (I3) = upper state global quanta index
  V2 (I3) = lower state global quanta index
  Q1 (A9) = upper state local quanta
  Q2 (A9) = lower state local quanta
  IERF (I1) = accuracy index for frequency reference
  IERS (I1) = accuracy index for intensity reference
  IERH (I1) = accuracy index for halfwidth reference
  IREFF (I2) = lookup index for frequency
  IREFS (I2) = lookup index for intensity
  IREFH (I2) = lookup index for halfwidth

The molecule numbers are encoded as shown in the table below:

  0= Null    1=  H2O    2=  CO2    3=   O3    4=  N2O    5=   CO
  6=  CH4    7=   O2    8=   NO    9=  SO2   10=  NO2   11=  NH3
 12= HNO3   13=   OH   14=   HF   15=  HCl   16=  HBr   17=   HI
 18=  ClO   19=  OCS   20= H2CO   21= HOCl   22=   N2   23=  HCN
 24=CH3Cl   25= H2O2   26= C2H2   27= C2H6   28=  PH3   29= COF2
 30=  SF6   31=  H2S   32=HCOOH

The function attempts to read a line of data from the catalogue. It returns false if it succeeds. Otherwise, if eof is reached, it returns true. If an error occurs, a runtime_error is thrown. When the function looks for a data line, comment lines are automatically skipped. It is checked if the data record has the right number of characters. If not, a runtime_error is thrown.

Parameters
isStream from which to read
Exceptions
runtime_errorSome error occured during the read
Returns
false=ok (data returned), true=eof (no data returned)
Author
Stefan Buehler

Definition at line 159 of file absorption.cc.

◆ ReadFromJplStream()

bool LineRecord::ReadFromJplStream ( istream &  is)

Read one line from a stream associated with a JPL file.

The JPL format is as follows (directly taken from the jpl documentation):

The catalog line files are composed of 80-character lines, with one
line entry per spectral line.  The format of each line is:

\label{lfmt}
\begin{tabular}{@{}lccccccccr@{}}
FREQ, & ERR, & LGINT, & DR, & ELO, & GUP, & TAG, & QNFMT, & QN${'}$, & QN${''}$\\ 
(F13.4, & F8.4, & F8.4, & I2, & F10.4, & I3, & I7, & I4, & 6I2, & 6I2)\\
\end{tabular}

\begin{tabular}{lp{4.5in}} 
FREQ: & Frequency of the line in MHz.\\ 
ERR: & Estimated or experimental error of FREQ in MHz.\\ 
LGINT: &Base 10 logarithm of the integrated intensity 
in units of \linebreak nm$^2$$\cdot$MHz at 300 K. (See Section 3 for 
conversions to other units.)\\ 
DR: & Degrees of freedom in the rotational partition 
function (0 for atoms, 2 for linear molecules, and 3 for nonlinear 
molecules).\\ 
ELO: &Lower state energy in cm$^{-1}$ relative to the lowest energy 
spin--rotation level in ground vibronic state.\\ 
GUP: & Upper state degeneracy.\\ 
TAG: & Species tag or molecular identifier. 
A negative value flags that the line frequency has 
been measured in the laboratory.  The absolute value of TAG is then the 
species tag and ERR is the reported experimental error.  The three most 
significant digits of the species tag are coded as the mass number of the 
species, as explained above.\\ 
QNFMT: &Identifies the format of the quantum numbers 
given in the field QN. These quantum number formats are given in Section 5 
and are different from those in the first two editions of the catalog.\\ 
QN${'}$: & Quantum numbers for the upper state coded 
according to QNFMT.\\ 
QN${''}$: & Quantum numbers for the lower state.\\
\end{tabular} 

The function attempts to read a line of data from the catalogue. It returns false if it succeeds. Otherwise, if eof is reached, it returns true. If an error occurs, a runtime_error is thrown. When the function looks for a data line, comment lines are automatically skipped (unused in jpl).

Parameters
isStream from which to read
Exceptions
runtime_errorSome error occured during the read
Returns
false=ok (data returned), true=eof (no data returned)
Date
01.11.00
Author
Axel von Engeln

Definition at line 1474 of file absorption.cc.

◆ ReadFromMytran2Stream()

bool LineRecord::ReadFromMytran2Stream ( istream &  is)

Read one line from a stream associated with a MYTRAN2 file.

The MYTRAN2 format is as follows (directly taken from the abs_my.c documentation):

The MYTRAN format is as follows (FORTRAN notation):
FORMAT(I2,I1,F13.4,1PE10.3,0P2F5.2,F10.4,2F4.2,F8.6,F6.4,2I3,2A9,4I1,3I2)

Each item is defined below, with its FORMAT String shown in
parenthesis.

   MO  (I2)      = molecule number
   ISO (I1)      = isotope number (1 = most abundant, 2 = second, etc)
*  F (F13.4)     = frequency of transition in MHz
*  errf (F8.4)   = error in f in MHz
   S (E10.3)     = intensity in cm-1/(molec * cm-2) at 296 K
*  AGAM (F5.4)   = air-broadened halfwidth (HWHM) in MHz/Torr at Tref
*  SGAM (F5.4)   = self-broadened halfwidth (HWHM) in MHz/Torr at Tref
   E (F10.4)     = lower state energy in wavenumbers (cm-1)
   N (F4.2)      = coefficient of temperature dependence of 
                   air-broadened halfwidth
*  N_self (F4.2) = coefficient of temperature dependence of 
                   self-broadened halfwidth
*  Tref (F7.2)   = reference temperature for AGAM and SGAM 
*  d (F9.7)      = shift of transition due to pressure (MHz/Torr)
   V1 (I3)       = upper state global quanta index
   V2 (I3)       = lower state global quanta index
   Q1 (A9)       = upper state local quanta
   Q2 (A9)       = lower state local quanta
   IERS (I1)     = accuracy index for S
   IERH (I1)     = accuracy index for AGAM
*  IERN (I1)     = accuracy index for N


The asterisks mark entries that are different from HITRAN.

Note that AGAM and SGAM are for the temperature Tref, while S is
still for 296 K!

The molecule numbers are encoded as shown in the table below:

 0= Null    1=  H2O    2=  CO2    3=   O3    4=  N2O    5=   CO
 6=  CH4    7=   O2    8=   NO    9=  SO2   10=  NO2   11=  NH3
12= HNO3   13=   OH   14=   HF   15=  HCl   16=  HBr   17=   HI
18=  ClO   19=  OCS   20= H2CO   21= HOCl   22=   N2   23=  HCN
24=CH3Cl   25= H2O2   26= C2H2   27= C2H6   28=  PH3   29= COF2
30=  SF6   31=  H2S   32=HCOOH   33= HO2    34=    O   35= CLONO2
36=  NO+   37= Null   38= Null   39= Null   40=H2O_L   41= Null
42= Null   43= OCLO   44= Null   45= Null   46=BRO     47= Null
48= H2SO4  49=CL2O2

All molecule numbers are from HITRAN, except for species with id's
greater or equals 40, which are not included in HITRAN.
(E.g.: For BrO, iso=1 is Br-79-O,iso=2 is  Br-81-O.)

The function attempts to read a line of data from the catalogue. It returns false if it succeeds. Otherwise, if eof is reached, it returns true. If an error occurs, a runtime_error is thrown. When the function looks for a data line, comment lines are automatically skipped.

Parameters
isStream from which to read
Exceptions
runtime_errorSome error occured during the read
Returns
false=ok (data returned), true=eof (no data returned)
Date
31.10.00
Author
Axel von Engeln

Definition at line 1075 of file absorption.cc.

◆ setAgam()

void LineRecord::setAgam ( Numeric  new_agam)
inline

Set Air broadened width in Hz/Pa:

Definition at line 618 of file absorption.h.

◆ setF()

void LineRecord::setF ( Numeric  new_mf)
inline

Set the line center frequency in Hz.

Definition at line 583 of file absorption.h.

◆ setI0()

void LineRecord::setI0 ( Numeric  new_mi0)
inline

Set Intensity.

Definition at line 606 of file absorption.h.

◆ setNair()

void LineRecord::setNair ( Numeric  new_mnair)
inline

Set AGAM temperature exponent (dimensionless):

Definition at line 630 of file absorption.h.

◆ setNself()

void LineRecord::setNself ( Numeric  new_mnself)
inline

Set SGAM temperature exponent (dimensionless):

Definition at line 636 of file absorption.h.

◆ setPsf()

void LineRecord::setPsf ( Numeric  new_mpsf)
inline

Set the pressure shift parameter in Hz/Pa.

Definition at line 589 of file absorption.h.

◆ setSgam()

void LineRecord::setSgam ( Numeric  new_sgam)
inline

Set Self broadened width in Hz/Pa:

Definition at line 624 of file absorption.h.

◆ Sgam()

Numeric LineRecord::Sgam ( ) const
inline

Self broadened width in Hz/Pa:

Definition at line 621 of file absorption.h.

◆ Species()

Index LineRecord::Species ( ) const
inline

The index of the molecular species that this line belongs to.

The species data can be accessed by species_data[Species()].

Definition at line 530 of file absorption.h.

◆ SpeciesData()

const SpeciesRecord& LineRecord::SpeciesData ( ) const
inline

The matching SpeciesRecord from species_data.

To get at the species data of a LineRecord lr, you can use: \begin{enumerate} \item species_data[lr.Species()] \item lr.SpeciesData() \end{enumerate} The only advantages of the latter are that the notation is slightly nicer and that you don't have to declare the external variable species_data.

Definition at line 556 of file absorption.h.

◆ Tgam()

Numeric LineRecord::Tgam ( ) const
inline

Reference temperature for AGAM and SGAM in K:

Definition at line 639 of file absorption.h.

◆ Ti0()

Numeric LineRecord::Ti0 ( ) const
inline

Reference temperature for I0 in K:

Definition at line 609 of file absorption.h.

◆ Version()

String LineRecord::Version ( ) const
inline

Return the version String.

Definition at line 521 of file absorption.h.

Friends And Related Function Documentation

◆ linesElowToJoule

void linesElowToJoule ( Array< LineRecord > &  lines)
friend

Make the helper function linesElowToJoule a friend, so that it can change the lower state energy.

FIXME: Remove this when we don't need the helper function anymore.

Definition at line 319 of file m_abs.cc.

Member Data Documentation

◆ magam

Numeric LineRecord::magam
private

Definition at line 978 of file absorption.h.

◆ maux

ArrayOfNumeric LineRecord::maux
private

Definition at line 988 of file absorption.h.

◆ mdagam

Numeric LineRecord::mdagam
private

Definition at line 997 of file absorption.h.

◆ mdf

Numeric LineRecord::mdf
private

Definition at line 993 of file absorption.h.

◆ mdi0

Numeric LineRecord::mdi0
private

Definition at line 995 of file absorption.h.

◆ mdnair

Numeric LineRecord::mdnair
private

Definition at line 1001 of file absorption.h.

◆ mdnself

Numeric LineRecord::mdnself
private

Definition at line 1003 of file absorption.h.

◆ mdpsf

Numeric LineRecord::mdpsf
private

Definition at line 1005 of file absorption.h.

◆ mdsgam

Numeric LineRecord::mdsgam
private

Definition at line 999 of file absorption.h.

◆ melow

Numeric LineRecord::melow
private

Definition at line 976 of file absorption.h.

◆ mf

Numeric LineRecord::mf
private

Definition at line 968 of file absorption.h.

◆ mi0

Numeric LineRecord::mi0
private

Definition at line 972 of file absorption.h.

◆ misotope

Index LineRecord::misotope
private

Definition at line 966 of file absorption.h.

◆ mnair

Numeric LineRecord::mnair
private

Definition at line 982 of file absorption.h.

◆ mnself

Numeric LineRecord::mnself
private

Definition at line 984 of file absorption.h.

◆ mpsf

Numeric LineRecord::mpsf
private

Definition at line 970 of file absorption.h.

◆ msgam

Numeric LineRecord::msgam
private

Definition at line 980 of file absorption.h.

◆ mspecies

Index LineRecord::mspecies
private

Definition at line 964 of file absorption.h.

◆ mtgam

Numeric LineRecord::mtgam
private

Definition at line 986 of file absorption.h.

◆ mti0

Numeric LineRecord::mti0
private

Definition at line 974 of file absorption.h.

◆ mversion

const Index LineRecord::mversion = 3
staticprivate

Definition at line 962 of file absorption.h.


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