ReFRACtor
temperature_fixed_level.h
Go to the documentation of this file.
1 #ifndef TEMPERATURE_FIXED_LEVEL_H
2 #define TEMPERATURE_FIXED_LEVEL_H
3 #include "pressure_level_input.h"
4 #include "temperature_imp_base.h"
5 
6 namespace FullPhysics {
7 /****************************************************************/
13 public:
14  TemperatureFixedLevel(const blitz::Array<bool, 1>& Flag_temp,
15  bool Flag_offset, const blitz::Array<double, 1>& Temp,
16  double T_offset,
17  const boost::shared_ptr<Pressure>& Press,
18  const boost::shared_ptr<PressureLevelInput>& Press_level);
21  virtual void print(std::ostream& Os) const;
22 
24  { return clone(press->clone()); }
26  clone(const boost::shared_ptr<Pressure>& Press) const ;
27  virtual std::string sub_state_identifier() const { return "temperature_levels"; }
28  virtual std::string state_vector_name_i(int i) const;
29 
30 //-----------------------------------------------------------------------
32 //-----------------------------------------------------------------------
33  double temperature_offset() const {return coefficient()(0).value(); }
34  double temperature_offset_uncertainty() const;
35 protected:
36  void calc_temperature_grid() const;
37 private:
39  // Range of coefficient that contains temperature.
40  blitz::Range temperature_range() const
41  {return blitz::Range(1, coefficient().rows() - 1);}
42 };
43 }
44 #endif
double temperature_offset() const
Temperature offset.
ArrayAd< double, 1 > temperature_levels() const
Return the temperature on the fixed levels (which may include values from below the surface)...
virtual boost::shared_ptr< Temperature > clone() const
Clone a Temperature object.
double temperature_offset_uncertainty() const
Uncertainty of temperature offset.
TemperatureFixedLevel(const blitz::Array< bool, 1 > &Flag_temp, bool Flag_offset, const blitz::Array< double, 1 > &Temp, double T_offset, const boost::shared_ptr< Pressure > &Press, const boost::shared_ptr< PressureLevelInput > &Press_level)
Create an Temperature.
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...
This class maintains the temperature portion of the state.
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
const ArrayAd< double, 1 > & coefficient() const
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
boost::shared_ptr< Pressure > press
Pressure.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
void calc_temperature_grid() const
This calculates temperature grid to use for layer retrieval.
double value(const FullPhysics::AutoDerivative< double > &Ad)
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