ReFRACtor
aerosol_param_output.cc
Go to the documentation of this file.
1 #include <boost/algorithm/string.hpp>
2 #include "aerosol_param_output.h"
3 #include "aerosol_extinction.h"
4 
5 using namespace FullPhysics;
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<AerosolExtinctionImpBase>(A)));
17 }
19 (const boost::shared_ptr<AerosolExtinction>& A, const std::string& Aname)
20 {
23  (boost::dynamic_pointer_cast<AerosolExtinctionImpBase>(A), Aname));
24 }
26 .scope
27 [
28  luabind::def("create", &aco_create),
29  luabind::def("create", &aco_create2)
30 ]
32 #endif
33 
34 // See base class for description
35 
37 {
38  // Freeze the state
40  boost::dynamic_pointer_cast<AerosolExtinctionImpBase>(a->clone());
41  std::string aer_name = aname;
42  if(aer_name == "")
43  aer_name = afreeze->aerosol_name();
44  std::string mod_name = afreeze->model_short_name();
45  boost::algorithm::to_lower(aer_name);
46  out->register_data_source
47  ("/RetrievalResults/aerosol_" + aer_name + "_" + mod_name + "_param_apriori",
49 }
50 
52 {
53  std::string aer_name = aname;
54  if(aer_name == "")
55  aer_name = a->aerosol_name();
56  std::string mod_name = a->model_short_name();
57  boost::algorithm::to_lower(aer_name);
58  out->register_data_source
59  ("/RetrievalResults/aerosol_" + aer_name + "_" + mod_name + "_param",
61  out->register_data_source
62  ("/RetrievalResults/aerosol_" + aer_name + "_" + mod_name + "_param_uncert",
64 }
65 
blitz::Array< double, 1 > aerosol_parameter() const
Returns the value of the coefficients used to generate the aerosol extinction.
virtual void register_output_apriori(const boost::shared_ptr< Output > &out) const
Register apriori portions of class.
This registers the coefficients used for classes that inherits from AerosolExtinctionBaseImp.
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Definition: register_lua.h:136
const Unit A("A", 1.0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0)
As described in the Output class, we have a decentralized model of producing output for L2 Full Physi...
virtual void register_output(const boost::shared_ptr< Output > &out) const
Register portions of class that will be written to output.
blitz::Array< double, 1 > aerosol_parameter_uncertainty() const
Returns the uncertainty of the aerosol type coefficients.
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
As a design principle, we have each base class with the absolutely minimum interface needed for use f...
def(luabind::constructor< int >()) .def("rows"

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