ReFRACtor
radiance_scaling_linear_fit.h
Go to the documentation of this file.
1 #ifndef RADIANCE_SCALING_LINEAR_FIT_H
2 #define RADIANCE_SCALING_LINEAR_FIT_H
3 #include "radiance_scaling.h"
4 #include "double_with_unit.h"
5 #include "spectral_range.h"
7 
8 namespace FullPhysics {
9 
10 /****************************************************************/
17 public:
18 //-----------------------------------------------------------------------
26 //-----------------------------------------------------------------------
27 
28  RadianceScalingLinearFit(const SpectralRange& Measured_radiance,
29  const DoubleWithUnit& Band_ref,
30  const std::string& Band_name,
31  const bool Do_offset = true)
32  : RadianceScaling(Band_ref, Band_name), measured_radiance(Measured_radiance),
33  do_offset(Do_offset)
34  { }
35 
37 
39 
40  virtual void apply_correction
41  (const SpectralDomain& Pixel_grid,
42  const std::vector<int>& Pixel_list,
43  SpectralRange& Radiance) const;
44 
45  virtual void print(std::ostream& Os) const;
46 
47  //-----------------------------------------------------------------------
49  //-----------------------------------------------------------------------
50 
51  blitz::Array<double, 1> radiance_scaling_coeff_uncertainty() const
52  {
53  blitz::Array<double, 1> res(scaling_coeff.rows());
54  res = 0;
55  return res;
56  }
57 private:
58  SpectralRange measured_radiance;
59  bool do_offset;
60 };
61 }
62 #endif
virtual void print(std::ostream &Os) const
This abstract class provides the generic capabilities for applying a radiance scaling to a Radiance...
virtual void apply_correction(const SpectralDomain &Pixel_grid, const std::vector< int > &Pixel_list, SpectralRange &Radiance) const
Apply correction to radiance values, in place.
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
virtual boost::shared_ptr< InstrumentCorrection > clone() const
Clone an InstrumentCorrection object.
ArrayAd< double, 1 > scaling_coeff
RadianceScalingLinearFit(const SpectralRange &Measured_radiance, const DoubleWithUnit &Band_ref, const std::string &Band_name, const bool Do_offset=true)
Constructor.
Implements a fitted radiance scaling correction where the correction is determined by a linear fit of...
blitz::Array< double, 1 > radiance_scaling_coeff_uncertainty() const
Return radiance scaling coefficients uncertainty for the output file.
We frequently have a double with units associated with it.
We have a number of different spectrums that appear in different parts of the code.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
int rows() const
Definition: array_ad.h:368

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