ReFRACtor
absorber_vmr_fixed_level_scaled.h
Go to the documentation of this file.
1 #ifndef ABSORBER_VMR_FIXED_LEVEL_SCALED_H
2 #define ABSORBER_VMR_FIXED_LEVEL_SCALED_H
4 #include "pressure_level_input.h"
5 
6 namespace FullPhysics {
7 /****************************************************************/
15 public:
17  const boost::shared_ptr<PressureLevelInput>& Press_level,
18  const blitz::Array<double, 1>& Vmr,
19  bool Used_flag,
20  double Scale,
21  const std::string& Gas_name);
23  virtual void print(std::ostream& Os) const;
24  virtual std::string sub_state_identifier() const { return "absorber_levels/" + gas_name(); }
25  virtual std::string state_vector_name_i(int i) const
26  { return gas_name() + " Scaling factor"; }
27  virtual boost::shared_ptr<AbsorberVmr> clone() const;
29  clone(const boost::shared_ptr<Pressure>& Press) const;
30 
31 //-----------------------------------------------------------------------
33 //-----------------------------------------------------------------------
34 
35  double scale_factor() const { return coeff(0).value(); }
36 
37 //-----------------------------------------------------------------------
39 //-----------------------------------------------------------------------
40 
41  double scale_uncertainty() const
42  { return (sv_cov_sub.rows() > 0 ? sqrt(sv_cov_sub(0,0)) : 0); }
43 protected:
44  virtual void calc_vmr() const;
45 private:
47  blitz::Array<double, 1> vmr0;
48 };
49 }
50 #endif
AbsorberVmrFixedLevelScaled(const boost::shared_ptr< Pressure > &Press, const boost::shared_ptr< PressureLevelInput > &Press_level, const blitz::Array< double, 1 > &Vmr, bool Used_flag, double Scale, const std::string &Gas_name)
blitz::Array< double, 2 > sv_cov_sub
The subset of cov_full that is "owned" by this class, what was passed through update_sub_state.
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
const blitz::Array< T, D > & value() const
Definition: array_ad.h:306
virtual void print(std::ostream &Os) const
Print to stream.
double scale_uncertainty() const
Uncertainty of scale factor.
This class maps the state vector to the absorber VMR on each level.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
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 void calc_vmr() const
Derived classes should provide a function to fill in vmr when this is called.
virtual std::string gas_name() const
This indicates the name of this particular Absorber.
virtual boost::shared_ptr< AbsorberVmr > clone() const
Clone a AbsorberVmr object.

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