1 #ifndef PRESSURE_SIGMA_H 2 #define PRESSURE_SIGMA_H 17 const blitz::Array<double, 1>& B,
18 double Surface_pressure,
bool Pressure_flag);
21 double Surface_pressure,
bool Pressure_flag);
30 {
return (
cov(0, 0) < 0 ? 0.0 : sqrt(
cov(0, 0))); }
38 coeff(0) = Surface_pressure;
45 virtual void print(std::ostream& Os)
const;
50 {
return "Surface Pressure (Pascals)"; }
51 const blitz::Array<double, 1>&
a()
const {
return a_;}
52 const blitz::Array<double, 1>&
b()
const {
return b_;}
56 blitz::Array<double, 1> a_, b_;
void set_surface_pressure(const AutoDerivative< double > &Surface_pressure)
Set the surface pressure. This is in Pascals.
virtual boost::shared_ptr< Pressure > clone() const
Clone a PressureFixedLevel object.
blitz::Array< double, 2 > cov
Last covariance matrix updated from the StateVector.
PressureSigma(const blitz::Array< double, 1 > &A, const blitz::Array< double, 1 > &B, double Surface_pressure, bool Pressure_flag)
Constructor.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
void set_levels_from_grid(const blitz::Array< double, 1 > &Pressure_grid)
Creates A and B parameters from the pressure grid passed in.
virtual void calc_pressure_grid() const
Calculate the new pressure grid.
This class maintains the pressure portion of the state.
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
void notify_update_do(const T &Self)
Function to call to notify Observers of a state change.
const Unit A("A", 1.0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0)
virtual void print(std::ostream &Os) const
Print to stream.
bool cache_stale
If this is true, the recalculate the pressure_grid the next time we need it.
const blitz::Array< double, 1 > & a() const
const blitz::Array< double, 1 > & b() const
Contains classes to abstract away details in various Spurr Radiative Transfer software.
ArrayAd< double, 1 > coeff
Coefficients.
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...
double surface_pressure_uncertainty() const
Return the current surface pressure uncertainty. This is in Pascals.