ReFRACtor
|
LIDORT specific Radiative transfer interface implementation. More...
#include <lidort_driver.h>
Public Member Functions | |
LidortRtDriver (int nstream, int nmoment, bool do_multi_scatt_only, int surface_type, const blitz::Array< double, 1 > &zen, bool pure_nadir, bool do_solar=true, bool do_thermal=false) | |
const boost::shared_ptr< SpurrBrdfDriver > | brdf_driver () const |
Access to BRDF driver. More... | |
const boost::shared_ptr< Brdf_Linsup_Masters > | brdf_interface () const |
void | calculate_rt () const |
Perform radiative transfer calculation with the values setup by setup_optical_inputs and setup_linear_inputs. More... | |
void | clear_linear_inputs () const |
Mark that we are not retrieving weighting functions. More... | |
void | copy_jacobians (blitz::Array< double, 2 > &jac_atm, blitz::Array< double, 1 > &jac_surf) const |
Copy jacobians out of internal xdata structures. More... | |
bool | do_multi_scatt_only () const |
double | get_intensity () const |
Retrieve the intensity value calculated. More... | |
const boost::shared_ptr< LidortBrdfDriver > | lidort_brdf_driver () const |
Access to BRDF driver. More... | |
const boost::shared_ptr< Lidort_Lps_Masters > | lidort_interface () const |
Interface to LIDORT RT software inputs to allow changing LIDORT configuration to values other than default. More... | |
int | number_moment () const |
int | number_stream () const |
bool | pure_nadir () const |
virtual void | reflectance_and_jacobian_calculate (const blitz::Array< double, 1 > &height_grid, double sza, double azm, double zen, int surface_type, ArrayAd< double, 1 > &surface_parameters, const ArrayAd< double, 1 > &od, const ArrayAd< double, 1 > &ssa, const ArrayAd< double, 2 > &pf, double &reflectance, blitz::Array< double, 2 > &jac_atm, blitz::Array< double, 1 > &jac_surf, double surface_bb=0, const blitz::Array< double, 1 > &atmosphere_bb=blitz::Array< double, 1 >()) |
Calculates intensity, profile and surface weighting factors (jacobians) with the given inputs. More... | |
virtual double | reflectance_calculate (const blitz::Array< double, 1 > &height_grid, double sza, double azm, double zen, int surface_type, const blitz::Array< double, 1 > &surface_parameters, const blitz::Array< double, 1 > &od, const blitz::Array< double, 1 > &ssa, const blitz::Array< double, 2 > &pf, double surface_bb=0, const blitz::Array< double, 1 > &atmosphere_bb=blitz::Array< double, 1 >()) |
Computes reflectance without jacobians. More... | |
void | set_line_of_sight () const |
Set line of sight mode. More... | |
void | set_plane_parallel () const |
Set plane parallel sphericity. More... | |
void | set_plane_parallel_plus_ss_correction () const |
Set plane parallel plus single scattering correction. More... | |
void | set_pseudo_spherical () const |
Set pseudo spherical sphericity. More... | |
void | setup_geometry (double sza, double azm, double zen) const |
Setup viewing geometry, should only be called once per instance or if the viewing geometry changes. More... | |
void | setup_height_grid (const blitz::Array< double, 1 > &height_grid) const |
Setup height grid, should only be called once per instance or if the height grid changes. More... | |
void | setup_linear_inputs (const ArrayAd< double, 1 > &od, const ArrayAd< double, 1 > &ssa, const ArrayAd< double, 2 > &pf, bool do_surface_linearization) const |
Set up linearization, weighting functions. More... | |
void | setup_optical_inputs (const blitz::Array< double, 1 > &od, const blitz::Array< double, 1 > &ssa, const blitz::Array< double, 2 > &pf) const |
Set up optical depth, single scattering albedo and phase function Should be called per spectral point. More... | |
void | setup_sphericity (double zen) const |
Set up/reset sphericity mode which may be affected by the current zenith viewing angle. More... | |
void | setup_thermal_inputs (double surface_bb, const blitz::Array< double, 1 > atmosphere_bb) const |
Set up thermal emission inputs. More... | |
Protected Member Functions | |
void | copy_brdf_sup_outputs () const |
Copy outputs from BRDF supplement into LIDORT Sup inputs types. More... | |
void | initialize_rt () |
Initializes radiative transfer data structures. More... | |
Protected Attributes | |
boost::shared_ptr< SpurrBrdfDriver > | brdf_driver_ |
Spurr BRDF class interface class to use. More... | |
bool | do_multi_scatt_only_ |
bool | do_solar_sources |
bool | do_thermal_emission |
boost::shared_ptr< Lidort_Lps_Masters > | lidort_interface_ |
int | nmoment_ |
int | nstream_ |
bool | pure_nadir_ |
int | surface_type_ |
LIDORT specific Radiative transfer interface implementation.
Definition at line 58 of file lidort_driver.h.
LidortRtDriver::LidortRtDriver | ( | int | nstream, |
int | nmoment, | ||
bool | do_multi_scatt_only, | ||
int | surface_type, | ||
const blitz::Array< double, 1 > & | zen, | ||
bool | pure_nadir, | ||
bool | do_solar = true , |
||
bool | do_thermal = false |
||
) |
Definition at line 167 of file lidort_driver.cc.
|
inlineinherited |
Access to BRDF driver.
Definition at line 123 of file spurr_driver.h.
|
inline |
Definition at line 81 of file lidort_driver.h.
|
virtual |
Perform radiative transfer calculation with the values setup by setup_optical_inputs and setup_linear_inputs.
Implements FullPhysics::SpurrRtDriver.
Definition at line 635 of file lidort_driver.cc.
|
virtual |
Mark that we are not retrieving weighting functions.
Implements FullPhysics::SpurrRtDriver.
Definition at line 494 of file lidort_driver.cc.
|
protected |
Copy outputs from BRDF supplement into LIDORT Sup inputs types.
Definition at line 622 of file lidort_driver.cc.
|
virtual |
Copy jacobians out of internal xdata structures.
Implements FullPhysics::SpurrRtDriver.
Definition at line 654 of file lidort_driver.cc.
|
inline |
Definition at line 73 of file lidort_driver.h.
|
virtual |
Retrieve the intensity value calculated.
Implements FullPhysics::SpurrRtDriver.
Definition at line 644 of file lidort_driver.cc.
|
protectedvirtual |
Initializes radiative transfer data structures.
Implements FullPhysics::SpurrRtDriver.
Definition at line 206 of file lidort_driver.cc.
|
inline |
Access to BRDF driver.
Definition at line 78 of file lidort_driver.h.
|
inline |
Interface to LIDORT RT software inputs to allow changing LIDORT configuration to values other than default.
Definition at line 85 of file lidort_driver.h.
int LidortRtDriver::number_moment | ( | ) | const |
Definition at line 190 of file lidort_driver.cc.
int LidortRtDriver::number_stream | ( | ) | const |
Definition at line 198 of file lidort_driver.cc.
|
inline |
Definition at line 75 of file lidort_driver.h.
|
virtualinherited |
Calculates intensity, profile and surface weighting factors (jacobians) with the given inputs.
Definition at line 276 of file spurr_driver.cc.
|
virtualinherited |
Computes reflectance without jacobians.
Calculates intensity value with the given inputs.
Definition at line 237 of file spurr_driver.cc.
void LidortRtDriver::set_line_of_sight | ( | ) | const |
Set line of sight mode.
Definition at line 402 of file lidort_driver.cc.
void LidortRtDriver::set_plane_parallel | ( | ) | const |
Set plane parallel sphericity.
Definition at line 360 of file lidort_driver.cc.
void LidortRtDriver::set_plane_parallel_plus_ss_correction | ( | ) | const |
Set plane parallel plus single scattering correction.
Definition at line 390 of file lidort_driver.cc.
void LidortRtDriver::set_pseudo_spherical | ( | ) | const |
Set pseudo spherical sphericity.
Definition at line 372 of file lidort_driver.cc.
|
virtual |
Setup viewing geometry, should only be called once per instance or if the viewing geometry changes.
Implements FullPhysics::SpurrRtDriver.
Definition at line 431 of file lidort_driver.cc.
|
virtual |
Setup height grid, should only be called once per instance or if the height grid changes.
Implements FullPhysics::SpurrRtDriver.
Definition at line 413 of file lidort_driver.cc.
|
virtual |
Set up linearization, weighting functions.
Implements FullPhysics::SpurrRtDriver.
Definition at line 505 of file lidort_driver.cc.
|
virtual |
Set up optical depth, single scattering albedo and phase function Should be called per spectral point.
Implements FullPhysics::SpurrRtDriver.
Definition at line 464 of file lidort_driver.cc.
void LidortRtDriver::setup_sphericity | ( | double | zen | ) | const |
Set up/reset sphericity mode which may be affected by the current zenith viewing angle.
Definition at line 311 of file lidort_driver.cc.
|
virtual |
Set up thermal emission inputs.
Implements FullPhysics::SpurrRtDriver.
Definition at line 452 of file lidort_driver.cc.
|
mutableprotectedinherited |
Spurr BRDF class interface class to use.
Definition at line 169 of file spurr_driver.h.
|
protected |
Definition at line 110 of file lidort_driver.h.
|
protectedinherited |
Definition at line 163 of file spurr_driver.h.
|
protectedinherited |
Definition at line 163 of file spurr_driver.h.
|
protected |
Definition at line 113 of file lidort_driver.h.
|
protected |
Definition at line 109 of file lidort_driver.h.
|
protected |
Definition at line 109 of file lidort_driver.h.
|
protected |
Definition at line 112 of file lidort_driver.h.
|
protected |
Definition at line 111 of file lidort_driver.h.