ReFRACtor
FullPhysics::TwostreamBrdfDriver Class Reference

TwoStream specific BRDF driver implementation. More...

#include <twostream_driver.h>

+ Inheritance diagram for FullPhysics::TwostreamBrdfDriver:
+ Collaboration diagram for FullPhysics::TwostreamBrdfDriver:

Public Member Functions

 TwostreamBrdfDriver (int surface_type)
 Initialize Twostream BRDF interface. More...
 
virtual ~TwostreamBrdfDriver ()
 
boost::shared_ptr< Twostream_Ls_Brdf_Supplementbrdf_interface () const
 
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
 
blitz::Array< double, 2 > brdf_params
 
boost::shared_ptr< Twostream_Ls_Brdf_Supplementtwostream_brdf_
 

Detailed Description

TwoStream specific BRDF driver implementation.

Definition at line 13 of file twostream_driver.h.

Constructor & Destructor Documentation

◆ TwostreamBrdfDriver()

TwostreamBrdfDriver::TwostreamBrdfDriver ( int  surface_type)

Initialize Twostream BRDF interface.

Definition at line 16 of file twostream_driver.cc.

◆ ~TwostreamBrdfDriver()

virtual FullPhysics::TwostreamBrdfDriver::~TwostreamBrdfDriver ( )
inlinevirtual

Definition at line 16 of file twostream_driver.h.

Member Function Documentation

◆ brdf_interface()

boost::shared_ptr<Twostream_Ls_Brdf_Supplement> FullPhysics::TwostreamBrdfDriver::brdf_interface ( ) const
inline

Definition at line 28 of file twostream_driver.h.

◆ calculate_brdf()

void TwostreamBrdfDriver::calculate_brdf ( ) const
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 48 of file twostream_driver.cc.

◆ do_kparams_derivs() [1/2]

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

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 102 of file twostream_driver.cc.

◆ do_kparams_derivs() [2/2]

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

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 107 of file twostream_driver.cc.

◆ do_shadow_effect() [1/2]

bool TwostreamBrdfDriver::do_shadow_effect ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 117 of file twostream_driver.cc.

◆ do_shadow_effect() [2/2]

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

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 121 of file twostream_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 TwostreamBrdfDriver::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 125 of file twostream_driver.cc.

◆ n_brdf_kernels() [1/2]

int TwostreamBrdfDriver::n_brdf_kernels ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 53 of file twostream_driver.cc.

◆ n_brdf_kernels() [2/2]

void TwostreamBrdfDriver::n_brdf_kernels ( const int  n_kernels)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 58 of file twostream_driver.cc.

◆ n_kernel_factor_wfs() [1/2]

int TwostreamBrdfDriver::n_kernel_factor_wfs ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 63 of file twostream_driver.cc.

◆ n_kernel_factor_wfs() [2/2]

void TwostreamBrdfDriver::n_kernel_factor_wfs ( const int  n_factors)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 68 of file twostream_driver.cc.

◆ n_kernel_params_wfs() [1/2]

int TwostreamBrdfDriver::n_kernel_params_wfs ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 76 of file twostream_driver.cc.

◆ n_kernel_params_wfs() [2/2]

void TwostreamBrdfDriver::n_kernel_params_wfs ( const int  n_params)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 81 of file twostream_driver.cc.

◆ n_surface_wfs() [1/2]

int TwostreamBrdfDriver::n_surface_wfs ( ) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 89 of file twostream_driver.cc.

◆ n_surface_wfs() [2/2]

void TwostreamBrdfDriver::n_surface_wfs ( const int  n_wfs)
protectedvirtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 94 of file twostream_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 TwostreamBrdfDriver::setup_geometry ( double  sza,
double  azm,
double  zen 
) const
virtual

Implements FullPhysics::SpurrBrdfDriver.

Definition at line 37 of file twostream_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_params

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

Definition at line 79 of file spurr_driver.h.

◆ twostream_brdf_

boost::shared_ptr<Twostream_Ls_Brdf_Supplement> FullPhysics::TwostreamBrdfDriver::twostream_brdf_
protected

Definition at line 47 of file twostream_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:14