absorption.cc File Reference

Physical absorption routines. More...

#include "arts.h"
#include <map>
#include <cfloat>
#include <algorithm>
#include <cmath>
#include "absorption.h"
#include "math_funcs.h"
#include "messages.h"
#include "logic.h"

Include dependency graph for absorption.cc:

Go to the source code of this file.

Functions

void define_species_map ()
 Define the species data map.
ostream & operator<< (ostream &os, const LineRecord &lr)
 Output operator for LineRecord.
template<class T>
void extract (T &x, String &line, Index n)
 Extract something from a catalogue line.
void xsec_species (MatrixView xsec, ConstVectorView f_grid, ConstVectorView abs_p, ConstVectorView abs_t, ConstVectorView abs_h2o_orig, ConstVectorView vmr, const ArrayOfLineRecord &abs_lines, const Index ind_ls, const Index ind_lsn, const Numeric cutoff)
 Calculate line absorption cross sections for one tag group.
void refr_index_BoudourisDryAir (Vector &refr_index, ConstVectorView abs_p, ConstVectorView abs_t)
 Calculates the refractive index for dry air at microwave frequncies following Boudouris 1963.
void refr_index_Boudouris (Vector &refr_index, ConstVectorView abs_p, ConstVectorView abs_t, ConstVectorView abs_h2o)
 Calculates the refractive index at microwave frequncies following Boudouris 1963.
Numeric wavenumber_to_joule (Numeric e)
 A little helper function to convert energy from units of wavenumber (cm^-1) to Joule (J).
void convHitranIERF (Numeric &mdf, const Index &df)
void convHitranIERSH (Numeric &mdh, const Index &dh)
void convMytranIER (Numeric &mdh, const Index &dh)
ostream & operator<< (ostream &os, const LineshapeSpec &)

Variables

std::map< String, IndexSpeciesMap
 The map associated with species_data.


Detailed Description

Physical absorption routines.

The absorption workspace methods are in file m_abs.cc

This is the file from arts-1-0, back-ported to arts-1-1.

Author:
Stefan Buehler and Axel von Engeln

Definition in file absorption.cc.


Function Documentation

void convHitranIERF ( Numeric mdf,
const Index df 
)

void convHitranIERSH ( Numeric mdh,
const Index dh 
)

void convMytranIER ( Numeric mdh,
const Index dh 
)

Definition at line 2679 of file absorption.cc.

Referenced by LineRecord::ReadFromMytran2Stream().

void define_species_map (  ) 

Define the species data map.

Define the species data map.

Author:
Stefan Buehler

Definition at line 70 of file absorption.cc.

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

Referenced by main().

template<class T>
void extract ( T &  x,
String line,
Index  n 
) [inline]

Extract something from a catalogue line.

This is just a small helper function to safe some typing.

Return values:
x What was extracted from the beginning of the line.
line What was extracted is also cut away from line.
Parameters:
n The width of the stuff to extract.
Author:
Stefan Buehler

Definition at line 136 of file absorption.cc.

Referenced by LineRecord::ReadFromArtsStream(), LineRecord::ReadFromHitran2004Stream(), LineRecord::ReadFromHitranStream(), LineRecord::ReadFromJplStream(), and LineRecord::ReadFromMytran2Stream().

ostream& operator<< ( ostream &  os,
const LineshapeSpec  
)

Definition at line 2740 of file absorption.cc.

ostream& operator<< ( ostream &  os,
const LineRecord lr 
)

void refr_index_Boudouris ( Vector refr_index,
ConstVectorView  abs_p,
ConstVectorView  abs_t,
ConstVectorView  abs_h2o 
)

Calculates the refractive index at microwave frequncies following Boudouris 1963.

The expression is also found in Chapter 5 of the Janssen book.

Return values:
refr_index refractive index
Parameters:
abs_p absorption pressure grid
abs_t temperatures at abs_p
abs_h2o H2O vmr at abs_p
Author:
Patrick Eriksson
Date:
2001-02-16

Definition at line 2514 of file absorption.cc.

References ConstVectorView::nelem(), and Vector::resize().

