1 #ifndef ALTITUDE_HYDROSTATIC_H 2 #define ALTITUDE_HYDROSTATIC_H 28 const int Num_sublayer = 10);
41 cache_is_stale =
true;
52 cache_is_stale =
true;
57 { calc_alt_and_grav();
62 { calc_alt_and_grav();
66 virtual void print(std::ostream& Os)
const { Os <<
"AltitudeHydrostatic"; }
69 return clone(pnew, t->clone(pnew)); }
76 mutable bool cache_is_stale;
83 void calc_alt_and_grav()
const;
virtual void notify_update(const Temperature &T)
For performance, we cache some data as we calculate it.
This is a AutoDerivative that also has units associated with it.
virtual ~AltitudeHydrostatic()
The class handles the calculation of the altitude and gravity constants.
virtual AutoDerivativeWithUnit< double > gravity(const AutoDerivativeWithUnit< double > &P) const
Return gravity constant for the given pressure.
AutoDerivativeWithUnit< T > convert(const Unit &R) const
Convert to the given units.
This class takes a set of points and values, and linearly interpolates between those values...
This class handles the calculation of the altitude an gravity constants, automatically updating with ...
virtual AutoDerivativeWithUnit< double > altitude(const AutoDerivativeWithUnit< double > &P) const
Return altitude grid for the given pressure.
const Unit Pa("Pa", N/(m *m))
AltitudeHydrostatic(const boost::shared_ptr< Pressure > &P, const boost::shared_ptr< Temperature > &T, const DoubleWithUnit &Latitude, const DoubleWithUnit &Surface_height, const int Num_sublayer=10)
Constructor.
We frequently have a double with units associated with it.
This is a specialization of LinearInterpolate for AutoDerivative.
This class maintains the pressure portion of the state.
virtual void print(std::ostream &Os) const
Contains classes to abstract away details in various Spurr Radiative Transfer software.
AutoDerivative< T > value
This class maintains the temperature portion of the state.
virtual void notify_update(const Pressure &P)
For performance, we cache some data as we calculate it.
const Unit km("km", 1e3 *m)
virtual boost::shared_ptr< Altitude > clone() const
Clone an Altitude object.
Simple Mixin to be and Observer of another object of class T.