#include <MichMenNegGrowth.h>

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. | |
This behavior can only be used to create a height growth increment.
The equation used in this behavior is:
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.
| clMichMenNegGrowth::clMichMenNegGrowth | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Sets the namestring.
| clMichMenNegGrowth::~clMichMenNegGrowth | ( | ) |
Destructor.
Frees memory.
| 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.
| p_oTree | Tree for which to calculate growth. | |
| p_oPop | Tree population object, just in case it's needed. | |
| fDiameterGrowth | Diameter growth, in cm. |
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).
| p_oDoc | DOM tree of parsed input file. |
| 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] |
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
float* clMichMenNegGrowth::mp_fProbAutoCorr [protected] |
one year probability of autocorrelation
int* clMichMenNegGrowth::mp_iIndexes [protected] |
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).
float clMichMenNegGrowth::m_fYearsPerTimestep [protected] |
Conversion factor to translate the results of the function to the appropriate units per timestep.
1.5.6