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;
99 Index& abs_lookup_is_adapted,
108 const Vector& abs_nls_pert,
109 const Agenda& abs_xsec_agenda,
116 const Index& abs_p_interp_order,
117 const Index& abs_t_interp_order,
118 const Index& abs_nls_interp_order,
119 const bool ignore_errors,
121 const Agenda& abs_xsec_agenda,
132 const Index& abs_lookup_is_adapted,
133 const Index& abs_p_interp_order,
134 const Index& abs_t_interp_order,
135 const Index& abs_nls_interp_order,
136 const Agenda& abs_xsec_agenda,
144 const Index& abs_lookup_is_adapted,
145 const Index& abs_p_interp_order,
146 const Index& abs_t_interp_order,
147 const Index& abs_nls_interp_order,
148 const Index& mc_seed,
149 const Agenda& abs_xsec_agenda,
Declarations required for the calculation of absorption coefficients.
A constant view of a Vector.
An absorption lookup table.
friend void nca_read_from_file(const int ncid, GasAbsLookup &gal, const Verbosity &)
Reads a GasAbsLookup table from a NetCDF file.
Vector & NLSPert()
The vector of perturbations for the VMRs of the nonlinear species.
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.
Vector p_grid
The pressure grid for the table [Pa].
Tensor4 xsec
Absorption cross sections.
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 log_p_grid
The natural log of the pressure grid.
Matrix & VMRs()
The reference VMR profiles.
Vector & LogPgrid()
The natural log of the pressure grid.
ArrayOfArrayOfSpeciesTag & Species()
The species tags for which the table is valid.
Vector t_pert
The vector of temperature perturbations [K].
Tensor4 & Xsec()
Absorption cross sections.
const Vector & GetPgrid() const
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 & Tpert()
The vector of temperature perturbations [K].
Vector f_grid
The frequency grid [Hz].
Matrix vmrs_ref
The reference VMR profiles.
const Vector & GetFgrid() const
ArrayOfLagrangeInterpolation flag_default
Frequency grid positions.
Vector & Pgrid()
The pressure grid for the table [Pa].
ArrayOfIndex & NonLinearSpecies()
The species tags with non-linear treatment.
Vector nls_pert
The vector of perturbations for the VMRs of the nonlinear species.
void Adapt(const ArrayOfArrayOfSpeciesTag ¤t_species, ConstVectorView current_f_grid, const Verbosity &verbosity)
Adapt lookup table to current calculation.
friend void xml_read_from_stream(istream &is_xml, GasAbsLookup &gal, bifstream *pbifs, const Verbosity &verbosity)
Reads GasAbsLookup from XML input stream.
Species::Species GetSpeciesIndex(const Index &isp) const
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.
Vector & Tref()
The reference temperature profile [K].
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.
Vector & Fgrid()
The frequency grid [Hz].
Vector t_ref
The reference temperature profile [K].
ArrayOfLagrangeInterpolation & FLAGDefault()
Frequency grid positions.
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.
ArrayOfIndex nonlinear_species
The species tags with non-linear treatment.
ArrayOfArrayOfSpeciesTag species
The species tags for which the table is valid.
friend void nca_write_to_file(const int ncid, const GasAbsLookup &gal, const Verbosity &)
Writes a GasAbsLookup table to a NetCDF file.
Binary output file stream class.
Binary output file stream class.
ostream & operator<<(ostream &os, const GasAbsLookup &gal)
Output operatior for GasAbsLookup.
NUMERIC Numeric
The type to use for all floating point numbers.
INDEX Index
The type to use for all integer numbers and indices.
Declarations having to do with the four output streams.