ReFRACtor
model_measure_standard.h
Go to the documentation of this file.
1 #ifndef MODEL_MEASURE_STANDARD_H
2 #define MODEL_MEASURE_STANDARD_H
3 #include "model_measure.h"
4 #include "forward_model.h"
5 #include "observation.h"
6 #include "state_vector.h"
7 
8 #include <boost/shared_ptr.hpp>
9 
10 namespace FullPhysics {
11 /******************************************************************
12  This class implements what is common to
13  - "maximum a posteriori" for a standard forward model, and
14  - "maximum likelihood" for a standard forward model
15 *******************************************************************/
17  virtual public ModelMeasure {
18 
19 public:
20 
21  virtual ~ModelMeasureStandard() {}
22 
23  virtual void model_eval();
24 
25  virtual void jacobian_eval();
26 
27  virtual void model_jacobian_eval();
28 
29  virtual int expected_parameter_size() const;
30 
31 
32 //-----------------------------------------------------------------------
36 //-----------------------------------------------------------------------
37 
38  virtual void parameters(const blitz::Array<double, 1>& x);
39 
40 
41 //-----------------------------------------------------------------------
48 //-----------------------------------------------------------------------
49 
50  virtual blitz::Array<double, 1> parameters() const
51  { return ModelMeasure::parameters(); }
52 
53 
54 //-----------------------------------------------------------------------
56 //-----------------------------------------------------------------------
57 
58  virtual void print(std::ostream& Os) const
59  { Os << "ModelMeasureStandard"; }
60 
61 
62 protected:
63 
64 //-----------------------------------------------------------------------
66 //-----------------------------------------------------------------------
67 
69 
71 
72  void radiance_from_fm(bool Skip_jacobian=false);
73 
74  // TEMPORARY
75  //
76  // Should go away after we end support for
77  // fixed pressure level grid.
78  virtual void vanishing_params_update();
79 
83 
85 
86 };
87 }
88 #endif
boost::shared_ptr< StateVector > sv
boost::shared_ptr< ForwardModel > fm
virtual blitz::Array< double, 1 > parameters() const
Returns the current parameters.
virtual void model_jacobian_eval()
Evaluates the model and its Jacobian at the currently set parameter values.
boost::shared_ptr< Observation > obs
The base class for models and measurements.
Definition: model_measure.h:46
void radiance_from_fm(bool Skip_jacobian=false)
Libraries such as boost::units allow unit handling where we know the units at compile time...
Definition: unit.h:25
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual void print(std::ostream &Os) const
Print description of object.
virtual blitz::Array< double, 1 > parameters() const
Just returns the current values of parameters.
virtual int expected_parameter_size() const
Returns the expected size of the parameters.
virtual void jacobian_eval()
Evaluates the Jacobian of the model at the currently set parameter values.
virtual void model_eval()
Evaluates the model at the currently set parameter values.

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