ARTS
2.2.66
|
Stuff related to the calculation of absorption coefficients. More...
#include <cmath>
#include <algorithm>
#include "arts.h"
#include "matpackI.h"
#include "array.h"
#include "messages.h"
#include "file.h"
#include "auto_md.h"
#include "math_funcs.h"
#include "make_array.h"
#include "make_vector.h"
#include "global_data.h"
#include "physics_funcs.h"
#include "absorption.h"
#include "continua.h"
#include "check_input.h"
#include "montecarlo.h"
#include "m_xml.h"
#include "optproperties.h"
#include "parameters.h"
#include "rte.h"
#include "xml_io.h"
#include <netcdf.h>
#include "nc_io.h"
Go to the source code of this file.
Functions | |
void | AbsInputFromRteScalars (Vector &abs_p, Vector &abs_t, Matrix &abs_vmrs, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Vector &rtp_vmr, const Verbosity &) |
WORKSPACE METHOD: AbsInputFromRteScalars. More... | |
void | abs_lines_per_speciesSetEmpty (ArrayOfArrayOfLineRecord &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &tgs, const Verbosity &) |
WORKSPACE METHOD: abs_lines_per_speciesSetEmpty. More... | |
void | abs_linesArtscat4FromArtscat3 (ArrayOfLineRecord &abs_lines, const Verbosity &) |
WORKSPACE METHOD: abs_linesArtscat4FromArtscat3. More... | |
void | abs_linesReadFromHitranPre2004 (ArrayOfLineRecord &abs_lines, const String &filename, const Numeric &fmin, const Numeric &fmax, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_linesReadFromHitranPre2004. More... | |
void | abs_linesReadFromHitran (ArrayOfLineRecord &abs_lines, const String &filename, const Numeric &fmin, const Numeric &fmax, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_linesReadFromHitran. More... | |
void | abs_linesReadFromMytran2 (ArrayOfLineRecord &abs_lines, const String &filename, const Numeric &fmin, const Numeric &fmax, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_linesReadFromMytran2. More... | |
void | abs_linesReadFromJpl (ArrayOfLineRecord &abs_lines, const String &filename, const Numeric &fmin, const Numeric &fmax, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_linesReadFromJpl. More... | |
void | abs_linesReadFromArts (ArrayOfLineRecord &abs_lines, const String &filename, const Numeric &fmin, const Numeric &fmax, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_linesReadFromArts. More... | |
void | abs_lines_per_speciesWriteToSplitArtscat (const String &output_file_format, const ArrayOfArrayOfLineRecord &abs_lines_per_species, const String &basename, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_lines_per_speciesWriteToSplitArtscat. More... | |
void | abs_linesReadFromSplitArtscat (ArrayOfLineRecord &abs_lines, const ArrayOfArrayOfSpeciesTag &abs_species, const String &basename, const Numeric &fmin, const Numeric &fmax, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_linesReadFromSplitArtscat. More... | |
void | abs_linesReadFromArtsObsolete (ArrayOfLineRecord &abs_lines, const String &filename, const Numeric &fmin, const Numeric &fmax, const Verbosity &verbosity) |
Obsolete old ARTS catalogue reading function. More... | |
void | abs_lines_per_speciesReadFromCatalogues (ArrayOfArrayOfLineRecord &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &tgs, const ArrayOfString &filenames, const ArrayOfString &formats, const Vector &fmin, const Vector &fmax, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_lines_per_speciesReadFromCatalogues. More... | |
void | abs_lines_per_speciesCreateFromLines (ArrayOfArrayOfLineRecord &abs_lines_per_species, const ArrayOfLineRecord &abs_lines, const ArrayOfArrayOfSpeciesTag &tgs, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_lines_per_speciesCreateFromLines. More... | |
void | abs_lines_per_speciesAddMirrorLines (ArrayOfArrayOfLineRecord &abs_lines_per_species, const Numeric &max_f, const Verbosity &) |
WORKSPACE METHOD: abs_lines_per_speciesAddMirrorLines. More... | |
void | abs_lines_per_speciesCompact (ArrayOfArrayOfLineRecord &abs_lines_per_species, const ArrayOfLineshapeSpec &abs_lineshape, const Vector &f_grid, const Verbosity &) |
WORKSPACE METHOD: abs_lines_per_speciesCompact. More... | |
void | abs_speciesDefineAllInScenario (ArrayOfArrayOfSpeciesTag &tgs, Index &propmat_clearsky_agenda_checked, Index &abs_xsec_agenda_checked, const String &basename, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_speciesDefineAllInScenario. More... | |
void | abs_lineshapeDefine (ArrayOfLineshapeSpec &abs_lineshape, const String &shape, const String &normalizationfactor, const Numeric &cutoff, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_lineshapeDefine. More... | |
void | abs_lineshape_per_tgDefine (ArrayOfLineshapeSpec &abs_lineshape, const ArrayOfArrayOfSpeciesTag &tgs, const ArrayOfString &shape, const ArrayOfString &normalizationfactor, const Vector &cutoff, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_lineshape_per_tgDefine. More... | |
void | abs_h2oSet (Vector &abs_h2o, const ArrayOfArrayOfSpeciesTag &abs_species, const Matrix &abs_vmrs, const Verbosity &) |
abs_h2oSet. More... | |
void | abs_n2Set (Vector &abs_n2, const ArrayOfArrayOfSpeciesTag &abs_species, const Matrix &abs_vmrs, const Verbosity &) |
abs_n2Set. More... | |
void | abs_o2Set (Vector &abs_o2, const ArrayOfArrayOfSpeciesTag &abs_species, const Matrix &abs_vmrs, const Verbosity &) |
abs_o2Set. More... | |
void | AbsInputFromAtmFields (Vector &abs_p, Vector &abs_t, Matrix &abs_vmrs, const Index &atmosphere_dim, const Vector &p_grid, const Tensor3 &t_field, const Tensor4 &vmr_field, const Verbosity &) |
WORKSPACE METHOD: AbsInputFromAtmFields. More... | |
void | abs_coefCalcFromXsec (Matrix &abs_coef, ArrayOfMatrix &abs_coef_per_species, const ArrayOfMatrix &abs_xsec_per_species, const Matrix &abs_vmrs, const Vector &abs_p, const Vector &abs_t, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_coefCalcFromXsec. More... | |
void | abs_xsec_per_speciesInit (ArrayOfMatrix &abs_xsec_per_species, const ArrayOfArrayOfSpeciesTag &tgs, const ArrayOfIndex &abs_species_active, const Vector &f_grid, const Vector &abs_p, const Index &abs_xsec_agenda_checked, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_xsec_per_speciesInit. More... | |
void | abs_xsec_per_speciesAddLines (ArrayOfMatrix &abs_xsec_per_species, const ArrayOfArrayOfSpeciesTag &tgs, const ArrayOfIndex &abs_species_active, const Vector &f_grid, const Vector &abs_p, const Vector &abs_t, const Matrix &abs_vmrs, const ArrayOfArrayOfLineRecord &abs_lines_per_species, const ArrayOfLineshapeSpec &abs_lineshape, const SpeciesAuxData &isotopologue_ratios, const ArrayOfArrayOfLineMixingRecord &line_mixing_data, const ArrayOfArrayOfIndex &line_mixing_data_lut, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_xsec_per_speciesAddLines. More... | |
void | abs_xsec_per_speciesAddConts (ArrayOfMatrix &abs_xsec_per_species, const ArrayOfArrayOfSpeciesTag &tgs, const ArrayOfIndex &abs_species_active, const Vector &f_grid, const Vector &abs_p, const Vector &abs_t, const Matrix &abs_vmrs, const ArrayOfString &abs_cont_names, const ArrayOfVector &abs_cont_parameters, const ArrayOfString &abs_cont_models, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_xsec_per_speciesAddConts. More... | |
void | abs_cont_descriptionInit (ArrayOfString &abs_cont_names, ArrayOfString &abs_cont_options, ArrayOfVector &abs_cont_parameters, const Verbosity &verbosity) |
WORKSPACE METHOD: abs_cont_descriptionInit. More... | |
void | abs_cont_descriptionAppend (ArrayOfString &abs_cont_names, ArrayOfString &abs_cont_models, ArrayOfVector &abs_cont_parameters, const String &tagname, const String &model, const Vector &userparameters, const Verbosity &) |
WORKSPACE METHOD: abs_cont_descriptionAppend. More... | |
void | propmat_clearskyAddFromAbsCoefPerSpecies (Tensor4 &propmat_clearsky, const ArrayOfMatrix &abs_coef_per_species, const Verbosity &) |
WORKSPACE METHOD: propmat_clearskyAddFromAbsCoefPerSpecies. More... | |
void | propmat_clearskyInit (Tensor4 &propmat_clearsky, const ArrayOfArrayOfSpeciesTag &abs_species, const Vector &f_grid, const Index &stokes_dim, const Index &propmat_clearsky_agenda_checked, const Verbosity &) |
WORKSPACE METHOD: propmat_clearskyInit. More... | |
void | propmat_clearskyAddFaraday (Tensor4 &propmat_clearsky, const Index &stokes_dim, const Index &atmosphere_dim, const Vector &f_grid, const ArrayOfArrayOfSpeciesTag &abs_species, const Vector &rtp_vmr, const Vector &rtp_los, const Vector &rtp_mag, const Verbosity &) |
WORKSPACE METHOD: propmat_clearskyAddFaraday. More... | |
void | propmat_clearskyAddParticles (Tensor4 &propmat_clearsky, const Index &stokes_dim, const Index &atmosphere_dim, const Vector &f_grid, const ArrayOfArrayOfSpeciesTag &abs_species, const Vector &rtp_vmr, const Vector &rtp_los, const Numeric &rtp_temperature, const ArrayOfSingleScatteringData &scat_data_array, const Verbosity &verbosity) |
WORKSPACE METHOD: propmat_clearskyAddParticles. More... | |
void | propmat_clearskyAddOnTheFly (Workspace &ws, Tensor4 &propmat_clearsky, const Vector &f_grid, const ArrayOfArrayOfSpeciesTag &abs_species, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Vector &rtp_vmr, const Agenda &abs_xsec_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: propmat_clearskyAddOnTheFly. More... | |
void | propmat_clearskyZero (Tensor4 &propmat_clearsky, const Vector &f_grid, const Index &stokes_dim, const Verbosity &) |
WORKSPACE METHOD: propmat_clearskyZero. More... | |
void | isotopologue_ratiosInitFromBuiltin (SpeciesAuxData &isotopologue_ratios, const Verbosity &) |
WORKSPACE METHOD: isotopologue_ratiosInitFromBuiltin. More... | |
void | WriteMolTau (const Vector &f_grid, const Tensor3 &z_field, const Tensor7 &propmat_clearsky_field, const Index &atmosphere_dim, const String &filename, const Verbosity &) |
WORKSPACE METHOD: WriteMolTau. More... | |
Variables | |
const Numeric | ELECTRON_CHARGE |
const Numeric | ELECTRON_MASS |
const Numeric | PI |
const Numeric | SPEED_OF_LIGHT |
const Numeric | VACUUM_PERMITTIVITY |
Stuff related to the calculation of absorption coefficients.
Definition in file m_abs.cc.
void abs_coefCalcFromXsec | ( | Matrix & | abs_coef, |
ArrayOfMatrix & | abs_coef_per_species, | ||
const ArrayOfMatrix & | abs_xsec_per_species, | ||
const Matrix & | abs_vmrs, | ||
const Vector & | abs_p, | ||
const Vector & | abs_t, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_coefCalcFromXsec.
Calculate absorption coefficients from cross sections.
This calculates both the total absorption and the absorption per species.
Cross sections are multiplied by n*VMR.
[out] | abs_coef | WS Output |
[out] | abs_coef_per_species | WS Output |
[in] | abs_xsec_per_species | WS Input |
[in] | abs_vmrs | WS Input |
[in] | abs_p | WS Input |
[in] | abs_t | WS Input |
Definition at line 1388 of file m_abs.cc.
References chk_size(), CREATE_OUT3, ConstMatrixView::ncols(), Array< base >::nelem(), ConstMatrixView::nrows(), number_density(), and Matrix::resize().
Referenced by abs_coefCalcFromXsec_g(), and propmat_clearskyAddOnTheFly().
void abs_cont_descriptionAppend | ( | ArrayOfString & | abs_cont_names, |
ArrayOfString & | abs_cont_models, | ||
ArrayOfVector & | abs_cont_parameters, | ||
const String & | tagname, | ||
const String & | model, | ||
const Vector & | userparam, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_cont_descriptionAppend.
Appends the description of a continuum model or a complete absorption model to abs_cont_names and abs_cont_parameters.
See online documentation for abs_cont_names for a list of allowed models and for information what parameters they require. See file includes/continua.arts for default parameters for the various models.
[out] | abs_cont_names | WS Output |
[out] | abs_cont_models | WS Output |
[out] | abs_cont_parameters | WS Output |
[in] | tagname | Generic Input |
[in] | model | Generic Input |
[in] | userparam | Generic Input (Default: "[]") |
Definition at line 2021 of file m_abs.cc.
References check_continuum_model().
Referenced by abs_cont_descriptionAppend_g().
void abs_cont_descriptionInit | ( | ArrayOfString & | abs_cont_names, |
ArrayOfString & | abs_cont_models, | ||
ArrayOfVector & | abs_cont_parameters, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_cont_descriptionInit.
Initializes the two workspace variables for the continuum description, abs_cont_names* and abs_cont_parameters.
This method does not really do anything, except setting the two variables to empty Arrays. It is just necessary because the method abs_cont_descriptionAppend* wants to append to the variables.
Formally, the continuum description workspace variables are required by the absorption calculation methods (e.g., abs_coefCalc). Therefore you always have to call at least abs_cont_descriptionInit, even if you do not want to use any continua.
[out] | abs_cont_names | WS Output |
[out] | abs_cont_models | WS Output |
[out] | abs_cont_parameters | WS Output |
Definition at line 2003 of file m_abs.cc.
References CREATE_OUT2.
Referenced by abs_cont_descriptionInit_g().
void abs_h2oSet | ( | Vector & | abs_h2o, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Matrix & | abs_vmrs, | ||
const Verbosity & | |||
) |
abs_h2oSet.
Sets abs_h2o to the profile of the first tag group containing water.
This is necessary, because for example abs_coefCalc requires abs_h2o to contain the water vapour profile(the reason for this is the calculation of oxygen line broadening requires water vapour profile). Then this function can be used to copy the profile of the first tag group of water.
[out] | abs_h2o | WS Output |
[in] | abs_species | WS Input |
[in] | abs_vmrs | WS Input |
Definition at line 1287 of file m_abs.cc.
References find_first_species_tg(), joker, ConstMatrixView::ncols(), Vector::resize(), and species_index_from_species_name().
Referenced by abs_xsec_per_speciesAddConts().
void abs_lines_per_speciesAddMirrorLines | ( | ArrayOfArrayOfLineRecord & | abs_lines_per_species, |
const Numeric & | max_f, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_lines_per_speciesAddMirrorLines.
Adds mirror lines at negative frequencies to abs_lines_per_species.
For each line at frequency +f in abs_lines_per_species a corresponding entry at frequency -f is added to abs_lines_per_species. The mirror lines are appended to the line list after the original lines.
[out] | abs_lines_per_species | WS Output |
[in] | max_f | Generic Input (Default: "-1") |
Definition at line 901 of file m_abs.cc.
References LineRecord::F(), ll, Array< base >::nelem(), and LineRecord::setF().
Referenced by abs_lines_per_speciesAddMirrorLines_g().
void abs_lines_per_speciesCompact | ( | ArrayOfArrayOfLineRecord & | abs_lines_per_species, |
const ArrayOfLineshapeSpec & | abs_lineshape, | ||
const Vector & | f_grid, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_lines_per_speciesCompact.
Removes all lines outside the defined lineshape cutoff frequencies from abs_lines_per_species. This can save computation time. It should be particularly useful to call this method after abs_lines_per_speciesAddMirrorLines*.
[out] | abs_lines_per_species | WS Output |
[in] | abs_lineshape | WS Input |
[in] | f_grid | WS Input |
Definition at line 953 of file m_abs.cc.
References ll, Array< base >::nelem(), and ConstVectorView::nelem().
Referenced by abs_lines_per_speciesCompact_g().
void abs_lines_per_speciesCreateFromLines | ( | ArrayOfArrayOfLineRecord & | abs_lines_per_species, |
const ArrayOfLineRecord & | abs_lines, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_lines_per_speciesCreateFromLines.
Split lines up into the different species.
The species are tested in the order in which they are specified in the controlfile. Lines are assigned to the first species that matches. That means if the list of species is ["O3-666","O3"], then the last group O3 gets assigned all the O3 lines that do not fit in the first group (all other isotopologues than the main isotopologue).
[out] | abs_lines_per_species | WS Output |
[in] | abs_lines | WS Input |
[in] | abs_species | WS Input |
Definition at line 759 of file m_abs.cc.
References CREATE_OUT2, CREATE_OUT3, LineRecord::F(), SpeciesTag::Isotopologue(), LineRecord::Isotopologue(), SpeciesRecord::Isotopologue(), SpeciesTag::Lf(), SpeciesRecord::Name(), Array< base >::nelem(), SpeciesTag::Species(), LineRecord::Species(), global_data::species_data, LineRecord::SpeciesData(), and SpeciesTag::Uf().
Referenced by abs_lines_per_speciesCreateFromLines_g(), and abs_lines_per_speciesReadFromCatalogues().
void abs_lines_per_speciesReadFromCatalogues | ( | ArrayOfArrayOfLineRecord & | abs_lines_per_species, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const ArrayOfString & | filenames, | ||
const ArrayOfString & | formats, | ||
const Vector & | fmin, | ||
const Vector & | fmax, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_lines_per_speciesReadFromCatalogues.
Read spectral line data from different line catalogues.
For each absorption species, you can specify which catalogue to use. Because the method creates abs_lines_per_species directly, it replaces for example the following two method calls:
<br> - abs_linesReadFromHitran <br> - abs_lines_per_speciesCreateFromLines
This method needs as input WSVs the list of species abs_species*. Generic input 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 database), MYTRAN2, JPL, or ARTS. Furthermore, you have to specify minimum and maximum frequency for each species. To safe typing, if there are less elements in the keyword parameters than there are species, the last parameters are applied to all following species.
Example usage:
abs_lines_per_speciesReadFromCatalogues( <br> [ "../data/cat1.dat", "../data/cat2.dat" ] <br> [ "MYTRAN2", "HITRAN96" ] <br> [ 0, 0 ] <br> [ 2000e9, 100e9 ] )
In this example, lines for the first species will be taken from cat1, lines for all other species will be taken from cat2. This allows you for example to use a special line file just for water vapor lines.
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 (abs_linesReadFromHitran, etc.), as well as abs_lines_per_speciesCreateFromLines*.
[out] | abs_lines_per_species | WS Output |
[in] | abs_species | WS Input |
[in] | filenames | Generic Input |
[in] | formats | Generic Input |
[in] | fmin | Generic Input |
[in] | fmax | Generic Input |
Definition at line 549 of file m_abs.cc.
References abs_lines_per_speciesCreateFromLines(), abs_linesReadFromArts(), abs_linesReadFromHitran(), abs_linesReadFromHitranPre2004(), abs_linesReadFromJpl(), abs_linesReadFromMytran2(), CREATE_OUT3, Array< base >::nelem(), and ConstVectorView::nelem().
Referenced by abs_lines_per_speciesReadFromCatalogues_g().
void abs_lines_per_speciesSetEmpty | ( | ArrayOfArrayOfLineRecord & | abs_lines_per_species, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_lines_per_speciesSetEmpty.
Sets abs_lines_per_species to empty line lists.
You can use this method to set abs_lines_per_species if you do not really want to compute line spectra. Formally, abs_coefCalc will still require abs_lines_per_species to be set.
[out] | abs_lines_per_species | WS Output |
[in] | abs_species | WS Input |
Definition at line 98 of file m_abs.cc.
References Array< base >::nelem().
Referenced by abs_lines_per_speciesSetEmpty_g().
void abs_lines_per_speciesWriteToSplitArtscat | ( | const String & | output_file_format, |
const ArrayOfArrayOfLineRecord & | abs_lines_per_species, | ||
const String & | basename, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_lines_per_speciesWriteToSplitArtscat.
Write each species to a separate catalogue file.
[in] | output_file_format | WS Input |
[in] | abs_lines_per_species | WS Input |
[in] | basename | Generic Input (Default: "") |
Definition at line 382 of file m_abs.cc.
References global_data::species_data, and WriteXML().
Referenced by abs_lines_per_speciesWriteToSplitArtscat_g().
void abs_linesArtscat4FromArtscat3 | ( | ArrayOfLineRecord & | abs_lines, |
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_linesArtscat4FromArtscat3.
Convert a line list from ARTSCAT-3 to ARTSCAT-4 format.
ARTSCAT-4 lines contain more information than ARTSCAT-3 lines, particularly they contain separate broadening parameters for six different broadening species. So a real conversion is not possible. What this method does is copy the air broadening (and shift) parameters from ARTSCAT-3 to all ARTSCAT-4 broadening species. The case that one of the broadening species is identical to the Self species is also handled correctly.
The idea is that the ARTSCAT-4 line list generated in this way should give identical RT simulation results as the original ARTSCAT-3 list. This is verified in one of the test controlfiles.
Currently only broadening and shift parameters are handled here. There are some other additional fields in ARTSCAT-4, which we so far ignore.
[out] | abs_lines | WS Output |
Definition at line 114 of file m_abs.cc.
References Array< base >::nelem().
Referenced by abs_linesArtscat4FromArtscat3_g().
void abs_lineshape_per_tgDefine | ( | ArrayOfLineshapeSpec & | abs_lineshape, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const ArrayOfString & | shape, | ||
const ArrayOfString & | normalizationfactor, | ||
const Vector & | cutoff, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_lineshape_per_tgDefine.
Set the lineshape, separately for each absorption species.
This method is similar to abs_lineshapeDefine, except that a different lineshape can be set for each absorption species (see abs_species*). For example, you might want to use different values of the cutoff frequency for different species.
For detailed documentation on the available options for the input parameters see documentation of method abs_lineshapeDefine.
[out] | abs_lineshape | WS Output |
[in] | abs_species | WS Input |
[in] | shape | Generic Input |
[in] | normalizationfactor | Generic Input |
[in] | cutoff | Generic Input |
Definition at line 1182 of file m_abs.cc.
References CREATE_OUT2, global_data::lineshape_data, global_data::lineshape_norm_data, Array< base >::nelem(), and ConstVectorView::nelem().
Referenced by abs_lineshape_per_tgDefine_g().
void abs_lineshapeDefine | ( | ArrayOfLineshapeSpec & | abs_lineshape, |
const String & | shape, | ||
const String & | forefactor, | ||
const Numeric & | cutoff, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_lineshapeDefine.
Set the lineshape for all calculated lines.
Sets the lineshape function. Beside the lineshape function itself, you also have so select a forefactor and a frequency cutoff. The forefactor is later multiplied with the lineshape function.
The cutoff frequency is used to make lineshapes finite in frequency, the response outside the cutoff is set to zero, and the lineshape value at the cutoff frequency is subtracted from the overall lineshape as a constant offset. This ensures that the lineshape goes to zero at the cutoff frequency without a discontinuity.
We generate only one copy of the lineshape settings. Absorption routines check for this case and use it for all species.
The allowed values for the input parameters are:
shape: <br> no_shape: no specified shape <br> Doppler: Doppler lineshape <br> Lorentz: Lorentz lineshape <br> Voigt_Kuntz3: Kuntz approximation to the Voigt lineshape, <br> accuracy > 2x10^(-3) <br> Voigt_Kuntz4: Kuntz approximation to the Voigt lineshape, <br> accuracy > 2x10^(-4) <br> Voigt_Kuntz6: Kuntz approximation to the Voigt lineshape, <br> accuracy > 2x10^(-6) <br> Voigt_Drayson: Drayson approximation to the Voigt lineshape <br> Rosenkranz_Voigt_Drayson: Rosenkrantz oxygen absortion with overlap correction <br> on the basis of Drayson routine <br> Rosenkranz_Voigt_Kuntz6 : Rosenkrantz oxygen absortion with overlap correction <br> on the basis of Kuntz routine, accuracy > 2x10^(-6) <br> CO2_Lorentz: Lorentz multiplied with Cousin's chi factors <br> CO2_Drayson: Drayson multiplied with Cousin's chi factors <br> Faddeeva_Algorithm_916: Faddeeva function based on Zaghloul, M.R. and <br> A.N. Ali (2011). Implementation by Steven G. Johnson <br> under the MIT License (attainable through <br> http://ab-initio.mit.edu/Faddeeva)
forefactor: <br> no_norm: 1 <br> quadratic: (f/f0)^2 <br> VVH: (f*tanh(h*f/(2k*T))) / (f0*tanh(h*f0/(2k*T)))
cutoff: <br> -1: no cutoff <br> <Number>: positive cutoff frequency in Hz
[out] | abs_lineshape | WS Output |
[in] | shape | Generic Input |
[in] | forefactor | Generic Input |
[in] | cutoff | Generic Input |
Definition at line 1113 of file m_abs.cc.
References CREATE_OUT2, global_data::lineshape_data, and global_data::lineshape_norm_data.
Referenced by abs_lineshapeDefine_g().
void abs_linesReadFromArts | ( | ArrayOfLineRecord & | abs_lines, |
const String & | filename, | ||
const Numeric & | fmin, | ||
const Numeric & | fmax, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_linesReadFromArts.
Read all the lines from an Arts catalogue file in the given frequency range. Otherwise a runtime error will be thrown
Please note that all lines must correspond to legal species / isotopologue combinations
[out] | abs_lines | WS Output |
[in] | filename | Generic Input |
[in] | fmin | Generic Input |
[in] | fmax | Generic Input |
Definition at line 369 of file m_abs.cc.
References xml_read_arts_catalogue_from_file().
Referenced by abs_lines_per_speciesReadFromCatalogues(), abs_linesReadFromArts_g(), and abs_linesReadFromSplitArtscat().
void abs_linesReadFromArtsObsolete | ( | ArrayOfLineRecord & | abs_lines, |
const String & | filename, | ||
const Numeric & | fmin, | ||
const Numeric & | fmax, | ||
const Verbosity & | verbosity | ||
) |
Obsolete old ARTS catalogue reading function.
This function is for the old ARTS catalogue format without XML header. It is no longer used, but left here for historical reasons.
abs_lines | Line data. |
filename | Name of catalogue file. |
fmin | Minimum frequency. |
fmax | Maximum frequency. |
Definition at line 476 of file m_abs.cc.
References CREATE_OUT2, LineRecord::F(), Array< base >::nelem(), open_input_file(), LineRecord::ReadFromArtscat3Stream(), LineRecord::Version(), and LineRecord::VersionString().
void abs_linesReadFromHitran | ( | ArrayOfLineRecord & | abs_lines, |
const String & | filename, | ||
const Numeric & | fmin, | ||
const Numeric & | fmax, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_linesReadFromHitran.
Read all the lines from HITRAN 2004 and later catalogue file in the given frequency range. Otherwise a runtime error is thrown.
Records of molecules unknown to ARTS are ignored but a warning is issued. In particular this happens for CH3OH (HITRAN molecule number 39) because there is no total internal partition sum available.
The database must be sorted by increasing frequency!
WWW access of the HITRAN catalogue: http://www.hitran.com/
For data in the Hitran 1986-2001 format use the workspace method abs_linesReadFromHitranPre2004
[out] | abs_lines | WS Output |
[in] | filename | Generic Input |
[in] | fmin | Generic Input |
[in] | fmax | Generic Input |
Definition at line 189 of file m_abs.cc.
References CREATE_OUT2, LineRecord::F(), my_basic_string< charT >::nelem(), Array< base >::nelem(), open_input_file(), LineRecord::ReadFromHitran2004Stream(), my_basic_string< charT >::split(), and my_basic_string< charT >::tolower().
Referenced by abs_lines_per_speciesReadFromCatalogues(), abs_linesReadFromHitran_g(), and main().
void abs_linesReadFromHitranPre2004 | ( | ArrayOfLineRecord & | abs_lines, |
const String & | filename, | ||
const Numeric & | fmin, | ||
const Numeric & | fmax, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_linesReadFromHitranPre2004.
Read all the lines from a HITRAN 1986-2001 catalogue file in the given frequency range. Otherwise a runtime error will be thrown. For HITRAN 2004 and later line data use the workspace method abs_linesReadFromHitran.
Please note that all lines must correspond to legal species / isotopologue combinations and that the line data file must be sorted by increasing frequency
WWW access of the HITRAN catalogue: http://www.hitran.com/
[out] | abs_lines | WS Output |
[in] | filename | Generic Input |
[in] | fmin | Generic Input |
[in] | fmax | Generic Input |
Definition at line 144 of file m_abs.cc.
References CREATE_OUT2, LineRecord::F(), Array< base >::nelem(), open_input_file(), and LineRecord::ReadFromHitran2001Stream().
Referenced by abs_lines_per_speciesReadFromCatalogues(), and abs_linesReadFromHitranPre2004_g().
void abs_linesReadFromJpl | ( | ArrayOfLineRecord & | abs_lines, |
const String & | filename, | ||
const Numeric & | fmin, | ||
const Numeric & | fmax, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_linesReadFromJpl.
Read all the lines from a JPL catalogue file in the given frequency range. Otherwise a runtime error will be thrown
Please note that all lines must correspond to legal species / isotopologue combinations.
WWW access of the JPL catalogue: http://spec.jpl.nasa.gov/
[out] | abs_lines | WS Output |
[in] | filename | Generic Input |
[in] | fmin | Generic Input |
[in] | fmax | Generic Input |
Definition at line 324 of file m_abs.cc.
References CREATE_OUT2, LineRecord::F(), Array< base >::nelem(), open_input_file(), and LineRecord::ReadFromJplStream().
Referenced by abs_lines_per_speciesReadFromCatalogues(), and abs_linesReadFromJpl_g().
void abs_linesReadFromMytran2 | ( | ArrayOfLineRecord & | abs_lines, |
const String & | filename, | ||
const Numeric & | fmin, | ||
const Numeric & | fmax, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_linesReadFromMytran2.
Read all the lines from a MYTRAN2 catalogue file in the given frequency range. Otherwise a runtime error will be thrown
Please note that all lines must correspond to legal species / isotopologue combinations
[out] | abs_lines | WS Output |
[in] | filename | Generic Input |
[in] | fmin | Generic Input |
[in] | fmax | Generic Input |
Definition at line 283 of file m_abs.cc.
References CREATE_OUT2, LineRecord::F(), Array< base >::nelem(), open_input_file(), and LineRecord::ReadFromMytran2Stream().
Referenced by abs_lines_per_speciesReadFromCatalogues(), and abs_linesReadFromMytran2_g().
void abs_linesReadFromSplitArtscat | ( | ArrayOfLineRecord & | abs_lines, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const String & | basename, | ||
const Numeric & | fmin, | ||
const Numeric & | fmax, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_linesReadFromSplitArtscat.
Read all the lines in the given frequency range from a split Arts catalogue file.
Please note that all lines must correspond to legal species / isotopologue combinations
[out] | abs_lines | WS Output |
[in] | abs_species | WS Input |
[in] | basename | Generic Input |
[in] | fmin | Generic Input |
[in] | fmax | Generic Input |
Definition at line 410 of file m_abs.cc.
References abs_linesReadFromArts(), CREATE_OUT2, Array< base >::nelem(), global_data::species_data, SpeciesTag::TYPE_PLAIN, and SpeciesTag::TYPE_ZEEMAN.
Referenced by abs_linesReadFromSplitArtscat_g().
void abs_n2Set | ( | Vector & | abs_n2, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Matrix & | abs_vmrs, | ||
const Verbosity & | |||
) |
abs_n2Set.
Sets abs_n2 to the profile of the first tag group containing molecular nitrogen. See abs_h2oSet for more details.
[out] | abs_n2 | WS Output |
[in] | abs_species | WS Input |
[in] | abs_vmrs | WS Input |
Definition at line 1315 of file m_abs.cc.
References find_first_species_tg(), joker, ConstMatrixView::ncols(), Vector::resize(), and species_index_from_species_name().
Referenced by abs_xsec_per_speciesAddConts().
void abs_o2Set | ( | Vector & | abs_o2, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Matrix & | abs_vmrs, | ||
const Verbosity & | |||
) |
abs_o2Set.
Sets abs_o2 to the profile of the first tag group containing molecular oxygen. See abs_h2oSet for more details.
[out] | abs_o2 | WS Output |
[in] | abs_species | WS Input |
[in] | abs_vmrs | WS Input |
Definition at line 1342 of file m_abs.cc.
References find_first_species_tg(), joker, ConstMatrixView::ncols(), Vector::resize(), and species_index_from_species_name().
Referenced by abs_xsec_per_speciesAddConts().
void abs_speciesDefineAllInScenario | ( | ArrayOfArrayOfSpeciesTag & | abs_species, |
Index & | propmat_clearsky_agenda_checked, | ||
Index & | abs_xsec_agenda_checked, | ||
const String & | basename, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_speciesDefineAllInScenario.
Define one tag group for each species known to ARTS and included in an atmospheric scenario.
You can use this as an alternative to abs_speciesSet if you want to make an absorption calculation that is as complete as possible. The method goes through all defined species and tries to open the VMR file. If this works the tag is included, otherwise it is skipped.
[out] | abs_species | WS Output |
[out] | propmat_clearsky_agenda_checked | WS Output |
[out] | abs_xsec_agenda_checked | WS Output |
[in] | basename | Generic Input |
Definition at line 1047 of file m_abs.cc.
References CREATE_OUT2, find_xml_file(), Array< base >::nelem(), and global_data::species_data.
Referenced by abs_speciesDefineAllInScenario_g().
void abs_xsec_per_speciesAddConts | ( | ArrayOfMatrix & | abs_xsec_per_species, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const ArrayOfIndex & | abs_species_active, | ||
const Vector & | f_grid, | ||
const Vector & | abs_p, | ||
const Vector & | abs_t, | ||
const Matrix & | abs_vmrs, | ||
const ArrayOfString & | abs_cont_names, | ||
const ArrayOfVector & | abs_cont_parameters, | ||
const ArrayOfString & | abs_cont_models, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_xsec_per_speciesAddConts.
Calculate absorption cross sections per tag group for continua.
[out] | abs_xsec_per_species | WS Output |
[in] | abs_species | WS Input |
[in] | abs_species_active | WS Input |
[in] | f_grid | WS Input |
[in] | abs_p | WS Input |
[in] | abs_t | WS Input |
[in] | abs_vmrs | WS Input |
[in] | abs_cont_names | WS Input |
[in] | abs_cont_parameters | WS Input |
[in] | abs_cont_models | WS Input |
Definition at line 1806 of file m_abs.cc.
References abs_h2oSet(), abs_n2Set(), abs_o2Set(), CREATE_OUT3, joker, ConstMatrixView::ncols(), Array< base >::nelem(), ConstVectorView::nelem(), ConstMatrixView::nrows(), global_data::species_data, SpeciesTag::TYPE_PREDEF, and xsec_continuum_tag().
Referenced by abs_xsec_per_speciesAddConts_g().
void abs_xsec_per_speciesAddLines | ( | ArrayOfMatrix & | abs_xsec_per_species, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const ArrayOfIndex & | abs_species_active, | ||
const Vector & | f_grid, | ||
const Vector & | abs_p, | ||
const Vector & | abs_t, | ||
const Matrix & | abs_vmrs, | ||
const ArrayOfArrayOfLineRecord & | abs_lines_per_species, | ||
const ArrayOfLineshapeSpec & | abs_lineshape, | ||
const SpeciesAuxData & | isotopologue_ratios, | ||
const ArrayOfArrayOfLineMixingRecord & | line_mixing_data, | ||
const ArrayOfArrayOfIndex & | line_mixing_data_lut, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_xsec_per_speciesAddLines.
Calculates the line spectrum for both attenuation and phase for each tag group and adds it to abs_xsec_per_species.
[out] | abs_xsec_per_species | WS Output |
[in] | abs_species | WS Input |
[in] | abs_species_active | WS Input |
[in] | f_grid | WS Input |
[in] | abs_p | WS Input |
[in] | abs_t | WS Input |
[in] | abs_vmrs | WS Input |
[in] | abs_lines_per_species | WS Input |
[in] | abs_lineshape | WS Input |
[in] | isotopologue_ratios | WS Input |
[in] | line_mixing_data | WS Input |
[in] | line_mixing_data_lut | WS Input |
Definition at line 1531 of file m_abs.cc.
References checkIsotopologueRatios(), CREATE_OUT3, LineshapeSpec::Cutoff(), get_tag_group_name(), LineshapeSpec::Ind_ls(), LineshapeSpec::Ind_lsn(), is_zeeman(), SpeciesTag::LINE_MIXING_TYPE_NONE, global_data::lineshape_data, ll, min, Array< base >::nelem(), ConstMatrixView::nrows(), global_data::species_data, xsec_species(), and xsec_species_line_mixing_wrapper().
Referenced by abs_xsec_per_speciesAddLines_g().
void abs_xsec_per_speciesInit | ( | ArrayOfMatrix & | abs_xsec_per_species, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const ArrayOfIndex & | abs_species_active, | ||
const Vector & | f_grid, | ||
const Vector & | abs_p, | ||
const Index & | abs_xsec_agenda_checked, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: abs_xsec_per_speciesInit.
Initialize abs_xsec_per_species.
The initialization is necessary, because methods abs_xsec_per_speciesAddLines and abs_xsec_per_speciesAddConts just add to abs_xsec_per_species. The size is determined from abs_species.
[out] | abs_xsec_per_species | WS Output |
[in] | abs_species | WS Input |
[in] | abs_species_active | WS Input |
[in] | f_grid | WS Input |
[in] | abs_p | WS Input |
[in] | abs_xsec_agenda_checked | WS Input |
Definition at line 1468 of file m_abs.cc.
References CREATE_OUT3, Array< base >::nelem(), and ConstVectorView::nelem().
Referenced by abs_xsec_per_speciesInit_g().
void AbsInputFromAtmFields | ( | Vector & | abs_p, |
Vector & | abs_t, | ||
Matrix & | abs_vmrs, | ||
const Index & | atmosphere_dim, | ||
const Vector & | p_grid, | ||
const Tensor3 & | t_field, | ||
const Tensor4 & | vmr_field, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: AbsInputFromAtmFields.
Initialises the WSVs abs_p, abs_t and abs_vmrs from p_grid, t_field and vmr_field.
This only works for a 1D atmosphere!
[out] | abs_p | WS Output |
[out] | abs_t | WS Output |
[out] | abs_vmrs | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | t_field | WS Input |
[in] | vmr_field | WS Input |
Definition at line 1360 of file m_abs.cc.
References joker.
Referenced by AbsInputFromAtmFields_g().
void AbsInputFromRteScalars | ( | Vector & | abs_p, |
Vector & | abs_t, | ||
Matrix & | abs_vmrs, | ||
const Numeric & | rtp_pressure, | ||
const Numeric & | rtp_temperature, | ||
const Vector & | rtp_vmr, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: AbsInputFromRteScalars.
Initialize absorption input WSVs from local atmospheric conditions.
The purpose of this method is to allow an explicit line-by-line calculation, e.g., by abs_coefCalc, to be put inside the propmat_clearsky_agenda*. What the method does is to prepare absorption input parameters (pressure, temperature, VMRs), from the input parameters to propmat_clearsky_agenda.
[out] | abs_p | WS Output |
[out] | abs_t | WS Output |
[out] | abs_vmrs | WS Output |
[in] | rtp_pressure | WS Input |
[in] | rtp_temperature | WS Input |
[in] | rtp_vmr | WS Input |
Definition at line 73 of file m_abs.cc.
References ConstVectorView::nelem(), Vector::resize(), and Matrix::resize().
Referenced by AbsInputFromRteScalars_g(), propmat_clearskyAddOnTheFly(), and propmat_clearskyAddZeeman().
void isotopologue_ratiosInitFromBuiltin | ( | SpeciesAuxData & | isotopologue_ratios, |
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: isotopologue_ratiosInitFromBuiltin.
Initialize isotopologue ratios with default values from built-in species data.
[out] | isotopologue_ratios | WS Output |
Definition at line 2421 of file m_abs.cc.
References fillSpeciesAuxDataWithIsotopologueRatiosFromSpeciesData().
Referenced by isotopologue_ratiosInitFromBuiltin_g().
void propmat_clearskyAddFaraday | ( | Tensor4 & | propmat_clearsky, |
const Index & | stokes_dim, | ||
const Index & | atmosphere_dim, | ||
const Vector & | f_grid, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Vector & | rtp_vmr, | ||
const Vector & | rtp_los, | ||
const Vector & | rtp_mag, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: propmat_clearskyAddFaraday.
Calculates absorption matrix describing Faraday rotation.
Faraday rotation is a change of polarization state of an electromagnetic wave propagating through charged matter by interaction with a magnetic field. Hence, this method requires abs_species* to contain 'free_electrons' and electron content field (as part of vmr_field) as well as magnetic field (mag_u_field, mag_v_field*, mag_w_field) to be specified.
Faraday rotation affects Stokes parameters 2 and 3 (but not intensity!). Therefore, this method requires stokes_dim>2.
Like all 'propmat_clearskyAdd*' methods, the method is additive, i.e., does not overwrite the propagation matrix propmat_clearsky, but adds further contributions.
[out] | propmat_clearsky | WS Output |
[in] | stokes_dim | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | f_grid | WS Input |
[in] | abs_species | WS Input |
[in] | rtp_vmr | WS Input |
[in] | rtp_los | WS Input |
[in] | rtp_mag | WS Input |
Definition at line 2155 of file m_abs.cc.
References abs, dotprod_with_los(), ELECTRON_CHARGE, ELECTRON_MASS, Array< base >::nelem(), ConstVectorView::nelem(), PI, SPEED_OF_LIGHT, SpeciesTag::TYPE_FREE_ELECTRONS, and VACUUM_PERMITTIVITY.
Referenced by propmat_clearskyAddFaraday_g().
void propmat_clearskyAddFromAbsCoefPerSpecies | ( | Tensor4 & | propmat_clearsky, |
const ArrayOfMatrix & | abs_coef_per_species, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: propmat_clearskyAddFromAbsCoefPerSpecies.
Copy propmat_clearsky from abs_coef_per_species. This is handy for putting an explicit line-by-line calculation into the propmat_clearsky_agenda*. This method is also used internally by. propmat_clearskyAddOnTheFly*. Like all other propmat_clearsky methods, this method does not overwrite prior content of propmat_clearsky, but adds to it.
[out] | propmat_clearsky | WS Output |
[in] | abs_coef_per_species | WS Input |
Definition at line 2046 of file m_abs.cc.
References joker, ConstTensor4View::nbooks(), ConstTensor4View::ncols(), Array< base >::nelem(), ConstTensor4View::npages(), and ConstTensor4View::nrows().
Referenced by propmat_clearskyAddFromAbsCoefPerSpecies_g(), and propmat_clearskyAddOnTheFly().
void propmat_clearskyAddOnTheFly | ( | Workspace & | ws, |
Tensor4 & | propmat_clearsky, | ||
const Vector & | f_grid, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Numeric & | rtp_pressure, | ||
const Numeric & | rtp_temperature, | ||
const Vector & | rtp_vmr, | ||
const Agenda & | abs_xsec_agenda, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: propmat_clearskyAddOnTheFly.
Calculates gas absorption coefficients line-by-line.
This method can be used inside propmat_clearsky_agenda just like propmat_clearskyAddFromLookup*. It is a shortcut for putting in some other methods explicitly, namely:
<br> 1. AbsInputFromRteScalars <br> 2. Execute abs_xsec_agenda <br> 3. abs_coefCalcFromXsec <br> 4. propmat_clearskyAddFromAbsCoefPerSpecies
The calculation is for one specific atmospheric condition, i.e., a set of pressure, temperature, and VMR values.
[in,out] | ws | Workspace |
[out] | propmat_clearsky | WS Output |
[in] | f_grid | WS Input |
[in] | abs_species | WS Input |
[in] | rtp_pressure | WS Input |
[in] | rtp_temperature | WS Input |
[in] | rtp_vmr | WS Input |
[in] | abs_xsec_agenda | WS Input |
Definition at line 2337 of file m_abs.cc.
References abs_coefCalcFromXsec(), abs_xsec_agendaExecute(), AbsInputFromRteScalars(), CREATE_OUT3, Array< base >::nelem(), and propmat_clearskyAddFromAbsCoefPerSpecies().
Referenced by calc_lookup_error(), and propmat_clearskyAddOnTheFly_g().
void propmat_clearskyAddParticles | ( | Tensor4 & | propmat_clearsky, |
const Index & | stokes_dim, | ||
const Index & | atmosphere_dim, | ||
const Vector & | f_grid, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Vector & | rtp_vmr, | ||
const Vector & | rtp_los, | ||
const Numeric & | rtp_temperature, | ||
const ArrayOfSingleScatteringData & | scat_data_array, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: propmat_clearskyAddParticles.
Calculates absorption coefficients of particles to be used in clearsky (non-cloudbox) calculations.
This is a method to include particles (neglecting possible scattering components) in a clearsky calculation, i.e. without applying the cloudbox and scattering solvers. Particles are handled as absorbing species with one instance of 'particles' per particle type considered added to abs_species. Particle absorption cross- sections at current atmospheric conditions are extracted from the single scattering data stored in scat_data_array, i.e., one array element per 'particles' instance in abs_species is required. Number densities are stored in vmr_field_raw or vmr_field as for all abs_species*, but can be taken from (raw) pnd_field type data.
A line-of-sight direction rtp_los is required as particles can exhibit directional dependent absorption properties, which is taken into account by this method. ParticleType2abs_speciesAdd* can be used to add all required settings/data for a single particle type at once, i.e. a 'particles' tag to abs_species, a set of single scattering data to scat_data_array* and a number density field to vmr_field_raw (vmr_field is derived applying AtmFieldsCalc once VMRs for all abs_species* have been added).
Like all 'propmat_clearskyAdd*' methods, the method is additive, i.e., does not overwrite the propagation matrix propmat_clearsky, but adds further contributions.
[out] | propmat_clearsky | WS Output |
[in] | stokes_dim | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | f_grid | WS Input |
[in] | abs_species | WS Input |
[in] | rtp_vmr | WS Input |
[in] | rtp_los | WS Input |
[in] | rtp_temperature | WS Input |
[in] | scat_data_array | WS Input |
Definition at line 2228 of file m_abs.cc.
References ext_matFromabs_vec(), joker, mirror_los(), Array< base >::nelem(), ConstVectorView::nelem(), ns, opt_propExtract(), scat_data_array_monoCalc(), and SpeciesTag::TYPE_PARTICLES.
Referenced by propmat_clearskyAddParticles_g().
void propmat_clearskyInit | ( | Tensor4 & | propmat_clearsky, |
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Vector & | f_grid, | ||
const Index & | stokes_dim, | ||
const Index & | propmat_clearsky_agenda_checked, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: propmat_clearskyInit.
Initialize propmat_clearsky.
This method must be used inside propmat_clearsky_agenda and then be called first.
[out] | propmat_clearsky | WS Output |
[in] | abs_species | WS Input |
[in] | f_grid | WS Input |
[in] | stokes_dim | WS Input |
[in] | propmat_clearsky_agenda_checked | WS Input |
Definition at line 2122 of file m_abs.cc.
References Array< base >::nelem(), ConstVectorView::nelem(), and Tensor4::resize().
Referenced by calc_lookup_error(), and propmat_clearskyInit_g().
void propmat_clearskyZero | ( | Tensor4 & | propmat_clearsky, |
const Vector & | f_grid, | ||
const Index & | stokes_dim, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: propmat_clearskyZero.
Sets propmat_clearsky to match zero attenuation.
Use this method just if you know what you are doing!
If you want to make a calculation with no clear-sky attenuation at all, fill propmat_clearsky_agenda with this method and required Ignore statements (don't include propmat_clearskyInit).
[out] | propmat_clearsky | WS Output |
[in] | f_grid | WS Input |
[in] | stokes_dim | WS Input |
Definition at line 2407 of file m_abs.cc.
References ConstVectorView::nelem(), and Tensor4::resize().
Referenced by propmat_clearskyZero_g().
void WriteMolTau | ( | const Vector & | f_grid, |
const Tensor3 & | z_field, | ||
const Tensor7 & | propmat_clearsky_field, | ||
const Index & | atmosphere_dim, | ||
const String & | filename, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: WriteMolTau.
Writes a 'molecular_tau_file' as required for libRadtran.
The libRadtran (www.libradtran.org) radiative transfer package is a comprehensive package for various applications, it can be used to compute radiances, irradiances, actinic fluxes, ... for the solar and the thermal spectral ranges. Absorption is usually treated using k-distributions or other parameterizations. For calculations with high spectral resolution it requires absorption coefficients from an external line-by-line model. Using this method, arts generates a file that can be used by libRadtran (option molecular_tau_file).
[in] | f_grid | WS Input |
[in] | z_field | WS Input |
[in] | propmat_clearsky_field | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | filename | Generic Input |
Definition at line 2431 of file m_abs.cc.
References _U_, Tensor4View::get_c_array(), ConstTensor7View::nbooks(), nca_error(), ConstVectorView::nelem(), ConstTensor7View::nlibraries(), ConstTensor3View::npages(), SPEED_OF_LIGHT, and WriteMolTau().
Referenced by WriteMolTau(), and WriteMolTau_g().
const Numeric ELECTRON_CHARGE |
Referenced by propmat_clearskyAddFaraday().
const Numeric ELECTRON_MASS |
Referenced by propmat_clearskyAddFaraday().
const Numeric PI |
Referenced by propmat_clearskyAddFaraday().
const Numeric SPEED_OF_LIGHT |
Referenced by propmat_clearskyAddFaraday(), and WriteMolTau().
const Numeric VACUUM_PERMITTIVITY |
Referenced by propmat_clearskyAddFaraday().