ReFRACtor
FullPhysics::LidortBrdfDriver Class Reference

LIDORT specific BRDF driver implementation. More...

#include <lidort_driver.h>

+ Inheritance diagram for FullPhysics::LidortBrdfDriver:
+ Collaboration diagram for FullPhysics::LidortBrdfDriver:

Public Member Functions

 LidortBrdfDriver (int nstream, int nmoment)
 Initialize Lidort BRDF interface. More...
 
virtual ~LidortBrdfDriver ()
 
const boost::shared_ptr< Brdf_Linsup_Mastersbrdf_interface () const
 Interface to BRDF interface to allow changing configuration to values. More...
 
virtual bool do_kparams_derivs (const int kernel_index) const
 
virtual bool do_shadow_effect () const
 
virtual void initialize_brdf_inputs (int surface_type)
 Initializes the BRDF kernels for the given Ground surface type integer. More...
 
virtual int n_brdf_kernels () const
 
virtual int n_kernel_factor_wfs () const
 
virtual int n_kernel_params_wfs () const
 
virtual int n_surface_wfs () const
 
virtual ArrayAd< double, 1 > setup_brdf_inputs (int surface_type, const ArrayAd< double, 1 > &surface_parameters) const
 Sets up the BRDF inputs to be used by the BRDF calculation code This routine is intended to be called for each spectral point. More...
 
virtual void setup_geometry (double sza, double azm, double zen) const
 

Protected Member Functions

virtual void calculate_brdf () const
 
virtual void do_kparams_derivs (const int kernel_index, const bool do_kparams)
 
virtual void do_shadow_effect (const bool do_shadow) const
 
virtual void initialize_brdf_kernel (int kernel_type)
 Initializes a specific BRDF kernel based on the kernel type integer Each call adds a new kernel setup to the BRDF interface, meaning multiple calls are set up by successive calls to this method. More...
 
virtual void initialize_kernel_parameters (const int kernel_index, const int which_brdf, const bool lambertian_flag, const int n_brdf_parameters, const bool do_factor_wfs, const blitz::Array< bool, 1 > &do_params_wfs)
 
virtual void n_brdf_kernels (const int n_kernels)
 
virtual void n_kernel_factor_wfs (const int n_factors)
 
virtual void n_kernel_params_wfs (const int n_params)
 
virtual void n_surface_wfs (const int n_wfs)
 
virtual void setup_breon_inputs (int kernel_index, ArrayAd< double, 1 > &surface_parameters, const blitz::Array< int, 1 > &parameter_indexes) const
 
virtual void setup_coxmunk_inputs (int kernel_index, ArrayAd< double, 1 > &surface_parameters, const blitz::Array< int, 1 > &parameter_indexes) const
 
virtual void setup_lambertian_inputs (int kernel_index, ArrayAd< double, 1 > &surface_parameters, const blitz::Array< int, 1 > &parameter_indexes) const
 
virtual void setup_rahman_inputs (int kernel_index, ArrayAd< double, 1 > &surface_parameters, const blitz::Array< int, 1 > &parameter_indexes) const
 

Protected Attributes

blitz::Array< double, 1 > brdf_factors
 
boost::shared_ptr< Brdf_Linsup_Mastersbrdf_interface_
 
blitz::Array< double, 2 > brdf_params
 
int nmoment_
 

Detailed Description

LIDORT specific BRDF driver implementation.

Definition at line 13 of file lidort_driver.h.

Constructor & Destructor Documentation

◆ LidortBrdfDriver()

LidortBrdfDriver::LidortBrdfDriver ( int  nstream,
int  nmoment 
)

Initialize Lidort BRDF interface.

Definition at line 23 of file lidort_driver.cc.

◆ ~LidortBrdfDriver()

virtual FullPhysics::LidortBrdfDriver::~LidortBrdfDriver ( )
inlinevirtual

Definition at line 16 of file lidort_driver.h.

Member Function Documentation

◆ brdf_interface()

const boost::shared_ptr<Brdf_Linsup_Masters> FullPhysics::LidortBrdfDriver::brdf_interface ( ) const
inline

Interface to BRDF interface to allow changing configuration to values.

Definition at line 20 of file lidort_driver.h.

◆ calculate_brdf()

void LidortBrdfDriver::calculate_brdf ( ) const
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 66 of file lidort_driver.cc.

◆ do_kparams_derivs() [1/2]

bool LidortBrdfDriver::do_kparams_derivs ( const int  kernel_index) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 113 of file lidort_driver.cc.

◆ do_kparams_derivs() [2/2]

void LidortBrdfDriver::do_kparams_derivs ( const int  kernel_index,
const bool  do_kparams 
)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 118 of file lidort_driver.cc.

◆ do_shadow_effect() [1/2]

bool LidortBrdfDriver::do_shadow_effect ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 126 of file lidort_driver.cc.

◆ do_shadow_effect() [2/2]

void LidortBrdfDriver::do_shadow_effect ( const bool  do_shadow) const
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 130 of file lidort_driver.cc.

