ReFRACtor
aerosol_extinction_linear.h
Go to the documentation of this file.
1 #ifndef AEROSOL_EXTINCTION_LINEAR_H
2 #define AEROSOL_EXTINCTION_LINEAR_H
3 
5 #include <boost/lexical_cast.hpp>
6 
7 namespace FullPhysics {
8 /****************************************************************/
16 public:
17 //-----------------------------------------------------------------------
27 //-----------------------------------------------------------------------
28 
30  const blitz::Array<bool, 1>& Flag,
31  const blitz::Array<double, 1>& Aext,
32  const std::string& Aerosol_name)
33  : AerosolExtinctionImpBase(Aerosol_name, Aext, Flag, Press) {}
36  { return clone(press->clone()); }
38  (const boost::shared_ptr<Pressure>& P) const;
39  virtual std::string sub_state_identifier() const { return "aerosol_extinction/" + aerosol_name() + "/linear"; }
40  virtual std::string state_vector_name_i(int i) const
41  { return "Aerosol " + aerosol_name() + " Aerosol Ext for Press Lvl " +
42  boost::lexical_cast<std::string>(i + 1); }
43  virtual std::string model_short_name() const { return "profile_linear"; }
44  virtual void print(std::ostream& Os) const;
45 protected:
46  virtual void calc_aerosol_extinction() const;
47 };
48 }
49 #endif
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.
Definition: doxygen_python.h:1
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 void print(std::ostream &Os) const
Print to stream.

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:08