ReFRACtor
|
This a forward model class that calcualtes jacobians using the finite difference method. More...
#include <fd_forward_model.h>
Public Member Functions | |
FdForwardModel (const boost::shared_ptr< ForwardModel > &Real_Forward_model, const boost::shared_ptr< StateVector > &Sv, const blitz::Array< double, 1 > &Perturbation) | |
Constructor. More... | |
virtual | ~FdForwardModel () |
virtual int | num_channels () const |
The number of spectral channels associated with forward model. More... | |
virtual void | print (std::ostream &Os) const |
std::string | print_to_string () const |
Print to string. More... | |
virtual Spectrum | radiance (int Spec_index, bool Skip_jacobian=false) const |
Spectrum for the given spectral band. More... | |
virtual Spectrum | radiance_all (bool skip_jacobian=false) const |
Radiance data all stacked together as one long spectrum (so band 0, followed by band 1, etc.). More... | |
virtual void | setup_grid ()=0 |
This notifies the forward model that it should setup the grid. More... | |
virtual const SpectralDomain | spectral_domain (int Spec_index) const |
Spectral domain for the given spectral band. More... | |
virtual SpectralDomain::TypePreference | spectral_domain_type_preference () const =0 |
Type preference for spectral domain. More... | |
virtual const boost::optional< blitz::Range > | stacked_pixel_range (int channel_index) const |
The range of indicies that corresponds to a particular band in the stacked radiances. More... | |
virtual boost::shared_ptr< StateVector > | state_vector () const |
This a forward model class that calcualtes jacobians using the finite difference method.
This will approach is certainly much slower and is meant for testing analytic jacobains and for models that do not include analytic jacobians.
Additionally this way of doing finitie difference is wasteful because some state vector elements might not require a full radiative transfer call.
Definition at line 18 of file fd_forward_model.h.
FdForwardModel::FdForwardModel | ( | const boost::shared_ptr< ForwardModel > & | Real_Forward_model, |
const boost::shared_ptr< StateVector > & | Sv, | ||
const blitz::Array< double, 1 > & | Perturbation | ||
) |
Constructor.
Definition at line 11 of file fd_forward_model.cc.
|
inlinevirtual |
Definition at line 23 of file fd_forward_model.h.
|
inlinevirtual |
The number of spectral channels associated with forward model.
Implements FullPhysics::ForwardModel.
Definition at line 28 of file fd_forward_model.h.
|
inlinevirtual |
Reimplemented from FullPhysics::ForwardModel.
Definition at line 26 of file fd_forward_model.h.
|
inlineinherited |
Print to string.
This is primarily useful for SWIG wrappers to this class, e.g. a to_s method in ruby.
Definition at line 31 of file printable.h.
|
virtual |
Spectrum for the given spectral band.
Note that this may be empty.
channel_index | Band to give value for |
skip_jacobian | If true, don't do the Jacobian calculation. Often this is significantly faster to calculate. |
Implements FullPhysics::ForwardModel.
Definition at line 20 of file fd_forward_model.cc.
|
virtualinherited |
Radiance data all stacked together as one long spectrum (so band 0, followed by band 1, etc.).
Definition at line 25 of file stacked_radiance_mixin.cc.
|
pure virtualinherited |
This notifies the forward model that it should setup the grid.
Implemented in FullPhysics::StandardForwardModel.
|
inlinevirtual |
Spectral domain for the given spectral band.
Note that this may be empty.
Implements FullPhysics::ForwardModel.
Definition at line 30 of file fd_forward_model.h.
|
pure virtualinherited |
Type preference for spectral domain.
This may seem an odd thing to have a function for, but this is needed by ForwardModelOutput.
Implemented in FullPhysics::StandardForwardModel.
|
virtualinherited |
The range of indicies that corresponds to a particular band in the stacked radiances.
The range may well be empty if a band is not used at all. This is a useful edge case, but unfortunately blitz::Range does not support empty ranges. As a simple work around, we use the boost::optional class to return a value only if the range is not empty.
Definition at line 6 of file stacked_radiance_mixin.cc.
|
inlinevirtual |
Definition at line 24 of file fd_forward_model.h.