1 #ifndef ABSORBER_VMR_SCALED_H 2 #define ABSORBER_VMR_SCALED_H 18 const std::string& Gas_name);
21 virtual void print(std::ostream& Os)
const;
26 {
return gas_name() +
" Scaling factor"; }
52 virtual blitz::Array<double, 1>
vmr_profile()
const = 0;
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...
double scale_uncertainty() const
Uncertainty of scale factor.
virtual blitz::Array< double, 1 > vmr_profile() const =0
VMR profile used with the offset.
virtual boost::shared_ptr< AbsorberVmr > clone() const
Clone a AbsorberVmr object.
AbsorberVmrScaled(const boost::shared_ptr< Pressure > &Press, double Scale, bool Scale_flag, const std::string &Gas_name)
Constructor.
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 scale_factor() const
Scale factor.
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
const blitz::Array< T, D > & value() const
virtual blitz::Array< double, 1 > pressure_profile() const =0
Pressure levels that absorber vmr is on.
virtual void calc_vmr() const
Derived classes should provide a function to fill in vmr when this is called.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
boost::shared_ptr< Pressure > press
Pressure.
This class maps the state vector to the absorber VMR on each level.
virtual ~AbsorberVmrScaled()
ArrayAd< double, 1 > coeff
Coefficients.
virtual void print(std::ostream &Os) const
Print to stream.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
virtual std::string gas_name() const
This indicates the name of this particular Absorber.