1 #ifndef ABSORBER_VMR_FIXED_LEVEL_H 2 #define ABSORBER_VMR_FIXED_LEVEL_H 7 #include <boost/lexical_cast.hpp> 21 const blitz::Array<bool, 1>& Used_flag,
22 const blitz::Array<double, 1>& Vmr,
23 const std::string& Gas_name);
25 virtual void print(std::ostream& Os)
const;
30 {
return gas_name() +
" VMR for Press Lvl " +
31 boost::lexical_cast<std::string>(i + 1); }
blitz::Array< double, 1 > volume_mixing_ratio_level() const
Volume mixing ratio on the fixed pressure levels.
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
AbsorberVmrFixedLevel(const boost::shared_ptr< Pressure > &Press, const boost::shared_ptr< PressureLevelInput > &Press_level, const blitz::Array< bool, 1 > &Used_flag, const blitz::Array< double, 1 > &Vmr, const std::string &Gas_name)
Constructor.
const blitz::Array< T, D > & value() const
blitz::Array< double, 1 > volume_mixing_ratio_active_level() const
Volume mixing ratio on the fixed pressure levels, restricted to the active levels.
virtual boost::shared_ptr< AbsorberVmr > clone() const
Clone a AbsorberVmr object.
virtual void print(std::ostream &Os) const
Print to stream.
This class maps the state vector to the absorber VMR on each level.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
boost::shared_ptr< Pressure > press
Pressure.
ArrayAd< double, 1 > coeff
Coefficients.
virtual void calc_vmr() const
Derived classes should provide a function to fill in vmr when this is called.
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...
virtual std::string gas_name() const
This indicates the name of this particular Absorber.
virtual ~AbsorberVmrFixedLevel()