LineRecord Class Reference

Spectral line catalog data. More...

#include <absorption.h>

List of all members.

Public Member Functions

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

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.


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 `@' 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 {N} is zero. In that case, no further {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::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::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

String LineRecord::Version (  )  const [inline]

Return the version String.

Definition at line 521 of file absorption.h.

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.

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.

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.

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: {enumerate} species_data[lr.Species()] lr.SpeciesData() {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.

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: {enumerate} species_data[lr.Species()].Isotope()[lr.Isotope()] lr.SpeciesData().Isotope()[lr.Isotope()] lr.IsotopeData() {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.

Numeric LineRecord::F (  )  const [inline]

The line center frequency in Hz.

Definition at line 580 of file absorption.h.

void LineRecord::setF ( Numeric  new_mf  )  [inline]

Set the line center frequency in Hz.

Definition at line 583 of file absorption.h.

Numeric LineRecord::Psf (  )  const [inline]

The pressure shift parameter in Hz/Pa.

Definition at line 586 of file absorption.h.

void LineRecord::setPsf ( Numeric  new_mpsf  )  [inline]

Set the pressure shift parameter in Hz/Pa.

Definition at line 589 of file absorption.h.

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.

void LineRecord::setI0 ( Numeric  new_mi0  )  [inline]

Set Intensity.

Definition at line 606 of file absorption.h.

Numeric LineRecord::Ti0 (  )  const [inline]

Reference temperature for I0 in K:.

Definition at line 609 of file absorption.h.

Numeric LineRecord::Elow (  )  const [inline]

Lower state energy in cm^-1:.

Definition at line 612 of file absorption.h.

Numeric LineRecord::Agam (  )  const [inline]

Air broadened width in Hz/Pa:.

Definition at line 615 of file absorption.h.

void LineRecord::setAgam ( Numeric  new_agam  )  [inline]

Set Air broadened width in Hz/Pa:.

Definition at line 618 of file absorption.h.

Numeric LineRecord::Sgam (  )  const [inline]

Self broadened width in Hz/Pa:.

Definition at line 621 of file absorption.h.

void LineRecord::setSgam ( Numeric  new_sgam  )  [inline]

Set Self broadened width in Hz/Pa:.

Definition at line 624 of file absorption.h.

Numeric LineRecord::Nair (  )  const [inline]

AGAM temperature exponent (dimensionless):.

Definition at line 627 of file absorption.h.

void LineRecord::setNair ( Numeric  new_mnair  )  [inline]

Set AGAM temperature exponent (dimensionless):.

Definition at line 630 of file absorption.h.

Numeric LineRecord::Nself (  )  const [inline]

SGAM temperature exponent (dimensionless):.

Definition at line 633 of file absorption.h.

void LineRecord::setNself ( Numeric  new_mnself  )  [inline]

Set SGAM temperature exponent (dimensionless):.

Definition at line 636 of file absorption.h.

Numeric LineRecord::Tgam (  )  const [inline]

Reference temperature for AGAM and SGAM in K:.

Definition at line 639 of file absorption.h.

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.

const ArrayOfNumeric& LineRecord::Aux (  )  const [inline]

Auxiliary parameters.

Definition at line 649 of file absorption.h.

Numeric LineRecord::dF (  )  const [inline]

Accuracy for line position in Hz :.

Definition at line 653 of file absorption.h.

Numeric LineRecord::dI0 (  )  const [inline]

Accuracy for line intensity in relative value :.

Definition at line 656 of file absorption.h.

Numeric LineRecord::dAgam (  )  const [inline]

Accuracy for air broadened width in relative value :.

Definition at line 659 of file absorption.h.

Numeric LineRecord::dSgam (  )  const [inline]

Accuracy for self broadened width in relative value :.

Definition at line 662 of file absorption.h.

Numeric LineRecord::dNair (  )  const [inline]

Accuracy for AGAM temperature exponent in relative value :.

Definition at line 665 of file absorption.h.

Numeric LineRecord::dNself (  )  const [inline]

Accuracy for SGAM temperature exponent in relative value:.

Definition at line 668 of file absorption.h.

Numeric LineRecord::dPsf (  )  const [inline]

Accuracy for pressure shift in relative value :.

Definition at line 671 of file absorption.h.

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:
is Stream from which to read
Exceptions:
runtime_error Some 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.

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:
is Stream from which to read
Exceptions:
runtime_error Some 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.

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:
is Stream from which to read
Exceptions:
runtime_error Some 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.

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:
is Stream from which to read
Exceptions:
runtime_error Some 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.

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:
is Stream from which to read
Exceptions:
runtime_error Some 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.


Friends And Related Function Documentation

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.


Member Data Documentation

const Index LineRecord::mversion = 3 [static, private]

Definition at line 962 of file absorption.h.

Definition at line 964 of file absorption.h.

Definition at line 966 of file absorption.h.

Definition at line 968 of file absorption.h.

Definition at line 970 of file absorption.h.

Definition at line 972 of file absorption.h.

Definition at line 974 of file absorption.h.

Definition at line 976 of file absorption.h.

Definition at line 978 of file absorption.h.

Definition at line 980 of file absorption.h.

Definition at line 982 of file absorption.h.

Definition at line 984 of file absorption.h.

Definition at line 986 of file absorption.h.

Definition at line 988 of file absorption.h.

Definition at line 993 of file absorption.h.

Definition at line 995 of file absorption.h.

Definition at line 997 of file absorption.h.

Definition at line 999 of file absorption.h.

Definition at line 1001 of file absorption.h.

Definition at line 1003 of file absorption.h.

Definition at line 1005 of file absorption.h.


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

Generated on Wed Feb 4 08:17:31 2009 for ARTS by  doxygen 1.5.6