1 #ifndef AEROSOL_EXTINCTION_LINEAR_H 2 #define AEROSOL_EXTINCTION_LINEAR_H 5 #include <boost/lexical_cast.hpp> 30 const blitz::Array<bool, 1>& Flag,
31 const blitz::Array<double, 1>& Aext,
32 const std::string& Aerosol_name)
41 {
return "Aerosol " +
aerosol_name() +
" Aerosol Ext for Press Lvl " +
42 boost::lexical_cast<std::string>(i + 1); }
44 virtual void print(std::ostream& Os)
const;
virtual void calc_aerosol_extinction() const
Derived classes should provide a function to fill in vmr when this is called.
AerosolExtinctionLinear(const boost::shared_ptr< Pressure > &Press, const blitz::Array< bool, 1 > &Flag, const blitz::Array< double, 1 > &Aext, const std::string &Aerosol_name)
Constructor.
This class maps the state vector to the aerosol extinction on each level.
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 model_short_name() const
A short name representing the type of extinction model being implemented.
virtual boost::shared_ptr< AerosolExtinction > clone() const
Clone a AerosolExtinction object.
virtual std::string aerosol_name() const
Name of aerosol.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
boost::shared_ptr< Pressure > press
Pressure.
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
virtual ~AerosolExtinctionLinear()
virtual void print(std::ostream &Os) const
Print to stream.