int number_layer() const
This is the number of layers.
This is a AutoDerivative that also has units associated with it.
void add_observer_do(Observer< Pressure > &Obs, Pressure &t)
Add an observer.
const Unit Pa("Pa", N/(m *m))
This is an observer of a StateVector.
void remove_observer_do(Observer< Pressure > &Obs, Pressure &t)
Remove an observer.
double surface_pressure_value() const
Return the current surface pressure value, without the gradient.
int number_level() const
This is the number of levels.
Mixin for a class that allows other classes to observe it state.
AutoDerivativeWithUnit< double > surface_pressure() const
Return surface pressure, which is just the pressure at the bottom level of pressure_grid.
virtual void remove_observer(Observer< Pressure > &Obs)
Remove an observer.
This class maintains the pressure portion of the state.
virtual void add_observer(Observer< Pressure > &Obs)
Add an observer.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual ArrayAdWithUnit< double, 1 > pressure_grid() const =0
This returns the pressure grid to use for layer retrieval, along with the gradient of each of the pre...
virtual boost::shared_ptr< Pressure > clone() const =0
Clone a Pressure object.
virtual int max_number_level() const
The maximum number of levels that we can have.