ARTS  2.3.1285(git:92a29ea9-dirty)
m_linemixing.cc File Reference

User interface for dealing with pure line mixing calculations. More...

#include "global_data.h"
#include "linemixing_hitran.h"
#include "propagationmatrix.h"

Go to the source code of this file.

Functions

void abs_hitran_relmat_dataReadHitranRelmatDataAndLines (HitranRelaxationMatrixData &abs_hitran_relmat_data, ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const ArrayOfArrayOfSpeciesTag &abs_species, const String &basedir, const Numeric &linemixinglimit, const Numeric &fmin, const Numeric &fmax, const Numeric &stot, const String &mode, const Verbosity &)
 WORKSPACE METHOD: abs_hitran_relmat_dataReadHitranRelmatDataAndLines. More...
 
void propmat_clearskyAddHitranLineMixingLines (ArrayOfPropagationMatrix &propmat_clearsky, const HitranRelaxationMatrixData &abs_hitran_relmat_data, const ArrayOfArrayOfAbsorptionLines &abs_lines_per_species, const Vector &f_grid, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfRetrievalQuantity &jacobian_quantities, const SpeciesAuxData &partition_functions, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const Vector &rtp_vmr, const Verbosity &)
 WORKSPACE METHOD: propmat_clearskyAddHitranLineMixingLines. More...
 

Detailed Description

User interface for dealing with pure line mixing calculations.

Author
Richard Larsson
Date
2020-06-23

Note: If defined using parameterized form, the normal line-functions approach is faster and more appropriate. These functions should first compute the relaxation, not simply use the relaxation

Definition in file m_linemixing.cc.

Function Documentation

◆ abs_hitran_relmat_dataReadHitranRelmatDataAndLines()

void abs_hitran_relmat_dataReadHitranRelmatDataAndLines ( HitranRelaxationMatrixData abs_hitran_relmat_data,
ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const ArrayOfArrayOfSpeciesTag abs_species,
const String basedir,
const Numeric linemixinglimit,
const Numeric fmin,
const Numeric fmax,
const Numeric stot,
const String mode,
const Verbosity verbosity 
)

WORKSPACE METHOD: abs_hitran_relmat_dataReadHitranRelmatDataAndLines.

Reads HITRAN line mixing data from a basedir The basedir must point at line mixing data as provided by HITRAN. The lines will be changed such that ALL CO2 lines are truncated before adding the HITRAN line mixing lines.

The available modes are such that "VP*" uses Voigt profiles and "SDVP*" uses speed-dependent Voigt profiles, where the "_Y" signifies if Rosenkranz-style line mixing is considered or not, and the "W" at the end signifies that full calculations are used. At the line mixing limit, line mixing is simply turned off.

The "FullW" mode uses Lorentzian calculations with the full relaxation matrix until the line mixing limit is reached and it switches to Voigt.

The HITRAN LM data is available for download at: https://hitran.org/supplementary/

Author
Richard Larsson
Parameters
[out]abs_hitran_relmat_dataWS Output
[in,out]abs_lines_per_speciesWS Input/Output
[in]abs_speciesWS Input
[in]basedirGeneric Input
[in]linemixinglimitGeneric Input (Default: "-1")
[in]fminGeneric Input (Default: "0")
[in]fmaxGeneric Input (Default: "1e99")
[in]stotGeneric Input (Default: "0")
[in]modeGeneric Input (Default: "VP_W")

Definition at line 36 of file m_linemixing.cc.

References lm_hitran_2017::FullW, i, Array< base >::nelem(), lm_hitran_2017::read(), lm_hitran_2017::SDVP, lm_hitran_2017::SDVP_Y, SpeciesTag::Species(), Species, global_data::species_data, lm_hitran_2017::VP, lm_hitran_2017::VP_W, and lm_hitran_2017::VP_Y.

Referenced by abs_hitran_relmat_dataReadHitranRelmatDataAndLines_g().

◆ propmat_clearskyAddHitranLineMixingLines()

void propmat_clearskyAddHitranLineMixingLines ( ArrayOfPropagationMatrix propmat_clearsky,
const HitranRelaxationMatrixData abs_hitran_relmat_data,
const ArrayOfArrayOfAbsorptionLines abs_lines_per_species,
const Vector f_grid,
const ArrayOfArrayOfSpeciesTag abs_species,
const ArrayOfRetrievalQuantity jacobian_quantities,
const SpeciesAuxData partition_functions,
const Numeric rtp_pressure,
const Numeric rtp_temperature,
const Vector rtp_vmr,
const Verbosity verbosity 
)

WORKSPACE METHOD: propmat_clearskyAddHitranLineMixingLines.

Calculates gas absorption coefficients line-by-line for HITRAN line mixed data.

Wigner6Init* or Wigner3Init must be called before this function.

Please ensure you cite the original authors when you use this function: J. Lamouroux, L. Realia, X. Thomas, et al., J.Q.S.R.T. 151 (2015), 88-96

Author
Richard Larsson
Parameters
[in,out]propmat_clearskyWS Input/Output
[in]abs_hitran_relmat_dataWS Input
[in]abs_lines_per_speciesWS Input
[in]f_gridWS Input
[in]abs_speciesWS Input
[in]jacobian_quantitiesWS Input
[in]partition_functionsWS Input
[in]rtp_pressureWS Input
[in]rtp_temperatureWS Input
[in]rtp_vmrWS Input

Definition at line 96 of file m_linemixing.cc.

References Absorption::ByHITRANFullRelmat, Absorption::ByHITRANRosenkranzRelmat, lm_hitran_2017::compute(), i, Array< base >::nelem(), ConstVectorView::nelem(), Absorption::nelem(), SpeciesTag::Species(), and LineShape::vmrs().

Referenced by propmat_clearskyAddHitranLineMixingLines_g().