◆ initialize_brdf_inputs()

void SpurrBrdfDriver::initialize_brdf_inputs ( int  surface_type)
virtualinherited

Initializes the BRDF kernels for the given Ground surface type integer.

A surface type might consist of multiple kernels.

Definition at line 13 of file spurr_driver.cc.

◆ initialize_brdf_kernel()

void SpurrBrdfDriver::initialize_brdf_kernel ( int  which_brdf)
protectedvirtualinherited

Initializes a specific BRDF kernel based on the kernel type integer Each call adds a new kernel setup to the BRDF interface, meaning multiple calls are set up by successive calls to this method.

Definition at line 41 of file spurr_driver.cc.

◆ initialize_kernel_parameters()

void LidortBrdfDriver::initialize_kernel_parameters ( const int  kernel_index,
const int  which_brdf,
const bool  lambertian_flag,
const int  n_brdf_parameters,
const bool  do_factor_wfs,
const blitz::Array< bool, 1 > &  do_params_wfs 
)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 134 of file lidort_driver.cc.

◆ n_brdf_kernels() [1/2]

int LidortBrdfDriver::n_brdf_kernels ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 79 of file lidort_driver.cc.

◆ n_brdf_kernels() [2/2]

void LidortBrdfDriver::n_brdf_kernels ( const int  n_kernels)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 84 of file lidort_driver.cc.

◆ n_kernel_factor_wfs() [1/2]

int LidortBrdfDriver::n_kernel_factor_wfs ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 89 of file lidort_driver.cc.

◆ n_kernel_factor_wfs() [2/2]

void LidortBrdfDriver::n_kernel_factor_wfs ( const int  n_factors)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 93 of file lidort_driver.cc.

◆ n_kernel_params_wfs() [1/2]

int LidortBrdfDriver::n_kernel_params_wfs ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 97 of file lidort_driver.cc.

◆ n_kernel_params_wfs() [2/2]

void LidortBrdfDriver::n_kernel_params_wfs ( const int  n_params)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 101 of file lidort_driver.cc.

◆ n_surface_wfs() [1/2]

int LidortBrdfDriver::n_surface_wfs ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 105 of file lidort_driver.cc.

◆ n_surface_wfs() [2/2]

void LidortBrdfDriver::n_surface_wfs ( const int  n_wfs)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 109 of file lidort_driver.cc.

◆ setup_brdf_inputs()

ArrayAd< double, 1 > SpurrBrdfDriver::setup_brdf_inputs ( int  surface_type,
const ArrayAd< double, 1 > &  surface_parameters 
) const
virtualinherited

Sets up the BRDF inputs to be used by the BRDF calculation code This routine is intended to be called for each spectral point.

Definition at line 112 of file spurr_driver.cc.

◆ setup_breon_inputs()

void SpurrBrdfDriver::setup_breon_inputs ( int  kernel_index,
ArrayAd< double, 1 > &  surface_parameters,
const blitz::Array< int, 1 > &  parameter_indexes 
) const
protectedvirtualinherited

Definition at line 223 of file spurr_driver.cc.

◆ setup_coxmunk_inputs()

void SpurrBrdfDriver::setup_coxmunk_inputs ( int  kernel_index,
ArrayAd< double, 1 > &  surface_parameters,
const blitz::Array< int, 1 > &  parameter_indexes 
) const
protectedvirtualinherited

Definition at line 181 of file spurr_driver.cc.

◆ setup_geometry()

void LidortBrdfDriver::setup_geometry ( double  sza,
double  azm,
double  zen 
) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 46 of file lidort_driver.cc.

◆ setup_lambertian_inputs()

void SpurrBrdfDriver::setup_lambertian_inputs ( int  kernel_index,
ArrayAd< double, 1 > &  surface_parameters,
const blitz::Array< int, 1 > &  parameter_indexes 
) const
protectedvirtualinherited

Definition at line 168 of file spurr_driver.cc.

◆ setup_rahman_inputs()

void SpurrBrdfDriver::setup_rahman_inputs ( int  kernel_index,
ArrayAd< double, 1 > &  surface_parameters,
const blitz::Array< int, 1 > &  parameter_indexes 
) const
protectedvirtualinherited

Definition at line 205 of file spurr_driver.cc.

Member Data Documentation

◆ brdf_factors

blitz::Array<double, 1> FullPhysics::SpurrBrdfDriver::brdf_factors
mutableprotectedinherited

Definition at line 78 of file spurr_driver.h.

◆ brdf_interface_

boost::shared_ptr<Brdf_Linsup_Masters> FullPhysics::LidortBrdfDriver::brdf_interface_
protected

Definition at line 51 of file lidort_driver.h.

◆ brdf_params

blitz::Array<double, 2> FullPhysics::SpurrBrdfDriver::brdf_params
mutableprotectedinherited

Definition at line 79 of file spurr_driver.h.

◆ nmoment_

int FullPhysics::LidortBrdfDriver::nmoment_
protected

Definition at line 33 of file lidort_driver.h.


The documentation for this class was generated from the following files:

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