#include <GrowthHeightIncrementer.h>
Inheritance diagram for clGrowthHeightIncrementer:
Public Member Functions | |
clGrowthHeightIncrementer (clSimManager *p_oSimManager) | |
Constructor. | |
float | CalcHeightGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fDiameterGrowth) |
Calculates the amount of height growth increase for a particular tree. | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Does the setup for this behavior. | |
Protected Attributes | |
clAllometry * | mp_oAllom |
Pointer to the allometry object. |
The amount of height increment is found by:
If the tree type is seedling, DIAM is diameter at 10 cm. Otherwise, it's DBH. When calculating the height increment, the same allometric equation is used for both, even if the tree would be making a type transition. For example, if the tree is a seedling and the amount of diameter growth is enough to make it into a sapling, the seedling diam10-height relationship is still used for both values.
This behavior cannot be used to calculate a diameter growth increment.
The namestring for this behavior is "height incrementer growthshell". The parameter file call string is "height incrementer".
Copyright 2003 Charles D. Canham.
clGrowthHeightIncrementer::clGrowthHeightIncrementer | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Sets the namestring.
float clGrowthHeightIncrementer::CalcHeightGrowthValue | ( | clTree * | p_oTree, | |
clTreePopulation * | p_oPop, | |||
float | fDiameterGrowth | |||
) | [virtual] |
Calculates the amount of height growth increase for a particular tree.
The height increment is calculated as the normal allometric height of the DBH before diameter growth is applied minus the normal allometric height of the DBH after diameter growth is applied.
If the tree is a seedling, the diam10 before and after the growth increment is used in the seedling diam10-height allometric equation. If the tree is a sapling, the diam10 before and after the growth increment is converted to a DBH value and that value is used in the sapling DBH-height allometric equation. If the tree is an adult, then DBH before and after the growth increment is used in the adult DBH-height allometric equation.
This doesn't need to compound height by timestep length, since diameter should already take that into account.
p_oTree | Tree for which to calculate growth. | |
p_oPop | Tree population object, just in case it's needed. | |
fDiameterGrowth | Amount of diameter growth for this tree, in cm. |
Reimplemented from clGrowthBase.
void clGrowthHeightIncrementer::DoShellSetup | ( | xercesc::DOMDocument * | p_oDoc | ) | [virtual] |
Does the setup for this behavior.
This queries the tree population for a pointer to the allometry object.
Reimplemented from clGrowthBase.