Go to the documentation of this file.
26 #ifndef gas_abs_lookup_h
27 #define gas_abs_lookup_h
66 const Index& p_interp_order,
67 const Index& t_interp_order,
68 const Index& h2o_interp_order,
69 const Index& f_interp_order,
74 const Numeric& extpolfac)
const;
81 return species[isp][0].Species();
119 const bool ignore_errors,
314 #endif // gas_abs_lookup_h
const Vector & GetPgrid() const
friend void nca_write_to_file(const int ncid, const GasAbsLookup &gal, const Verbosity &)
Writes a GasAbsLookup table to a NetCDF file.
Index GetSpeciesIndex(const Index &isp) const
const Vector & GetFgrid() const
ArrayOfIndex nonlinear_species
The species tags with non-linear treatment.
Declarations required for the calculation of absorption coefficients.
Verbosity verbosity(Workspace &ws) noexcept
void Extract(Matrix &sga, const Index &p_interp_order, const Index &t_interp_order, const Index &h2o_interp_order, const Index &f_interp_order, const Numeric &p, const Numeric &T, ConstVectorView abs_vmrs, ConstVectorView new_f_grid, const Numeric &extpolfac) const
Extract scalar gas absorption coefficients from the lookup table.
Index abs_lookup_is_adapted(Workspace &ws) noexcept
GasAbsLookup abs_lookup(Workspace &ws) noexcept
An absorption lookup table.
Matrix abs_vmrs(Workspace &ws) noexcept
ArrayOfGridPosPoly & FGPDefault()
Frequency grid positions.
This can be used to make arrays out of anything.
Vector & Tref()
The reference temperature profile [K].
friend Numeric calc_lookup_error(Workspace &ws, const GasAbsLookup &al, const Index &abs_p_interp_order, const Index &abs_t_interp_order, const Index &abs_nls_interp_order, const bool ignore_errors, const Agenda &abs_xsec_agenda, const Numeric &local_p, const Numeric &local_t, const Vector &local_vmrs, const Verbosity &verbosity)
Compare lookup and LBL calculation.
Declarations having to do with the four output streams.
friend void abs_lookupCalc(Workspace &ws, GasAbsLookup &abs_lookup, Index &abs_lookup_is_adapted, const ArrayOfArrayOfSpeciesTag &abs_species, const ArrayOfArrayOfSpeciesTag &abs_nls, const Vector &f_grid, const Vector &abs_p, const Matrix &abs_vmrs, const Vector &abs_t, const Vector &abs_t_pert, const Vector &abs_nls_pert, const Agenda &abs_xsec_agenda, const Verbosity &verbosity)
WORKSPACE METHOD: abs_lookupCalc.
Vector t_ref
The reference temperature profile [K].
ArrayOfArrayOfSpeciesTag abs_species(Workspace &ws) noexcept
Tensor4 & Xsec()
Absorption cross sections.
Vector f_grid
The frequency grid [Hz].
Vector p_grid
The pressure grid for the table [Pa].
NUMERIC Numeric
The type to use for all floating point numbers.
friend void abs_lookupTestAccuracy(Workspace &ws, const GasAbsLookup &abs_lookup, const Index &abs_lookup_is_adapted, const Index &abs_p_interp_order, const Index &abs_t_interp_order, const Index &abs_nls_interp_order, const Agenda &abs_xsec_agenda, const Verbosity &verbosity)
WORKSPACE METHOD: abs_lookupTestAccuracy.
friend void nca_read_from_file(const int ncid, GasAbsLookup &gal, const Verbosity &)
Reads a GasAbsLookup table from a NetCDF file.
Binary output file stream class.
ArrayOfGridPosPoly fgp_default
Frequency grid positions.
Vector nls_pert
The vector of perturbations for the VMRs of the nonlinear species.
Tensor4 xsec
Absorption cross sections.
Agenda abs_xsec_agenda(Workspace &ws) noexcept
Index abs_nls_interp_order(Workspace &ws) noexcept
Vector abs_nls_pert(Workspace &ws) noexcept
Header file for interpolation_poly.cc.
ArrayOfArrayOfSpeciesTag & Species()
The species tags for which the table is valid.
Vector abs_t(Workspace &ws) noexcept
ArrayOfArrayOfSpeciesTag species
The species tags for which the table is valid.
ArrayOfIndex & NonLinearSpecies()
The species tags with non-linear treatment.
friend void abs_lookupTestAccMC(Workspace &ws, const GasAbsLookup &abs_lookup, const Index &abs_lookup_is_adapted, const Index &abs_p_interp_order, const Index &abs_t_interp_order, const Index &abs_nls_interp_order, const Index &mc_seed, const Agenda &abs_xsec_agenda, const Verbosity &verbosity)
WORKSPACE METHOD: abs_lookupTestAccMC.
Vector & NLSPert()
The vector of perturbations for the VMRs of the nonlinear species.
ArrayOfArrayOfSpeciesTag abs_nls(Workspace &ws) noexcept
Vector & Pgrid()
The pressure grid for the table [Pa].
Vector log_p_grid
The natural log of the pressure grid.
Vector & LogPgrid()
The natural log of the pressure grid.
Vector abs_t_pert(Workspace &ws) noexcept
void Adapt(const ArrayOfArrayOfSpeciesTag ¤t_species, ConstVectorView current_f_grid, const Verbosity &verbosity)
Adapt lookup table to current calculation.
Vector & Tpert()
The vector of temperature perturbations [K].
Index abs_t_interp_order(Workspace &ws) noexcept
Matrix & VMRs()
The reference VMR profiles.
Index mc_seed(Workspace &ws) noexcept
INDEX Index
The type to use for all integer numbers and indices.
Vector abs_p(Workspace &ws) noexcept
ostream & operator<<(ostream &os, const GasAbsLookup &gal)
Output operatior for GasAbsLookup.
Matrix vmrs_ref
The reference VMR profiles.
Index abs_p_interp_order(Workspace &ws) noexcept
Vector t_pert
The vector of temperature perturbations [K].
friend void xml_write_to_stream(ostream &os_xml, const GasAbsLookup &gal, bofstream *pbofs, const String &name, const Verbosity &verbosity)
Writes GasAbsLookup to XML output stream.
A constant view of a Vector.
Vector & Fgrid()
The frequency grid [Hz].
friend void xml_read_from_stream(istream &is_xml, GasAbsLookup &gal, bifstream *pbifs, const Verbosity &verbosity)
Reads GasAbsLookup from XML input stream.
Binary output file stream class.