ARTS  1.0.222
Functions
m_abs.cc File Reference

Stuff related to the calculation of absorption coefficients. More...

#include <math.h>
#include <algorithm>
#include "arts.h"
#include "matpackI.h"
#include "array.h"
#include "messages.h"
#include "file.h"
#include "absorption.h"
#include "auto_wsv.h"
#include "auto_md.h"
#include "math_funcs.h"
#include "make_array.h"
#include "atm_funcs.h"
#include "continua.h"
#include "make_vector.h"

Go to the source code of this file.

Functions

void lines_per_tgSetEmpty (ArrayOfArrayOfLineRecord &lines_per_tg, const TagGroups &tgs)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void linesReadFromHitran (ArrayOfLineRecord &lines, const String &filename, const Numeric &fmin, const Numeric &fmax)
 Reads line data in the Hitran 1986-2001 format (100 characters/record). More...
 
void linesReadFromHitran2004 (ArrayOfLineRecord &lines, const String &filename, const Numeric &fmin, const Numeric &fmax)
 Reads line data in the Hitran 2004 format (160 characters/record). More...
 
void linesReadFromMytran2 (ArrayOfLineRecord &lines, const String &filename, const Numeric &fmin, const Numeric &fmax)
 
void linesReadFromJpl (ArrayOfLineRecord &lines, const String &filename, const Numeric &fmin, const Numeric &fmax)
 
void linesReadFromArts (ArrayOfLineRecord &lines, const String &filename, const Numeric &fmin, const Numeric &fmax)
 
void linesElowToJoule (ArrayOfLineRecord &lines)
 
void lines_per_tgReadFromCatalogues (ArrayOfArrayOfLineRecord &lines_per_tg, const TagGroups &tgs, const ArrayOfString &filenames, const ArrayOfString &formats, const Vector &fmin, const Vector &fmax)
 This method can read lines from different line catalogues. More...
 
void lines_per_tgCreateFromLines (ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineRecord &lines, const TagGroups &tgs)
 
void lines_per_tgAddMirrorLines (ArrayOfArrayOfLineRecord &lines_per_tg)
 Adds mirror lines at negative frequencies to the lines_per_tg. More...
 
void lines_per_tgCompact (ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape, const Vector &f_mono)
 Removes all lines outside the defined lineshape cutoff frequency from the lines_per_tg, in order to save computation time. More...
 
void linesWriteAscii (const ArrayOfLineRecord &lines, const String &f)
 
void lines_per_tgWriteAscii (const ArrayOfArrayOfLineRecord &lines_per_tg, const String &f)
 
void tgsDefine (TagGroups &tgs, const ArrayOfString &tags)
 
void tgsDefineAllInScenario (TagGroups &tgs, const String &basename)
 
void lineshapeDefine (ArrayOfLineshapeSpec &lineshape, const TagGroups &tgs, const String &shape, const String &normalizationfactor, const Numeric &cutoff)
 
void lineshape_per_tgDefine (ArrayOfLineshapeSpec &lineshape, const TagGroups &tgs, const ArrayOfString &shape, const ArrayOfString &normalizationfactor, const Vector &cutoff)
 
void raw_vmrsReadFromScenario (ArrayOfMatrix &raw_vmrs, const TagGroups &tgs, const String &basename)
 
void raw_vmrsReadFromFiles (ArrayOfMatrix &raw_vmrs, const TagGroups &tgs, const ArrayOfString &seltags, const ArrayOfString &filenames, const String &basename)
 Reads in the profiles from the specified files in filenames for the tag list seltags and for all the other tags the atmospheric profile from the general scenario stated in basename. More...
 
void WaterVaporSaturationInClouds (Matrix &vmrs, Vector &p_abs, const Vector &t_abs, const TagGroups &tgs)
 Calculates the water vapor saturation volume mixing ratio (VMR) in the vertical range where liquid or ice clouds are in the atmosphere. More...
 
void AtmFromRaw (Vector &t_abs, Vector &z_abs, Matrix &vmrs, const TagGroups &tgs, const Vector &p_abs, const Matrix &raw_ptz, const ArrayOfMatrix &raw_vmrs)
 Interpolate atmospheric quantities from their individual grids to the common p_abs grid. More...
 
