1 #ifndef RADIANCE_SCALING_FITTED_H 2 #define RADIANCE_SCALING_FITTED_H 31 const blitz::Array<bool, 1>& Used_flag,
33 const std::string& Band_name)
47 const std::vector<int>& Pixel_list,
49 virtual void print(std::ostream& Os)
const;
66 blitz::Array<double, 1> res(
sv_cov_sub.rows());
71 for(
int idx = 0; idx <
sv_cov_sub.rows(); idx++) {
73 res(idx) = (cov_val < 0 ? 0 : sqrt(cov_val));
This abstract class provides the generic capabilities for applying a radiance scaling to a Radiance...
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...
Implements a fitted radiance scaling correction.
virtual void print(std::ostream &Os) const
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
ArrayAd< double, 1 > scaling_coeff
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.
virtual void notify_update(const StateVector &Sv)
Called when the Observed object is updated.
virtual boost::shared_ptr< InstrumentCorrection > clone() const
Clone an InstrumentCorrection object.
blitz::Array< double, 1 > radiance_scaling_coeff_uncertainty() const
Assumed uncertainty of radiance scaling coefficients.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
We frequently have a double with units associated with it.
This handles informing a set of interested objects when the state vector has updated.
We have a number of different spectrums that appear in different parts of the code.
void reference(const ArrayAd< T, D > &V)
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 void notify_update(const StateVector &Sv)
Called when the Observed object is updated.
ArrayAd< double, 1 > coeff
Coefficients.
virtual void apply_correction(const SpectralDomain &Pixel_grid, const std::vector< int > &Pixel_list, SpectralRange &Radiance) const
Apply correction to radiance values, in place.
RadianceScalingSvFit(const blitz::Array< double, 1 > &Coeff, const blitz::Array< bool, 1 > &Used_flag, const DoubleWithUnit &Band_ref, const std::string &Band_name)
Constructor.
This class models an Instrument correction.
virtual ~RadianceScalingSvFit()