void refr_index_BoudourisDryAir ( Vector refr_index,
ConstVectorView  abs_p,
ConstVectorView  abs_t 
)

Calculates the refractive index for dry air at microwave frequncies following Boudouris 1963.

The expression is also found in Chapter 5 of the Janssen book.

The atmosphere is assumed to have no water vapour.

Return values:
refr_index refractive index
Parameters:
abs_p absorption pressure grid
abs_t temperatures at abs_p
Author:
Patrick Eriksson
Date:
2001-02-16

Definition at line 2482 of file absorption.cc.

References ConstVectorView::nelem(), and Vector::resize().

Numeric wavenumber_to_joule ( Numeric  e  ) 

A little helper function to convert energy from units of wavenumber (cm^-1) to Joule (J).

This is used when reading HITRAN or JPL catalogue files, which have the lower state energy in cm^-1.

Returns:
Energy in J.
Parameters:
e Energy in cm^-1.
Author:
Stefan Buehler
Date:
2001-06-26

Definition at line 2551 of file absorption.cc.

References PLANCK_CONST, and SPEED_OF_LIGHT.

Referenced by linesElowToJoule(), LineRecord::ReadFromHitran2004Stream(), LineRecord::ReadFromHitranStream(), LineRecord::ReadFromJplStream(), and LineRecord::ReadFromMytran2Stream().

void xsec_species ( MatrixView  xsec,
ConstVectorView  f_grid,
ConstVectorView  abs_p,
ConstVectorView  abs_t,
ConstVectorView  abs_h2o_orig,
ConstVectorView  vmr,
const ArrayOfLineRecord abs_lines,
const Index  ind_ls,
const Index  ind_lsn,
const Numeric  cutoff 
)

Calculate line absorption cross sections for one tag group.

All lines in the line list must belong to the same species. This must be ensured by abs_lines_per_speciesCreateFromLines, so it is only verified with assert. Also, the input vectors abs_p, and abs_t must all have the same dimension.

This is mainly a copy of abs_species which is removed now, with the difference that the vmrs are removed from the absorption coefficient calculation. (the vmr is still used for the self broadening)

Continua are not handled by this function, you have to call xsec_continuum_tag for those.

Return values:
xsec Cross section of one tag group. This is now the true absorption cross section in units of m^2.
Parameters:
f_grid Frequency grid.
abs_p Pressure grid.
abs_t Temperatures associated with abs_p.
abs_h2o_orig Total volume mixing ratio of water vapor.
vmr Volume mixing ratio of the calculated species.
abs_lines The spectroscopic line list.
ind_ls Index to lineshape function.
ind_lsn Index to lineshape norm.
cutoff Lineshape cutoff.
Author:
Stefan Buehler and Axel von Engeln
Date:
2001-01-11
Changed from pseudo cross sections to true cross sections

Author:
Stefan Buehler
Date:
2007-08-08

Definition at line 1996 of file absorption.cc.

References IsotopeRecord::Abundance(), LineRecord::Agam(), LineRecord::Aux(), AVOGADROS_NUMB, BOLTZMAN_CONST, IsotopeRecord::CalculatePartitionFctRatio(), LineRecord::Elow(), exit_or_rethrow(), LineRecord::F(), fac(), LineRecord::I0(), is_sorted(), LineRecord::IsotopeData(), lineshape_data, lineshape_norm_data, IsotopeRecord::Mass(), LineRecord::Nair(), LineRecord::Name(), LineRecord::Naux(), ConstMatrixView::ncols(), Array< base >::nelem(), ConstVectorView::nelem(), ConstMatrixView::nrows(), LineRecord::Nself(), PLANCK_CONST, LineRecord::Psf(), Vector::resize(), LineRecord::Sgam(), SPEED_OF_LIGHT, LineRecord::Tgam(), and LineRecord::Ti0().

Referenced by abs_xsec_per_speciesAddLines().


Variable Documentation

std::map<String, Index> SpeciesMap

The map associated with species_data.

Definition at line 45 of file absorption.cc.

Referenced by define_species_map(), and species_index_from_species_name().


Generated on Mon Mar 23 14:06:29 2009 for ARTS by  doxygen 1.5.6