void hseSet (Vector &hse, const Numeric &pref, const Numeric &zref, const Numeric &g0, const Index &niter)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void hseSetFromLatitude (Vector &hse, const Numeric &pref, const Numeric &zref, const Numeric &latitude, const Index &niter)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void hseSetFromLatitudeIndex (Vector &hse, const Vector &p_abs, const Vector &z_abs, const Numeric &latitude, const Index &index, const Index &niter)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void hseFromBottom (Vector &hse, const Vector &p_abs, const Vector &z_abs, const Numeric &g0, const Index &niter)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void hseOff (Vector &hse)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void hseCalc (Vector &z_abs, const Vector &p_abs, const Vector &t_abs, const Vector &h2o_abs, const Numeric &r_geoid, const Vector &hse)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void h2o_absSet (Vector &h2o_abs, const TagGroups &tgs, const Matrix &vmrs)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void vmrsScale (Matrix &vmrs, const TagGroups &tgs, const ArrayOfString &scaltgs, const Vector &scalfac)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void n2_absSet (Vector &n2_abs, const TagGroups &tgs, const Matrix &vmrs)
 See the the online help (arts -d FUNCTION_NAME) Just a copy of the function 'h2o_absSet' but now for nitrogen. More...
 
void absCalc (Matrix &abs, ArrayOfMatrix &abs_per_tg, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &n2_abs, const Vector &h2o_abs, const Matrix &vmrs, const ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape, const ArrayOfString &cont_description_names, const ArrayOfString &cont_description_models, const ArrayOfVector &cont_description_parameters)
 Calculates the absorption coefficients by first calculating the cross sections per tag group and then the absorption from the cross sections. More...
 
void absCalcSaveMemory (Matrix &abs, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &n2_abs, const Vector &h2o_abs, const Matrix &vmrs, const ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape, const ArrayOfString &cont_description_names, const ArrayOfString &cont_description_models, const ArrayOfVector &cont_description_parameters)
 Calculates the absorption coefficients by first calculating the cross sections per tag group and then the absorption from the cross sections. More...
 
void absCalcFromXsec (Matrix &abs, ArrayOfMatrix &abs_per_tg, const ArrayOfMatrix &xsec_per_tg, const Matrix &vmrs)
 Calculates the absorption from a given cross section. More...
 
void xsec_per_tgInit (ArrayOfMatrix &xsec_per_tg, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs)
 Initialize xsec_per_tg. More...
 
void xsec_per_tgAddLines (ArrayOfMatrix &xsec_per_tg, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &h2o_abs, const Matrix &vmrs, const ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape)
 Calculates the line spectrum for each tag group and adds it to xsec_per_tg. More...
 
void xsec_per_tgAddConts (ArrayOfMatrix &xsec_per_tg, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &n2_abs, const Vector &h2o_abs, const Matrix &vmrs, const ArrayOfString &cont_description_names, const ArrayOfVector &cont_description_parameters, const ArrayOfString &cont_description_models)
 Calculates the continuum for each tag group and adds it to xsec_per_tg. More...
 
void abs_per_tgReduce (ArrayOfMatrix &abs_per_tg, const TagGroups &tgs, const TagGroups &wfs_tgs)
 Reduces the size of abs_per_tg. More...
 
void refrSet (Index &refr, Index &refr_lfac, String &refr_model, const Index &on, const String &model, const Index &lfac)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void refrOff (Index &refr, Index &refr_lfac, String &refr_model)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void refrCalc (Vector &refr_index, const Vector &p_abs, const Vector &t_abs, const Vector &h2o_abs, const Index &refr, const String &refr_model)
 See the the online help (arts -d FUNCTION_NAME) More...
 
void cont_descriptionInit (ArrayOfString &names, ArrayOfString &options, ArrayOfVector &parameters)
 Initializes the two continuum description WSVs, ‘cont_description_names’ and ‘cont_description_parameters’. More...
 
void cont_descriptionAppend (ArrayOfString &cont_description_names, ArrayOfString &cont_description_models, ArrayOfVector &cont_description_parameters, const String &tagname, const String &model, const Vector &userparameters)
 Append a continuum description to ‘cont_description_names’ and ‘cont_description_parameters’. More...
 

Detailed Description

Stuff related to the calculation of absorption coefficients.

