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

Protected Types

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

Protected Attributes

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

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

◆ Ptr2Precip

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

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

Member Enumeration Documentation

◆ precipType

Precipitation type.

Enumerator
mean_precip 

Mean annual precipitation.

seasonal_precip 

Seasonal precipitation.

water_deficit 

Water deficit.

Constructor & Destructor Documentation

◆ clPrecipitationEffectDoubleLogistic()

clPrecipitationEffectDoubleLogistic::clPrecipitationEffectDoubleLogistic ( )

Constructor.

◆ ~clPrecipitationEffectDoubleLogistic()

clPrecipitationEffectDoubleLogistic::~clPrecipitationEffectDoubleLogistic ( )

Destructor.

Member Function Documentation

◆ CalculatePrecipitationEffect()

double 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.

◆ DoSetup()

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

◆ m_precip

Ptr2Precip clPrecipitationEffectDoubleLogistic::m_precip
protected

Pointer for the appropriate function for getting precip.

◆ mp_fAh

double* clPrecipitationEffectDoubleLogistic::mp_fAh
protected

Precipitation effect ah.

Array is sized number of species.

◆ mp_fAl

double* clPrecipitationEffectDoubleLogistic::mp_fAl
protected

Precipitation effect al.

Array is sized number of species.

◆ mp_fBh

double* clPrecipitationEffectDoubleLogistic::mp_fBh
protected

Precipitation effect bh.

Array is sized number of species.

◆ mp_fBl

double* clPrecipitationEffectDoubleLogistic::mp_fBl
protected

Precipitation effect bl.

Array is sized number of species.

◆ mp_fCh

double* clPrecipitationEffectDoubleLogistic::mp_fCh
protected

Precipitation effect ch.

Array is sized number of species.

◆ mp_fCl

double* clPrecipitationEffectDoubleLogistic::mp_fCl
protected

Precipitation effect cl.

Array is sized number of species.


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