ReFRACtor
error_analysis_output.cc
Go to the documentation of this file.
2 
3 using namespace FullPhysics;
4 
5 #ifdef HAVE_LUA
6 #include "register_lua.h"
8 .def(luabind::constructor<const boost::shared_ptr<ErrorAnalysis>&, const blitz::Array<bool, 1>&, const std::vector<std::string>&, bool>())
10 #endif
11 
12 // See base class for description
13 
15 {
16  boost::function<double ()> f;
17  for(int i = 0; i < err->num_channels(); ++i) {
18  // Skip spectrometers with missing output
19  if (not spec_flag(i)) continue;
20 
21  f = boost::bind(&ErrorAnalysis::signal, err, i);
22  out->register_data_source("/SpectralParameters/signal_" +
23  hdf_band_names[i] + "_fph", f);
24  f = boost::bind(&ErrorAnalysis::noise, err, i);
25  out->register_data_source("/SpectralParameters/noise_" +
26  hdf_band_names[i] + "_fph", f);
27  f = boost::bind(&ErrorAnalysis::residual_mean_sq, err, i);
28  out->register_data_source("/SpectralParameters/residual_mean_square_" +
29  hdf_band_names[i], f);
30  f = boost::bind(&ErrorAnalysis::relative_residual_mean_sq, err, i);
31  out->register_data_source("/SpectralParameters/relative_residual_mean_square_" +
32  hdf_band_names[i], f);
33  f = boost::bind(&ErrorAnalysis::reduced_chisq, err, i);
34  out->register_data_source("/SpectralParameters/reduced_chi_squared_" +
35  hdf_band_names[i] + "_fph", f);
36  }
37 
38  out->register_data_source("/RetrievalResults/last_step_levenberg_marquardt_parameter",
40  if(have_co2) {
41  out->register_data_source("/RetrievalResults/xco2_uncert",
43  out->register_data_source("/RetrievalResults/xco2_uncert_interf",
45  out->register_data_source("/RetrievalResults/xco2_uncert_noise",
47  out->register_data_source("/RetrievalResults/xco2_uncert_smooth",
49  out->register_data_source("/RetrievalResults/dof_co2_profile",
51  out->register_data_source("/RetrievalResults/dof_full_vector",
53  out->register_data_source("/RetrievalResults/xco2_avg_kernel",
55  out->register_data_source("/RetrievalResults/xco2_avg_kernel_norm",
57  out->register_data_source("/RetrievalResults/xco2_correlation_interf",
59  out->register_data_source("/RetrievalResults/co2_profile_averaging_kernel_matrix",
61  out->register_data_source("/RetrievalResults/interference_smoothing_uncert",
63  out->register_data_source("/RetrievalResults/xco2_gain_vector",
65  }
66 
67  out->register_data_source("/SpectralParameters/modeled_radiance",
69 }
blitz::Array< double, 2 > co2_averaging_kernel() const
Portion of averaging kernel that relates the part of the state vector that is used by the CO2 VMR cal...
double gamma_last_step() const
Levenberg-Marquardt parameter for last step we processed.
blitz::Array< double, 1 > xco2_gain_vector() const
This calculates xco2_gain_vector.
double xco2_uncert_smooth() const
Calculate xco2_uncert_smooth.
double residual_mean_sq(int Band) const
Return the residual mean square for the O2 band.
double signal(int band) const
Calculate an approximation to the size of the continuum signal where there is no significant atmosphe...
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Definition: register_lua.h:136
blitz::Array< double, 1 > xco2_avg_kernel_norm() const
Calculate the normalized XCO2 averaging kernel.
double xco2_uncertainty() const
XCO2 uncertainty.
double relative_residual_mean_sq(int Band) const
Return the relative residual mean square for the given band.
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 > modeled_radiance() const
Modeled radiance.
blitz::Array< double, 1 > xco2_avg_kernel() const
Calculate the XCO2 averaging kernel.
As described in the Output class, we have a decentralized model of producing output for L2 Full Physi...
blitz::Array< double, 1 > interference_smoothing_uncertainty() const
Calculate the interference smoothing uncertainty.
double xco2_uncert_noise() const
Calculate xco2_uncert_noise.
This registers the portions of the ErrorAnalysis class that should be written as output.
blitz::Array< double, 1 > xco2_correlation_interf() const
Calculate xco2_correlation_interf.
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
double degrees_of_freedom_xco2() const
Calculate the degrees of freedom for the portion of the state vector used to determine xco2...
double reduced_chisq(int Band) const
Return the reduced chisq for band.
double degrees_of_freedom_full_vector() const
Calculate the degrees of freedom for the full state vector.
double noise(int band) const
Helper class for sort done in noise.
double xco2_uncert_interf() const
Calculate xco2_uncert_interf.

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