ReFRACtor
temperature_offset.h
Go to the documentation of this file.
1 #ifndef TEMPERATURE_OFFSET_H
2 #define TEMPERATURE_OFFSET_H
3 #include "temperature_imp_base.h"
4 
5 namespace FullPhysics {
6 /****************************************************************/
12 public:
14  double Temp_offset,
15  bool Temp_flag);
16  virtual ~TemperatureOffset() {}
17  virtual void print(std::ostream& Os) const;
18 
20  { return clone(press->clone()); }
21 
23  clone(const boost::shared_ptr<Pressure>& Press) const = 0;
24 
25  virtual std::string sub_state_identifier() const { return "temperature_offset"; }
26  virtual std::string state_vector_name_i(int i) const;
27 
28  //-----------------------------------------------------------------------
30  //-----------------------------------------------------------------------
31  double temperature_offset() const {return coefficient()(0).value(); }
32  double temperature_offset_uncertainty() const;
33 
34  //-----------------------------------------------------------------------
36  //-----------------------------------------------------------------------
37 
38  virtual blitz::Array<double, 1> temperature_profile() const = 0;
39 
40  //-----------------------------------------------------------------------
43  //-----------------------------------------------------------------------
44  virtual blitz::Array<double, 1> pressure_profile() const = 0;
45 
47  {
49  }
50 protected:
51  void calc_temperature_grid() const;
52 private:
53 };
54 }
55 #endif
double temperature_offset_uncertainty() const
Uncertainty of temperature offset.
virtual void print(std::ostream &Os) const
Print to stream.
TemperatureOffset(const boost::shared_ptr< Pressure > &Press, double Temp_offset, bool Temp_flag)
Create an Temperature Offset.
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 blitz::Array< double, 1 > temperature_profile() const =0
Temperature from ECMWF, used to write to output file.
virtual ArrayWithUnit< double, 1 > important_pressure_level() const
The temperature can vary quickly over a small pressure range, e.g.
const Unit Pa("Pa", N/(m *m))
This class maintains the temperature portion of the state.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
virtual blitz::Array< double, 1 > pressure_profile() const =0
Pressure levels that temperature is on from ECMWF, used to write to output file.
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.
double temperature_offset() const
Temperature offset.
void calc_temperature_grid() const
This calculates temperature grid to use for layer retrieval.
double value(const FullPhysics::AutoDerivative< double > &Ad)
virtual boost::shared_ptr< Temperature > clone() const
Clone a Temperature object.

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