clMichMenNegGrowth Class Reference

Increments height growth according to an equation originally developed for New Zealand seedling growth. More...

#include <MichMenNegGrowth.h>

Inheritance diagram for clMichMenNegGrowth:

clGrowthBase clBehaviorBase clWorkerBase

List of all members.

Public Member Functions

 clMichMenNegGrowth (clSimManager *p_oSimManager)
 Constructor.
 ~clMichMenNegGrowth ()
 Destructor.
float CalcHeightGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fDiameterGrowth)
 Calculates the amount of height growth increase for a particular tree using the growth equation described ablove.
void DoShellSetup (xercesc::DOMDocument *p_oDoc)
 Does setup.
void RegisterTreeDataMembers ()
 Registers the float data member and captures the return codes.

Protected Attributes

float * mp_fAlpha
 alpha - sized number of behavior species
float * mp_fBeta
 beta - sized number of behavior species
float * mp_fPhi
 phi - sized number of behavior species
float * mp_fGamma
 gamma - sized number of behavior species
float * mp_fStdDev
 standard deviation of growth stochasticity in cm/year
float * mp_fProbAutoCorr
 one year probability of autocorrelation
int * mp_iIndexes
 To help access the other arrays.
short int ** mp_iAutoCorrCodes
 Return codes for the "autocorr" tree float data member variable.
float m_fYearsPerTimestep
 Conversion factor to translate the results of the function to the appropriate units per timestep.


Detailed Description

Increments height growth according to an equation originally developed for New Zealand seedling growth.

This behavior can only be used to create a height growth increment.

The equation used in this behavior is:

Y = (alpha;GLI) / (GLI + α/β) * Hφ - γ
where

This is looped over the number of years per timestep, allowing H to increment at each intermediate year.

Growth has a stochastic component. The user provides a standard deviation for a normal distribution of mean zero and a draw on this distribution is added to the growth for each year. Growth can also be autocorrelated. Each species has a probability of autocorrelation from year to year and if a random draw triggers autocorrelation, the next year gets the same random additional growth factor as the previous year. This may mean multiple random draws per timestep in a multiyear timestep.

All trees must have the "Light" data member registered (i.e. must have a light behavior applied).

The name string is "michmenneggrowthshell". The parameter file call string is "Michaelis Menten negative growth height only". This creates a growth data member called "autocorr".

Copyright 2008 Charles D. Canham.

Author:
Lora E. Murphy

Edit history:
-----------------
October 31, 2008 - Created (LEM)
September 9, 2009 - Added stochasticity and autocorrelation (LEM)

Constructor & Destructor Documentation

clMichMenNegGrowth::clMichMenNegGrowth ( clSimManager p_oSimManager  ) 

Constructor.

Sets the namestring.

clMichMenNegGrowth::~clMichMenNegGrowth (  ) 

Destructor.

Frees memory.


Member Function Documentation

float clMichMenNegGrowth::CalcHeightGrowthValue ( clTree p_oTree,
clTreePopulation p_oPop,
float  fDiameterGrowth 
) [virtual]

Calculates the amount of height growth increase for a particular tree using the growth equation described ablove.

Parameters:
p_oTree Tree for which to calculate growth.
p_oPop Tree population object, just in case it's needed.
fDiameterGrowth Diameter growth, in cm.
Returns:
Amount, in m, by which to increase the tree's height.

Reimplemented from clGrowthBase.

void clMichMenNegGrowth::DoShellSetup ( xercesc::DOMDocument *  p_oDoc  )  [virtual]

Does setup.

Reads in values from the parameter file, and validates that all species/type combos use light (each must have "Light" registered).

Parameters:
p_oDoc DOM tree of parsed input file.
Exceptions:
modelErr if any species/type combo to which this behavior is applied does not have a light behavior, or if beta = 0.

Reimplemented from clGrowthBase.

void clMichMenNegGrowth::RegisterTreeDataMembers (  )  [virtual]

Registers the float data member and captures the return codes.

Reimplemented from clGrowthBase.


Member Data Documentation

float* clMichMenNegGrowth::mp_fAlpha [protected]

alpha - sized number of behavior species

float* clMichMenNegGrowth::mp_fBeta [protected]

beta - sized number of behavior species

float* clMichMenNegGrowth::mp_fPhi [protected]

phi - sized number of behavior species

float* clMichMenNegGrowth::mp_fGamma [protected]

gamma - sized number of behavior species

float* clMichMenNegGrowth::mp_fStdDev [protected]

standard deviation of growth stochasticity in cm/year

one year probability of autocorrelation

To help access the other arrays.

short int** clMichMenNegGrowth::mp_iAutoCorrCodes [protected]

Return codes for the "autocorr" tree float data member variable.

Array of behavior species by type (even if not every type is represented).

Conversion factor to translate the results of the function to the appropriate units per timestep.


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

Generated on Tue Apr 19 13:56:13 2011 for SORTIE Core C++ Documentation by  doxygen 1.5.6