ReFRACtor
max_a_posteriori_output.cc
Go to the documentation of this file.
2 
3 using namespace FullPhysics;
4 using namespace blitz;
5 
6 #ifdef HAVE_LUA
7 #include "register_lua.h"
9 .def(luabind::constructor<const boost::shared_ptr<MaxAPosteriori>& >())
10 .def(luabind::constructor<const boost::shared_ptr<MaxAPosteriori>&, bool>())
12 #endif
13 
15 {
16  { boost::function<blitz::Array<double,2> ()> f = boost::bind(&MaxAPosterioriOutput::a_posteriori_covariance, this);
17  out->register_data_source("/RetrievalResults/aposteriori_covariance_matrix", f); }
18 
19  { boost::function<blitz::Array<double,2> ()> f = boost::bind(&MaxAPosterioriOutput::a_priori_cov, this);
20  out->register_data_source("/RetrievalResults/apriori_covariance_matrix", f); }
21 
22  { boost::function<blitz::Array<double,2> ()> f = boost::bind(&MaxAPosterioriOutput::averaging_kernel, this);
23  out->register_data_source("/RetrievalResults/averaging_kernel_matrix", f); }
24 
25  { boost::function<int ()> f = boost::bind(&MaxAPosterioriOutput::parameter_size, this);
26  out->register_data_source("/RetrievalResults/num_state_vector_elements", f); }
27 
28 
29  { boost::function<blitz::Array<double,1> ()> f = boost::bind(&MaxAPosterioriOutput::a_priori_params, this);
30  out->register_data_source("/RetrievedStateVector/state_vector_apriori", f); }
31 
32  { boost::function<blitz::Array<double,1> ()> f = boost::bind(&MaxAPosterioriOutput::param_a_priori_uncertainty, this);
33  out->register_data_source("/RetrievedStateVector/state_vector_apriori_uncert", f); }
34 
35  // The following two may need to go somewhere else.
36  // The two outputs must have zeros for the "unused"
37  // parameters.
38  { boost::function<blitz::Array<double,1> ()> f = boost::bind(&MaxAPosterioriOutput::parameters, this);
39  out->register_data_source("/RetrievedStateVector/state_vector_result", f); }
40 
41  { boost::function<blitz::Array<double,1> ()> f = boost::bind(&MaxAPosterioriOutput::param_a_posteriori_uncertainty, this);
42  out->register_data_source("/RetrievedStateVector/state_vector_aposteriori_uncert", f); }
43 
44  if(write_jacobian)
45  { boost::function<blitz::Array<double,2> ()> f = boost::bind(&MaxAPosterioriOutput::jacobian, this);
46  out->register_data_source("/RetrievalResults/jacobian", f); }
47 }
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Definition: register_lua.h:136
Apply value function to a blitz array.
This registers the portions of the MaxAPosteriori class that should be written as output...
As described in the Output class, we have a decentralized model of producing output for L2 Full Physi...
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
#define REGISTER_LUA_END()
Definition: register_lua.h:134
virtual void register_output(const boost::shared_ptr< Output > &out) const
Register portions of class that will be written to output.

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