#include <LogBiLevelGrowth.h>
Inheritance diagram for clLogBiLevelGrowth:
Public Member Functions | |
clLogBiLevelGrowth (clSimManager *p_oSimManager) | |
Constructor. | |
~clLogBiLevelGrowth () | |
Destructor. | |
float | CalcHeightGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fDiameterGrowth) |
Calculates the amount of height growth increase for a particular tree using the lognormal growth equation. | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Does the setup for this behavior. | |
Protected Attributes | |
clGridBase * | mp_oStormLight |
"Storm Light" grid object | |
float * | mp_fLoLightMaxGrowth |
Max growth, in m, in low light - sized number of behavior species. | |
float * | mp_fLoLightX0 |
X0 in low light - sized number of behavior species. | |
float * | mp_fLoLightXb |
Xb in low light - sized number of behavior species. | |
float * | mp_fHiLightMaxGrowth |
Max growth, in m, in high light - sized number of behavior species. | |
float * | mp_fHiLightX0 |
X0 in high light - sized number of behavior species. | |
float * | mp_fHiLightXb |
Xb in high light - sized number of behavior species. | |
float * | mp_fHiLightThreshold |
Threshold between low light and high light growth, as a value between 0 and 100 - sized number of behavior species. | |
int * | mp_iIndexes |
To help access the other arrays. | |
float | m_fYearsPerTimestep |
Conversion factor to translate the results of the function to the appropriate units per timestep. | |
int | m_iLightCode |
Code for the "Light" data member of the "Storm Light" grid. |
The two sets of parameters can be used for two different growth rates at high and low light. This behavior can only be used to create a height growth increment.
The equation used in this behavior is:
This behavior can also take into account light levels coming from the "Storm Light" grid object produced by clStormLight. This behavior can use two different sets of parameter values - one at low light and one at high light. The user sets the threshold between the two. The equation remains the same.
The name string is "logbilevelgrowthshell". The parameter file call string is "log bilevel growth height only".
Copyright 2005 Charles D. Canham.
clLogBiLevelGrowth::clLogBiLevelGrowth | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Sets the namestring.
clLogBiLevelGrowth::~clLogBiLevelGrowth | ( | ) |
Destructor.
Frees memory.
float clLogBiLevelGrowth::CalcHeightGrowthValue | ( | clTree * | p_oTree, | |
clTreePopulation * | p_oPop, | |||
float | fDiameterGrowth | |||
) | [virtual] |
Calculates the amount of height growth increase for a particular tree using the lognormal growth equation.
If the light grid is present, this retrieves the light level in the tree's grid cell. If it is above the threshold, the high-light parameters are used. If it is below the threshold, the low-light parameters are used. If the light grid is not present, the low-light parameters are used.
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 clLogBiLevelGrowth::DoShellSetup | ( | xercesc::DOMDocument * | p_oDoc | ) | [virtual] |
Does the setup for this behavior.
This reads in the parameters from the parameter file, and retrieves the "Storm Light" grid if present.
p_oDoc | Parsed parameter file. |
modelErr | if:
|
Reimplemented from clGrowthBase.