Go to the documentation of this file.
44 throw std::runtime_error(
"Mismatch dimensions on pressure and VMR inputs");
45 }
else if (
abs_t.nelem() not_eq
abs_p.nelem()) {
46 throw std::runtime_error(
"Mismatch dimensions on pressure and temperature inputs");
48 throw std::runtime_error(
"Mismatch dimensions on species and VMR inputs");
50 throw std::runtime_error(
"Mismatch dimensions on xsec and VMR inputs");
52 [&
abs_p](
auto x){return x.ncols() not_eq abs_p.nelem();})) {
53 throw std::runtime_error(
"Mismatch dimensions on internal matrices of xsec and pressure");
55 [&
f_grid](
auto x){return x.nrows() not_eq f_grid.nelem();})) {
56 throw std::runtime_error(
"Mismatch dimensions on internal matrices of xsec and frequency");
63 throw std::runtime_error(
"Mismatch dimensions on species inputs and xsec derivatives");
65 [&jac_pos](
auto x){return x.nelem() not_eq jac_pos.nelem();})) {
66 throw std::runtime_error(
"Mismatch dimensions on xsec derivatives and Jacobian grids");
68 [&
abs_p](
auto x1){return std::any_of(x1.cbegin(), x1.cend(),
69 [&abs_p](auto x2){return x2.ncols() not_eq abs_p.nelem();});})) {
70 throw std::runtime_error(
"Mismatch dimensions on internal matrices of xsec derivatives and pressure");
72 [&
f_grid](
auto x1){return std::any_of(x1.cbegin(), x1.cend(),
73 [&f_grid](auto x2){return x2.nrows() not_eq f_grid.nelem();});})) {
74 throw std::runtime_error(
"Mismatch dimensions on internal matrices of xsec derivatives and frequency");
ArrayOfRetrievalQuantity jacobian_quantities(Workspace &ws) noexcept
void makarov2020_o2_lines_mpm(Matrix &xsec, ArrayOfMatrix &dxsec, const Vector &f, const Vector &p, const Vector &t, const Vector &water_vmr, const ArrayOfRetrievalQuantity &jacs, const ArrayOfIndex &jacs_pos)
Adds Makarov MPM2020 O2 absorption lines to the absorption matrix.
QuantumIdentifier::QType Index LowerQuantumNumbers Species
ArrayOfMatrix abs_xsec_per_species(Workspace &ws) noexcept
Matrix abs_vmrs(Workspace &ws) noexcept
This can be used to make arrays out of anything.
A tag group can consist of the sum of several of these.
ArrayOfIndex equivalent_propmattype_indexes(const ArrayOfRetrievalQuantity &js)
Returns a list of positions for the derivatives in Propagation Matrix calculations.
ArrayOfArrayOfSpeciesTag abs_species(Workspace &ws) noexcept
Vector f_grid(Workspace &ws) noexcept
void abs_xsec_per_speciesAddPredefinedO2MPM2020(ArrayOfMatrix &abs_xsec_per_species, ArrayOfArrayOfMatrix &dabs_xsec_per_species_dx, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfRetrievalQuantity &jacobian_quantities, const Vector &f_grid, const Vector &abs_p, const Vector &abs_t, const Matrix &abs_vmrs, const Verbosity &)
WORKSPACE METHOD: abs_xsec_per_speciesAddPredefinedO2MPM2020.
Vector abs_t(Workspace &ws) noexcept
invlib::Vector< ArtsVector > Vector
invlib wrapper type for ARTS vectors.
Vector x(Workspace &ws) noexcept
Vector abs_p(Workspace &ws) noexcept
ArrayOfArrayOfMatrix dabs_xsec_per_species_dx(Workspace &ws) noexcept