Author
Stefan Buehler
Date
2001-03-12

Definition in file m_abs.cc.

Function Documentation

◆ abs_per_tgReduce()

void abs_per_tgReduce ( ArrayOfMatrix abs_per_tg,
const TagGroups tgs,
const TagGroups wfs_tgs 
)

Reduces the size of abs_per_tg.

Only absorption coefficients for which weighting functions are calculated are kept in memory.

Return values
abs_per_tgabsorption coefficients
Parameters
tgsall selected tag groups
wfs_tgsthe tag groups for which we want weighting functions.
Author
Axel von Engeln and Stefan Buehler

Definition at line 2669 of file m_abs.cc.

◆ absCalc()

void absCalc ( Matrix abs,
ArrayOfMatrix abs_per_tg,
const TagGroups tgs,
const Vector f_mono,
const Vector p_abs,
const Vector t_abs,
const Vector n2_abs,
const Vector h2o_abs,
const Matrix vmrs,
const ArrayOfArrayOfLineRecord lines_per_tg,
const ArrayOfLineshapeSpec lineshape,
const ArrayOfString cont_description_names,
const ArrayOfString cont_description_models,
const ArrayOfVector cont_description_parameters 
)

Calculates the absorption coefficients by first calculating the cross sections per tag group and then the absorption from the cross sections.

Return values
absabsorption coefficients
abs_per_tgabsorption coefficients per tag group
Parameters
tgsthe list of tag groups
f_monomonochromatic frequency grid
p_abspressure levels
t_abstemperature at pressure level
h2o_abstotal volume mixing ratio of water vapor
vmrsvolume mixing ratios per tag group
lines_per_tgtransition lines per tag group
lineshapelineshape specifications to use per tag group
cont_description_namesnames of different continuum models
cont_description_parameterscontinuum parameters for the models listed in cont_description_names
Author
Axel von Engeln
Date
2001-01-11
Author
Stefan Buehler
Date
2001-03-13

Definition at line 1956 of file m_abs.cc.

◆ absCalcFromXsec()

void absCalcFromXsec ( Matrix abs,
ArrayOfMatrix abs_per_tg,
const ArrayOfMatrix xsec_per_tg,
const Matrix vmrs 
)

Calculates the absorption from a given cross section.

Only the cross section and the vmrs are required, it is assumed that the vmrs are in the order of the cross sections, only the dimension is checked.

Return values
absabsorption coefficients
abs_per_tgabsorption coefficients per tag group
Parameters
xsec_per_tgcross sections per tag group
vmrsvolume mixing ratios per tag group
Author
Stefan Bühler and Axel von Engeln
Date
2001-01-11

Definition at line 2152 of file m_abs.cc.

◆ absCalcSaveMemory()

void absCalcSaveMemory ( Matrix abs,
const TagGroups tgs,
const Vector f_mono,
const Vector p_abs,
const Vector t_abs,
const Vector n2_abs,
const Vector h2o_abs,
const Matrix vmrs,
const ArrayOfArrayOfLineRecord lines_per_tg,
const ArrayOfLineshapeSpec lineshape,
const ArrayOfString cont_description_names,
const ArrayOfString cont_description_models,
const ArrayOfVector cont_description_parameters 
)

Calculates the absorption coefficients by first calculating the cross sections per tag group and then the absorption from the cross sections.

This is done in a loop over species, in order to save memory. we only calculate abs, not abs_per_tg!

Return values
absabsorption coefficients
Parameters
tgsthe list of tag groups
f_monomonochromatic frequency grid
p_abspressure levels
t_abstemperature at pressure level
h2o_abstotal volume mixing ratio of water vapor
vmrsvolume mixing ratios per tag group
lines_per_tgtransition lines per tag group
lineshapelineshape specifications to use per tag group
cont_description_namesnames of different continuum models
cont_description_parameterscontinuum parameters for the models listed in cont_description_names
Author
Stefan Buehler
Date
2003-07-17

Definition at line 2034 of file m_abs.cc.

◆ AtmFromRaw()

void AtmFromRaw ( Vector t_abs,
Vector z_abs,
Matrix vmrs,
const TagGroups tgs,
const Vector p_abs,
const Matrix raw_ptz,
const ArrayOfMatrix raw_vmrs 
)

