ReFRACtor
l2_fp_configuration_lua.cc
Go to the documentation of this file.
2 #include "hdf_file_generating.h"
3 #include "output_hdf.h"
4 #include "output_hdf_iteration.h"
5 #include "register_output_base.h"
6 #include "state_vector.h"
7 using namespace FullPhysics;
8 
9 // See base class for description.
11  boost::shared_ptr<Output>& Error_output) const
12 {
13  boost::shared_ptr<HdfFileGenerating> output_g(new HdfFileGenerating(output_name_));
14  int num_aer_part = ls->globals()["number_aerosol"].value<int>();
15  int npres = ls->globals()["number_pressure_level"].value<int>();
16  int nband = ls->globals()["number_band"].value<int>();
17  int sv_claimed_size = ls->globals()["state_vector"].value_ptr<StateVector>()->observer_claimed_size();
18  Regular_output.reset
19  (new OutputHdf(output_g, npres,
20  sv_claimed_size,
21  num_aer_part + 1, nband));
22  if(ls->globals()["iteration_output"].value<bool>()) {
23  if(solver()) {
25  out_iteration = outit;
26  solver()->add_observer(*outit);
27  } else
28  throw Exception("Iteration_output can only be used with a Connor solver, not the newer IterativeSolver that Edwin developed");
29  }
30  Error_output.reset
31  (new OutputHdf(output_name_ + ".error", npres,
32  sv_claimed_size,
33  num_aer_part + 1, nband));
34  std::vector<boost::shared_ptr<RegisterOutputBase> > out_reg
35  = ls->globals()["register_output"].value<std::vector<boost::shared_ptr<RegisterOutputBase> > >();
36  BOOST_FOREACH(const boost::shared_ptr<RegisterOutputBase>& r, out_reg) {
37  r->register_output(Regular_output);
38  r->register_output(Error_output);
39  if(out_iteration)
40  r->register_output(out_iteration);
41  r->register_output_apriori(Regular_output);
42  r->register_output_apriori(Error_output);
43  }
44 
45 }
This write the output of the Level 2 Full physics.
Definition: output_hdf.h:46
To avoid creating files when an error occurs, we create the file with the name ".generating" appended...
This is the base of the exception hierarchy for Full Physics code.
Definition: fp_exception.h:16
This write the output of the Level 2 Full physics.
This handles informing a set of interested objects when the state vector has updated.
Definition: state_vector.h:16
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual boost::shared_ptr< ConnorSolver > solver() const
Solver.
virtual void output(boost::shared_ptr< Output > &Regular_output, boost::shared_ptr< Output > &Error_output) const
Create output, for both a normal run and for an error run (either or both can be null if we don&#39;t wan...

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