ARTS 2.5.11 (git: 6827797f)
|
Classes | |
struct | VMRS |
Contains known required VMR values. More... | |
Functions | |
template<bool check_exist> | |
bool | compute_selection (PropagationMatrix &pm, const SpeciesIsotopeRecord &model, const Vector &f, const Numeric &p, const Numeric &t, const VMRS &vmr, const PredefinedModelData &predefined_model_data) |
Compute the selected model and returns if it can be computed. | |
bool | can_compute (const SpeciesIsotopeRecord &model) |
Returns true if the model can be computed. | |
template<bool special> | |
constexpr Numeric | dvmr_calc (Numeric x) noexcept |
Sets a VMR perturbation. | |
template<bool special> | |
bool | compute_vmr_deriv (PropagationMatrix &dpm, const PropagationMatrix &pm, const SpeciesIsotopeRecord &model, const Vector &f, const Numeric &p, const Numeric &t, VMRS vmr, const Species::Species spec, const PredefinedModelData &predefined_model_data) |
Compute the partial VMR derivative. | |
void | compute (PropagationMatrix &propmat_clearsky, ArrayOfPropagationMatrix &dpropmat_clearsky_dx, const SpeciesIsotopeRecord &tag, const Vector &f_grid, const Numeric &rtp_pressure, const Numeric &rtp_temperature, const VMRS &vmr, const ArrayOfRetrievalQuantity &jacobian_quantities, const PredefinedModelData &predefined_model_data) |
Compute the predefined model. | |
bool Absorption::PredefinedModel::can_compute | ( | const SpeciesIsotopeRecord & | model | ) |
Returns true if the model can be computed.
Definition at line 138 of file predefined_absorption_models.cc.
void Absorption::PredefinedModel::compute | ( | PropagationMatrix & | propmat_clearsky, |
ArrayOfPropagationMatrix & | dpropmat_clearsky_dx, | ||
const SpeciesIsotopeRecord & | tag, | ||
const Vector & | f_grid, | ||
const Numeric & | rtp_pressure, | ||
const Numeric & | rtp_temperature, | ||
const VMRS & | vmr, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const PredefinedModelData & | predefined_model_data | ||
) |
Compute the predefined model.
The tag is checked, so this should just be looped over by all available species
[in,out] | propmat_clearsky | As WSV |
[in,out] | dpropmat_clearsky_dx | As WSV |
[in] | tag | An isotope record |
[in] | f_grid | As WSV |
[in] | rtp_pressure | As WSV |
[in] | rtp_temperature | As WSV |
[in] | vmr | The VMRS defined from WSVs abs_species and rtp_vmr |
[in] | jacobian_quantities | As WSV |
[in] | predefined_model_data | As WSV |
Set simple propagation matrices (NOTE: stokes_dim == 1, if any model cahnges that, fix this!)
Definition at line 235 of file predefined_absorption_models.cc.
References do_frequency_jacobian(), and do_temperature_jacobian().
Referenced by propmat_clearskyAddPredefined().
bool Absorption::PredefinedModel::compute_selection | ( | PropagationMatrix & | pm, |
const SpeciesIsotopeRecord & | model, | ||
const Vector & | f, | ||
const Numeric & | p, | ||
const Numeric & | t, | ||
const VMRS & | vmr, | ||
const PredefinedModelData & | predefined_model_data | ||
) |
Compute the selected model and returns if it can be computed.
Remember to use the "if constexpr (not check_exist)" statement as this allows us to not keep any copy of the list of available models
check_exist | Perform no computations if false |
[in,out] | pm | A local propagation matrix |
[in] | model | A single isotope record |
[in] | f | A local frequency grid |
[in] | p | A local pressure |
[in] | t | A local temperature |
[in] | vmr | A VMRS object defined from the WSVs abs_species and rtp_vmr |
Definition at line 43 of file predefined_absorption_models.cc.
References Species::find_species_index().
bool Absorption::PredefinedModel::compute_vmr_deriv | ( | PropagationMatrix & | dpm, |
const PropagationMatrix & | pm, | ||
const SpeciesIsotopeRecord & | model, | ||
const Vector & | f, | ||
const Numeric & | p, | ||
const Numeric & | t, | ||
VMRS | vmr, | ||
const Species::Species | spec, | ||
const PredefinedModelData & | predefined_model_data | ||
) |
Compute the partial VMR derivative.
Sets dpm to the expected value (does not add, but really sets)
Note that there is an extra special case when the template argument is true to handle the 0-vmr case
special | Whether or not this is called for special derivatives |
[in,out] | dpm | The |
[in] | pm | A local propagation matrix |
[in] | model | A single isotope record |
[in] | f | A local frequency grid |
[in] | p | A local pressure |
[in] | t | A local temperature |
[in] | vmr | A VMRS object defined from the WSVs abs_species and rtp_vmr |
[in] | spec | The species whose derivative is computed |
Definition at line 178 of file predefined_absorption_models.cc.
References Absorption::PredefinedModel::VMRS::CO2, Absorption::PredefinedModel::VMRS::H2O, Absorption::PredefinedModel::VMRS::LWC, Absorption::PredefinedModel::VMRS::N2, and Absorption::PredefinedModel::VMRS::O2.
|
constexprnoexcept |
Sets a VMR perturbation.
special | Whether or not this is called for special derivatives |
[in] | x | Original VMR |
Definition at line 150 of file predefined_absorption_models.cc.
References d.