Interpolate atmospheric quantities from their individual grids to the common p_abs grid.

See also arts -d online documentation.

This function does the following:

  1. Interpolation of temperature and altitude
  2. Interpolation of VMR profiles
  3. Saturation adjustment VMR profiles of H2O tags in clouds

Step 3 is only carried out if keyword CloudSatWV is set to "yes".

Definition at line 1483 of file m_abs.cc.

◆ cont_descriptionAppend()

void cont_descriptionAppend ( ArrayOfString cont_description_names,
ArrayOfString cont_description_models,
ArrayOfVector cont_description_parameters,
const String tagname,
const String model,
const Vector userparameters 
)

Append a continuum description to ‘cont_description_names’ and ‘cont_description_parameters’.

It is checked that the name given is indeed the name of an allowed continuum model. This is done by looking in the species_data lookup table.

Author
Stefan Buehler
Date
2001-03-12

Definition at line 2851 of file m_abs.cc.

◆ cont_descriptionInit()

void cont_descriptionInit ( ArrayOfString names,
ArrayOfString options,
ArrayOfVector parameters 
)

Initializes the two continuum description WSVs, ‘cont_description_names’ and ‘cont_description_parameters’.


This method does not really do anything, except setting the two variables to empty Arrays. It is just necessary because the method ‘cont_descriptionAppend’ wants to append to the variables.

Formally, the continuum description WSVs are required by the absorption calculation methods (e.g., ‘absCalc’). Therefore you always have to call ‘cont_descriptionInit’.

Usage example: cont_descriptionInit{}

Author
Stefan Buehler
Date
2001-03-12

Definition at line 2827 of file m_abs.cc.

◆ h2o_absSet()

