ReFRACtor
absorber_vmr_met_output.cc
Go to the documentation of this file.
1 #include <boost/algorithm/string.hpp>
2 
4 using namespace FullPhysics;
5 using namespace blitz;
6 
7 #ifdef HAVE_LUA
8 #include "register_lua.h"
9 // Lua doesn't know to cast a pointer type of base class to a derived class.
10 // Add a conversion routine.
13 {
16  (boost::dynamic_pointer_cast<AbsorberVmrMet>(A)));
17 }
19 .scope
20 [
21  luabind::def("create", &abs_vmr_met_create)
22 ]
24 #endif
25 
26 // See base class for description
27 
29 {
30  // Freeze the pressure state
32  boost::dynamic_pointer_cast<AbsorberVmrScaled>(a->clone());
34  boost::dynamic_pointer_cast<AbsorberVmrMet>(afreeze);
35  std::string gname = a->gas_name();
36  boost::to_lower(gname);
37  out->register_data_source
38  ("/RetrievalResults/" + gname + "_scale_factor_apriori",
40  out->register_data_source("/RetrievalResults/specific_humidity_profile_met",
41  &AbsorberVmrMet::specific_humidity, afreeze_met);
42 }
43 
45 {
46  std::string gname = a->gas_name();
47  boost::to_lower(gname);
48  out->register_data_source
49  ("/RetrievalResults/" + gname + "_scale_factor",
51  out->register_data_source
52  ("/RetrievalResults/" + gname + "_scale_factor_uncert",
54 }
double scale_uncertainty() const
Uncertainty of scale factor.
virtual void register_output_apriori(const boost::shared_ptr< Output > &out) const
Register apriori portions of class.
blitz::Array< double, 1 > specific_humidity() const
Humidity from MET, used to write to output file.
double scale_factor() const
Scale factor.
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Definition: register_lua.h:136
Apply value function to a blitz array.
const Unit A("A", 1.0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0)
This class maps the state vector to the absorber VMR on each level.
As described in the Output class, we have a decentralized model of producing output for L2 Full Physi...
This registers the portions of the AbsorberVmrMet class that should be written as output...
virtual void register_output(const boost::shared_ptr< Output > &out) const
Register portions of class that will be written to output.
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
def(luabind::constructor< int >()) .def("rows"
This class maps the state vector to the absorber VMR on each level.
virtual std::string gas_name() const
This indicates the name of this particular Absorber.

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