1 #ifndef DISPERSION_POLYNOMIAL_H 2 #define DISPERSION_POLYNOMIAL_H 22 const blitz::Array<bool, 1>& Used_flag,
23 const Unit& Coeff_unit,
24 const std::string& Band_name,
28 const blitz::Array<bool, 1>& Used_flag,
29 const std::string& Coeff_unit_name,
30 const std::string& Band_name,
59 return (t < 0 ? 0 : sqrt(t));
72 return (t < 0 ? 0 : sqrt(t));
81 virtual void print(std::ostream& Os)
const;
86 std::string band_name_;
89 blitz::Array<double, 1> index_array;
91 blitz::Array<int, 1> spectral_index;
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
DispersionPolynomial(const blitz::Array< double, 1 > &Coeff, const blitz::Array< bool, 1 > &Used_flag, const Unit &Coeff_unit, const std::string &Band_name, int Number_pixel, bool Is_one_based)
Constructor.
virtual SpectralDomain pixel_grid() const
Returns as list of grid points for each instrument pixel, and the gradient of the points wrt the stat...
double dispersion_spacing() const
Dispersion spacing.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual void print(std::ostream &Os) const
blitz::Array< double, 2 > sv_cov_sub
The subset of cov_full that is "owned" by this class, what was passed through update_sub_state.
double dispersion_offset_uncertainty() const
Dispersion offset uncertainty.
const blitz::Array< T, D > & value() const
double dispersion_spacing_uncertainty() const
Dispersion spacing uncertainty.
double dispersion_offset() const
Dispersion offset.
This is an implementation of Dispersion that uses a polynomial expression to calculate the wavenumber...
Libraries such as boost::units allow unit handling where we know the units at compile time...
virtual ~DispersionPolynomial()
It is common to have a class that is an Observable with a set of coefficients, a subset of which are ...
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual boost::shared_ptr< Dispersion > clone() const
Clone an Dispersion object.
ArrayAd< double, 1 > coeff
Coefficients.
virtual std::string sub_state_identifier() const
Return a string to identify this part of the state, this name should be all lower case and seperate p...