void h2o_absSet ( Vector h2o_abs,
const TagGroups tgs,
const Matrix vmrs 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-01-18

Definition at line 1793 of file m_abs.cc.

◆ hseCalc()

void hseCalc ( Vector z_abs,
const Vector p_abs,
const Vector t_abs,
const Vector h2o_abs,
const Numeric r_geoid,
const Vector hse 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-19

Definition at line 1717 of file m_abs.cc.

◆ hseFromBottom()

void hseFromBottom ( Vector hse,
const Vector p_abs,
const Vector z_abs,
const Numeric g0,
const Index niter 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-18

Definition at line 1681 of file m_abs.cc.

◆ hseOff()

void hseOff ( Vector hse)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-18

Definition at line 1699 of file m_abs.cc.

◆ hseSet()

void hseSet ( Vector hse,
const Numeric pref,
const Numeric zref,
const Numeric g0,
const Index niter 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-18

Definition at line 1608 of file m_abs.cc.

◆ hseSetFromLatitude()

void hseSetFromLatitude ( Vector hse,
const Numeric pref,
const Numeric zref,
const Numeric latitude,
const Index niter 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Axel von Engeln
Date
2003-07-23

Definition at line 1630 of file m_abs.cc.

◆ hseSetFromLatitudeIndex()

void hseSetFromLatitudeIndex ( Vector hse,
const Vector p_abs,
const Vector z_abs,
const Numeric latitude,
const Index index,
const Index niter 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Axel von Engeln
Date
2003-07-24

Definition at line 1653 of file m_abs.cc.

◆ lines_per_tgAddMirrorLines()

void lines_per_tgAddMirrorLines ( ArrayOfArrayOfLineRecord lines_per_tg)

Adds mirror lines at negative frequencies to the lines_per_tg.

For each line at frequency +f in lines_per_tg a corresponding entry at frequency -f is added to lines_per_tg.

Return values
lines_per_tgThe array of arrays of lines for each tag group.
Author
Axel von Engeln and Stefan Buehler

Definition at line 723 of file m_abs.cc.

◆ lines_per_tgCompact()

void lines_per_tgCompact ( ArrayOfArrayOfLineRecord lines_per_tg,
const ArrayOfLineshapeSpec lineshape,
const Vector f_mono 
)

Removes all lines outside the defined lineshape cutoff frequency from the lines_per_tg, in order to save computation time.

It should be particularly useful to call this method after lines_per_tgAddMirrorLines.

Return values
lines_per_tgthe old and newly compacted line list
Parameters
lineshapethe lineshape specifications
f_monothe frequency grid
Author
Axel von Engeln and Stefan Buehler

Definition at line 767 of file m_abs.cc.

◆ lines_per_tgCreateFromLines()

void lines_per_tgCreateFromLines ( ArrayOfArrayOfLineRecord lines_per_tg,
const ArrayOfLineRecord lines,
const TagGroups tgs 
)

Definition at line 578 of file m_abs.cc.

◆ lines_per_tgReadFromCatalogues()

void lines_per_tgReadFromCatalogues ( ArrayOfArrayOfLineRecord lines_per_tg,
const TagGroups tgs,
const ArrayOfString filenames,
const ArrayOfString formats,
const Vector fmin,
const Vector fmax 
)

This method can read lines from different line catalogues.

For each tag group, you can specify which catalogue to use. Because the method creates lines_per_tg directly, it replaces for example the following two method calls:

  • linesReadFromHitran
  • lines_per_tgCreateFromLines

This method needs as input WSVs the list of tag groups. Keyword parameters must specify the names of the catalogue files to use and the matching formats. Names can be anything, formats can currently be HITRAN96 (for HITRAN 1986-2001 databases), HITRAN04 (for HITRAN 2004 databse), MYTRAN2, JPL, or ARTS. Furthermore, keyword parameters have to specify minimum and maximum frequency for each tag group. To safe typing, if there are less elements in the keyword parameters than there are tag groups, the last parameters are applied to all following tag groups.

Example usage:

lines_per_tgReadFromCatalogues{ filenames = [ "../data/cat1.dat", "../data/cat2.dat" ] formats = [ "MYTRAN2", "HITRAN96" ] fmin = [ 0, 0 ] fmax = [ 2000e9, 100e9 ] }

In this example, lines for the first tag group will be taken from cat1, lines for all other tag groups will be taken from cat2.

This methods allows you for example to use a special line file just for water vapor lines. This could be the improved water vapor line file generated by Thomas Kuhn.

Catalogues are only read once, even if several tag groups have the same catalogue. However, in that case the frequency ranges MUST be the same. (If you want to do fine-tuning of the frequency ranges, you can do this inside the tag definitions, e.g., "H2O-*-0-2000e9".)

This function uses the various reading routines (linesReadFromHitran, etc.), as well as lines_per_tgCreateFromLines.

Author
Stefan Buehler
Date
2000-01-19

Definition at line 371 of file m_abs.cc.

◆ lines_per_tgSetEmpty()

void lines_per_tgSetEmpty ( ArrayOfArrayOfLineRecord lines_per_tg,
const TagGroups tgs 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Stefan Buehler
Date
2001-10-02

Definition at line 54 of file m_abs.cc.

◆ lines_per_tgWriteAscii()

void lines_per_tgWriteAscii ( const ArrayOfArrayOfLineRecord lines_per_tg,
const String f 
)

Definition at line 872 of file m_abs.cc.

◆ linesElowToJoule()

void linesElowToJoule ( ArrayOfLineRecord lines)

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

Definition at line 319 of file m_abs.cc.

◆ lineshape_per_tgDefine()

void lineshape_per_tgDefine ( ArrayOfLineshapeSpec lineshape,
const TagGroups tgs,
const ArrayOfString shape,
const ArrayOfString normalizationfactor,
const Vector cutoff 
)

Definition at line 1093 of file m_abs.cc.

◆ lineshapeDefine()

void lineshapeDefine ( ArrayOfLineshapeSpec lineshape,
const TagGroups tgs,
const String shape,
const String normalizationfactor,
const Numeric cutoff 
)

Definition at line 1031 of file m_abs.cc.

◆ linesReadFromArts()

void linesReadFromArts ( ArrayOfLineRecord lines,
const String filename,
const Numeric fmin,
const Numeric fmax 
)

Definition at line 251 of file m_abs.cc.

◆ linesReadFromHitran()

void linesReadFromHitran ( ArrayOfLineRecord lines,
const String filename,
const Numeric fmin,
const Numeric fmax 
)

Reads line data in the Hitran 1986-2001 format (100 characters/record).

For Hitran version 2004 use linesReadFromHitran2004().

Remarks
<a href="http://www.hitran.com/>WWW access of the HITRAN catalog.
Author
Thomas Kuhn
Date
2001-11-05

Definition at line 77 of file m_abs.cc.

◆ linesReadFromHitran2004()

void linesReadFromHitran2004 ( ArrayOfLineRecord lines,
const String filename,
const Numeric fmin,
const Numeric fmax 
)

Reads line data in the Hitran 2004 format (160 characters/record).

For Hitran versions 1986-2001 use linesReadFromHitran().

Remarks
<a href="http://www.hitran.com/>WWW access of the HITRAN catalog.
Author
Hermann Berg based on Thomas Kuhn
Date
2005-03-29

Definition at line 126 of file m_abs.cc.

◆ linesReadFromJpl()

void linesReadFromJpl ( ArrayOfLineRecord lines,
const String filename,
const Numeric fmin,
const Numeric fmax 
)
Remarks
<a href="http://spec.jpl.nasa.gov/home.html>WWW access of the JPL catalog.
Author
Thomas Kuhn
Date
2001-11-05

Definition at line 210 of file m_abs.cc.

◆ linesReadFromMytran2()

void linesReadFromMytran2 ( ArrayOfLineRecord lines,
const String filename,
const Numeric fmin,
const Numeric fmax 
)

Definition at line 166 of file m_abs.cc.

◆ linesWriteAscii()

void linesWriteAscii ( const ArrayOfLineRecord lines,
const String f 
)

Definition at line 849 of file m_abs.cc.

◆ n2_absSet()

void n2_absSet ( Vector n2_abs,
const TagGroups tgs,
const Matrix vmrs 
)

See the the online help (arts -d FUNCTION_NAME) Just a copy of the function 'h2o_absSet' but now for nitrogen.

Author
Patrick Eriksson
Date
2001-01-18

Definition at line 1886 of file m_abs.cc.

◆ raw_vmrsReadFromFiles()

void raw_vmrsReadFromFiles ( ArrayOfMatrix raw_vmrs,
const TagGroups tgs,
const ArrayOfString seltags,
const ArrayOfString filenames,
const String basename 
)

Reads in the profiles from the specified files in filenames for the tag list seltags and for all the other tags the atmospheric profile from the general scenario stated in basename.

Parameters
raw_vmrsvolume mixing ratios per tag group (output)
tgsthe list of tag groups (input)
seltagsselected tags for special input files (input)
filenamesspecific files for list of seltags (input)
basenamegeneral scenario base name (input)
Author
Thomas Kuhn / Stefan Buehler
Date
2001-08-02 / 2001-09-19

Definition at line 1223 of file m_abs.cc.

◆ raw_vmrsReadFromScenario()

void raw_vmrsReadFromScenario ( ArrayOfMatrix raw_vmrs,
const TagGroups tgs,
const String basename 
)

Definition at line 1179 of file m_abs.cc.

◆ refrCalc()

void refrCalc ( Vector refr_index,
const Vector p_abs,
const Vector t_abs,
const Vector h2o_abs,
const Index refr,
const String refr_model 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-19

Definition at line 2763 of file m_abs.cc.

◆ refrOff()

void refrOff ( Index refr,
Index refr_lfac,
String refr_model 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-01-22

Definition at line 2746 of file m_abs.cc.

◆ refrSet()

void refrSet ( Index refr,
Index refr_lfac,
String refr_model,
const Index on,
const String model,
const Index lfac 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Patrick Eriksson
Date
2001-04-19

Definition at line 2721 of file m_abs.cc.

◆ tgsDefine()

void tgsDefine ( TagGroups tgs,
const ArrayOfString tags 
)

Definition at line 901 of file m_abs.cc.

◆ tgsDefineAllInScenario()

void tgsDefineAllInScenario ( TagGroups tgs,
const String basename 
)

Definition at line 975 of file m_abs.cc.

◆ vmrsScale()

void vmrsScale ( Matrix vmrs,
const TagGroups tgs,
const ArrayOfString scaltgs,
const Vector scalfac 
)

See the the online help (arts -d FUNCTION_NAME)

Author
Carlos Jimenez
Date
2001-08-14

Definition at line 1848 of file m_abs.cc.

◆ WaterVaporSaturationInClouds()

void WaterVaporSaturationInClouds ( Matrix vmrs,
Vector p_abs,
const Vector t_abs,
const TagGroups tgs 
)

Calculates the water vapor saturation volume mixing ratio (VMR) in the vertical range where liquid or ice clouds are in the atmosphere.

At the pressure/altitude grid points where the liquid water content (LWC) or ice water content (IWC) is larger than zero the H2O-VMR is set to liquid water/ice saturation VMR (=e_s/p_tot).
The saturation pressure (e_s) is calculated according to the Goff-Gratch equations (see functions WVSatPressureLiquidWater and WVSatPressureIce in file continua.cc).

Before adjustment:

VMRH2O = H2O volume mixing ratio
Ptot = total air pressure
PH2O = H2O partial pressure
Pdry = dry air partial pressure

after adjustment:

VMR'H2O = H2O volume mixing ratio
P'tot = total air pressure
P'H2O = H2O partial pressure

H2O saturation pressure over water / ice:
es

calculation of the adjustment:

PH2O = VMRH2O * Ptot
Pdry = Ptot * (1.0 - VMRH2O)
P'H2O = es
P'tot = es + Pdry
VMR'H2O = P'H2O / P'tot
Parameters
vmrs[1] volume mixing ratios per tag group (input/output)
t_abs[K] temperature at pressure level (input)
p_abs[Pa] pressure levels (input)
tgs[1] the list of tag groups (input)
Author
Thomas Kuhn
Date
2001-08-02

Definition at line 1346 of file m_abs.cc.

◆ xsec_per_tgAddConts()

void xsec_per_tgAddConts ( ArrayOfMatrix xsec_per_tg,
const TagGroups tgs,
const Vector f_mono,
const Vector p_abs,
const Vector t_abs,
const Vector n2_abs,
const Vector h2o_abs,
const Matrix vmrs,
const ArrayOfString cont_description_names,
const ArrayOfVector cont_description_parameters,
const ArrayOfString cont_description_models 
)

Calculates the continuum for each tag group and adds it to xsec_per_tg.

Return values
xsec_per_tgcross section per tag group
Parameters
tgsthe list of tag groups
f_monomonochromatic frequency grid
p_abspressure levels
t_abstemperature at pressure level
n2_abstotal volume mixing ratio of nitrogen
h2o_abstotal volume mixing ratio of water vapor
vmrsvolume mixing ratios per tag group
cont_description_namesnames of different continuum models
cont_description_parameterscontinuum parameters for the models listed in cont_description_names
Exceptions
runtime_errorsomething went wrong
Author
Stefan Bühler
Date
2001-03-12

Definition at line 2491 of file m_abs.cc.

◆ xsec_per_tgAddLines()

void xsec_per_tgAddLines ( ArrayOfMatrix xsec_per_tg,
const TagGroups tgs,
const Vector f_mono,
const Vector p_abs,
const Vector t_abs,
const Vector h2o_abs,
const Matrix vmrs,
const ArrayOfArrayOfLineRecord lines_per_tg,
const ArrayOfLineshapeSpec lineshape 
)

Calculates the line spectrum for each tag group and adds it to xsec_per_tg.

Return values
xsec_per_tgcross section per tag group
Parameters
tgsthe list of tag groups
f_monomonochromatic frequency grid
p_abspressure levels
t_abstemperature at pressure level
h2o_abstotal volume mixing ratio of water vapor
vmrsvolume mixing ratios per tag group
lines_per_tgtransition lines per tag group
lineshapelineshape specifications to use per tag group
Author
Stefan Bühler and Axel von Engeln
Date
2001-01-11

Definition at line 2274 of file m_abs.cc.

◆ xsec_per_tgInit()

void xsec_per_tgInit ( ArrayOfMatrix xsec_per_tg,
const TagGroups tgs,
const Vector f_mono,
const Vector p_abs 
)

Initialize xsec_per_tg.

The initialization is necessary, because methods ‘xsec_per_tgAddLines’ and ‘xsec_per_tgAddConts’ just add to xsec_per_tg.

Return values
xsec_per_tgcross section per tag group
Parameters
tgsthe list of tag groups
f_monomonochromatic frequency grid
p_abspressure levels
Author
Stefan Buehler
Date
2001-03-12

Definition at line 2231 of file m_abs.cc.