SORTIE Core C++ Documentation
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
clPrecipitationEffectDoubleLogistic Class Reference

This returns the precipitation effect using a double logistic function. More...

#include <PrecipitationEffectDoubleLogistic.h>

Inheritance diagram for clPrecipitationEffectDoubleLogistic:
clPrecipitationEffectBase

Public Types

enum  precipType { mean_precip, seasonal_precip, water_deficit }
 Precipitation type. More...
 
- Public Types inherited from clPrecipitationEffectBase
enum  precipType { mean_precip, seasonal_precip, water_deficit }
 Precipitation type. More...
 

Public Member Functions

 clPrecipitationEffectDoubleLogistic ()
 Constructor.
 
 ~clPrecipitationEffectDoubleLogistic ()
 Destructor.
 
float CalculatePrecipitationEffect (clPlot *p_oPlot, int iSpecies)
 Calculates precipitation effect for a particular species.
 
void DoSetup (clTreePopulation *p_oPop, clBehaviorBase *p_oNCI, xercesc::DOMElement *p_oElement)
 Does any desired setup.
 
- Public Member Functions inherited from clPrecipitationEffectBase
 clPrecipitationEffectBase ()
 Constructor.
 
virtual ~clPrecipitationEffectBase ()
 Destructor.
 
bool DoesRequireTargetDiam ()
 

Protected Types

typedef float(clPlot::* Ptr2Precip )()
 Define a type for pointers to plot functions for getting precipitation.
 

Protected Attributes

Ptr2Precip m_precip
 Pointer for the appropriate function for getting precip.
 
float * mp_fAl
 Precipitation effect al.
 
float * mp_fBl
 Precipitation effect bl.
 
float * mp_fCl
 Precipitation effect cl.
 
float * mp_fAh
 Precipitation effect ah.
 
float * mp_fBh
 Precipitation effect bh.
 
float * mp_fCh
 Precipitation effect ch.
 
- Protected Attributes inherited from clPrecipitationEffectBase
bool bRequiresTargetDiam
 Whether or not this effect depends on a target diameter being available.
 

Detailed Description

This returns the precipitation effect using a double logistic function.

Three possible precipitation values can be used: mean annual precipitation, seasonal precipitation, or annual water deficit. The function is:

Precipitation Effect = (al + ((1-al)/(1+(bl/ppt)^cl))) * (ah + ((1-ah)/(1+(ppt/bh)^ch)))

where:

Copyright 2013 Charles D. Canham.

Author
Lora E. Murphy


Edit history:
--------------—
December 20, 2013 - Created (LEM)

Member Typedef Documentation

typedef float(clPlot::* clPrecipitationEffectDoubleLogistic::Ptr2Precip)()
protected

Define a type for pointers to plot functions for getting precipitation.

Member Enumeration Documentation

Precipitation type.

Enumerator:
mean_precip 

Mean annual precipitation.

seasonal_precip 

Seasonal precipitation.

water_deficit 

Water deficit.

Constructor & Destructor Documentation

clPrecipitationEffectDoubleLogistic::clPrecipitationEffectDoubleLogistic ( )

Constructor.

clPrecipitationEffectDoubleLogistic::~clPrecipitationEffectDoubleLogistic ( )

Destructor.

Member Function Documentation

float clPrecipitationEffectDoubleLogistic::CalculatePrecipitationEffect ( clPlot p_oPlot,
int  iSpecies 
)
virtual

Calculates precipitation effect for a particular species.

Parameters
p_oPlotPlot object for querying for precipitation values.
iSpeciesSpecies for which to calculate precipitation effect.

Implements clPrecipitationEffectBase.

void clPrecipitationEffectDoubleLogistic::DoSetup ( clTreePopulation p_oPop,
clBehaviorBase p_oNCI,
xercesc::DOMElement *  p_oElement 
)
virtual

Does any desired setup.

Parameters
p_oPopTree population.
p_oNCINCI behavior object.
p_oElementRoot element of the behavior.
Exceptions
ModelExceptionif Storm Effect parameters are not between 0 and 1.

Implements clPrecipitationEffectBase.

Member Data Documentation

Ptr2Precip clPrecipitationEffectDoubleLogistic::m_precip
protected

Pointer for the appropriate function for getting precip.

float* clPrecipitationEffectDoubleLogistic::mp_fAh
protected

Precipitation effect ah.

Array is sized number of species.

float* clPrecipitationEffectDoubleLogistic::mp_fAl
protected

Precipitation effect al.

Array is sized number of species.

float* clPrecipitationEffectDoubleLogistic::mp_fBh
protected

Precipitation effect bh.

Array is sized number of species.

float* clPrecipitationEffectDoubleLogistic::mp_fBl
protected

Precipitation effect bl.

Array is sized number of species.

float* clPrecipitationEffectDoubleLogistic::mp_fCh
protected

Precipitation effect ch.

Array is sized number of species.

float* clPrecipitationEffectDoubleLogistic::mp_fCl
protected

Precipitation effect cl.

Array is sized number of species.


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