ReFRACtor
configuration_fixture.h
Go to the documentation of this file.
1 #ifndef CONFIGURATION_FIXTURE_H
2 #define CONFIGURATION_FIXTURE_H
3 #include "absorber.h"
4 #include "aerosol_optical.h"
5 #include "pressure_level_input.h"
6 #include "error_analysis.h"
7 #include "connor_solver.h"
8 #include "spectral_window.h"
9 #include "spectrum_sampling.h"
11 #include "initial_guess.h"
12 #include "register_output_base.h"
13 #include "instrument.h"
14 #include "dispersion.h"
15 #include "rt_atmosphere.h"
16 #include "radiative_transfer.h"
17 #include "lua_state.h"
18 #include "global_fixture.h"
19 #include "forward_model.h"
20 #include "observation.h"
21 #include <map>
22 
23 namespace FullPhysics {
24 /****************************************************************/
36 public:
37  ConfigurationFixture(const std::string& Config_file = "config.lua");
39  { config_state_vector->update_state(sv_initial); }
40 
50  std::vector<boost::shared_ptr<RegisterOutputBase> > config_register_output;
60 
62  DoubleWithUnit ils_half_width(int Spec_index) const
63  { return config_instrument->ils_half_width(Spec_index); }
64  SpectralDomain lowres_grid(int Spec_index) const
65  { return config_spectral_window->apply
66  (config_instrument->pixel_spectral_domain(Spec_index), Spec_index); }
67  SpectralDomain highres_grid(int Spec_index) const
68  { return config_spectrum_sampling->spectral_domain
69  (Spec_index, lowres_grid(Spec_index), ils_half_width(Spec_index)); }
70 
73  blitz::Array<double, 1> epsilon;
74 
76 private:
77  static std::map<std::string, boost::shared_ptr<LuaState> > config;
78  blitz::Array<double,1> sv_initial;
79 };
80 
81 /****************************************************************/
89 public:
90  ConfigurationCoxmunkFixture(const std::string& Config_file = "config_coxmunk.lua");
92 };
93 
94 /****************************************************************/
102 public:
104  : ConfigurationFixture("config_coxmunk+lamb.lua") {}
106 };
107 
108 /****************************************************************/
116 public:
118  : ConfigurationFixture("config_brdf_veg.lua") {}
120 };
121 
122 /****************************************************************/
130 public:
132  : ConfigurationFixture("config_brdf_soil.lua") {}
134 };
135 
136 }
137 #endif
There are a number of tests that need to use a standard set of objects, similar to what we generate w...
SpectralDomain lowres_grid(int Spec_index) const
This is a global fixture that is available to all unit tests.
boost::shared_ptr< ForwardModel > config_forward_model
There are a number of tests that need to use a standard set of objects, similar to what we generate w...
boost::shared_ptr< Observation > config_observation
boost::shared_ptr< Ground > config_ground
boost::shared_ptr< Instrument > config_instrument
There are a number of tests that need to use a standard set of objects, similar to what we generate w...
boost::shared_ptr< RtAtmosphere > config_atmosphere
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
boost::shared_ptr< Pressure > config_pressure
blitz::Array< double, 1 > epsilon
This is an epsilon that can be used to generate finite difference Jacobians for unit tests...
boost::shared_ptr< ConnorSolver > config_solver
boost::shared_ptr< ErrorAnalysis > config_error_analysis
boost::shared_ptr< SpectralWindow > config_spectral_window
This is a light wrapper around the luabind::object.
SpectralDomain highres_grid(int Spec_index) const
DoubleWithUnit ils_half_width(int Spec_index) const
Useful function that appears in a few tests, so collect here.
There are a number of tests that need to use a standard set of objects, similar to what we generate w...
std::vector< boost::shared_ptr< RegisterOutputBase > > config_register_output
boost::shared_ptr< PressureLevelInput > config_pressure_level_input
boost::shared_ptr< Temperature > config_temperature
boost::shared_ptr< RadiativeTransfer > config_rt
We frequently have a double with units associated with it.
boost::shared_ptr< Aerosol > config_aerosol
ConfigurationFixture(const std::string &Config_file="config.lua")
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
boost::shared_ptr< InitialGuess > config_initial_guess
boost::shared_ptr< SpectrumSampling > config_spectrum_sampling
boost::shared_ptr< Level1bSampleCoefficient > config_level_1b
There are a number of tests that need to use a standard set of objects, similar to what we generate w...
boost::shared_ptr< StateVector > config_state_vector
boost::shared_ptr< Absorber > config_absorber

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