|
SORTIE Core C++ Documentation
|
Increments height growth according to an equation originally developed for New Zealand seedling growth. More...
#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. | |
Public Member Functions inherited from clGrowthBase | |
| clGrowthBase (clSimManager *p_oSimManager) | |
| Constructor. | |
| virtual | ~clGrowthBase () |
| Destructor. | |
| void | Action () |
| Performs all growth calculations if "hooked". | |
| virtual float | CalcDiameterGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fHeightGrowth) |
| Calculates the amount of diameter growth increase for a particular tree, if applicable. | |
| virtual float | GetGrowthMemberValue (clTree *p_oTree, float fDiameterGrowth) |
| Calculates the value to go into a tree's "Growth" data member as the amount of growth. | |
| virtual void | PreGrowthCalcs (clTreePopulation *p_oPop) |
| Performs calculations before any DBHs have been changed. | |
| growthType | GetGrowthMethod () |
| Gets the method by which this behavior increments growth. | |
| clGrowthOrg * | GetGrowthOrg () |
| Get the growth org object. | |
Public Member Functions inherited from clBehaviorBase | |
| virtual float | GetBehaviorVersion () |
| Gets the behavior version number. | |
| clBehaviorBase (clSimManager *p_oSimManager) | |
| Constructor. | |
| virtual | ~clBehaviorBase () |
| Destructor. | |
| virtual short int | ValidateVersionNumber (float fTestVersion) |
| Makes sure that the version number of a file passed is between the minimum and current version numbers. | |
| virtual void | SetSpeciesTypeCombos (short int iNumCombos, stcSpeciesTypeCombo *p_whatCombos) |
| Sets the species/type combos for a behavior. | |
| virtual void | SetNameData (char *cNameString) |
| Sets the string for the parameter file behavior. | |
| virtual short int | GetNewTreeInts () |
| Gets the number of new tree integer data members this behavior wants to register. | |
| virtual short int | GetNewTreeFloats () |
| Gets the number of new tree float data members this behavior wants to register. | |
| virtual short int | GetNewTreeChars () |
| Gets the number of new tree character data members this behavior wants to register. | |
| virtual short int | GetNewTreeBools () |
| Gets the number of new tree bool data members this behavior wants to register. | |
| virtual short int | GetNumSpeciesTypeCombos () |
| Gets the number of species/type combos to which this behavior applies. | |
| virtual short int | GetNumBehaviorSpecies () |
| Gets the number of unique tree species to which this behavior applies. | |
| struct stcSpeciesTypeCombo | GetSpeciesTypeCombo (short int iIndex) |
| Gets one of this behavior's type/species combos. | |
| virtual short int | GetBehaviorSpecies (short int iIndex) |
| Gets one of the behavior's species. | |
| short int | GetBehaviorListNumber () |
| Gets the behavior list number for this behavior, which differentiates between multiple copies of the behavior in the behavior list. | |
| void | SetBehaviorListNumber (short int iNumber) |
| Sets the behavior list number for this behavior, which differentiates between multiple copies of the behavior in the behavior list. | |
| virtual DOMElement * | GetParentParametersElement (xercesc::DOMDocument *p_oDoc) |
| Formats the string for species/types query. | |
Public Member Functions inherited from clWorkerBase | |
| clWorkerBase (clSimManager *p_oSimManager) | |
| Constructor. | |
| virtual | ~clWorkerBase () |
| Destructor. | |
| char * | GetName () |
| Gets the object's namestring. | |
| void | DoObjectSetup (xercesc::DOMDocument *p_oDoc, fileType iFileType) |
| Triggers the setup process. | |
| virtual void | TimestepCleanup () |
| Performs any necessary cleanup operations at the end of a timestep. | |
| virtual void | EndOfRunCleanup () |
| Performs any necessary cleanup operations at the end of a run. | |
| virtual void | DoCommand (char *cCommand, char *cArguments) |
| If a behavior has registered a command line command with the sim manager, this allows it to be called. | |
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. | |
Protected Attributes inherited from clGrowthBase | |
| growthType | m_iGrowthMethod |
| The method by which this object plans to update tree dimensions. | |
| float | m_fConvertCmPerTSToMmPerYr |
| Conversion factor from cm diameter growth per timestep to mm radial growth per year. | |
| float | m_fConvertMmPerYearToCmPerTS |
| Conversion factor to take amounts from mm of radial growth per year to cm of diameter growth per timestep. | |
| bool | m_bHooked |
| Wwhether or not this shell object is hooked to clGrowthOrg. | |
| bool | m_bGoLast |
| Whether or not this behavior's growth should go last when used with a complementary growth behavior. | |
Protected Attributes inherited from clBehaviorBase | |
| short int | m_iNumSpeciesTypeCombos |
| How many type/species combos a behavior will act on. | |
| short int | m_iNumBehaviorSpecies |
| How many distinct species are in the combo list - important for filling species-specific values from parameter file. | |
| short int * | mp_iWhatSpecies |
| List of distinct species - for filling species-specific values from parameter file. | |
| stcSpeciesTypeCombo * | mp_whatSpeciesTypeCombos |
| Array of species/type combos that the behavior will act on. | |
| short int | m_iNewTreeInts |
| The number of new tree integer data members this behavior wants to add. | |
| short int | m_iNewTreeFloats |
| The number of new tree float data members this behavior wants to add. | |
| short int | m_iNewTreeChars |
| The number of new tree character data members this behavior wants to add. | |
| short int | m_iNewTreeBools |
| The number of new tree boolean data members this behavior wants to add. | |
| short int | m_iBehaviorListNumber |
| The number of this behavior in the behavior list, to differentiate between possible multiple copies of this behavior. | |
| float | m_fVersionNumber |
| Version number - this will be rounded to 2 digits after the decimal place. | |
| std::string | m_sXMLRoot |
| XML root that encloses the parameters for this behavior. | |
| float | m_fMinimumVersionNumber |
| Minimum version number - this behavior will run parameter data for a file marked between this number and the current version number, inclusive. | |
Protected Attributes inherited from clWorkerBase | |
| char | m_cNameString [MAX_NAMESTRING_SIZE] |
| Object's identifying namestring. | |
| int * | mp_iAllowedFileTypes |
| List of the input file types this object can handle. | |
| int | m_iNumAllowedTypes |
| Number of input file types this object can handle. | |
Additional Inherited Members | |
Public Types inherited from clGrowthBase | |
| enum | growthType { diameter_auto, diameter_only, height_only } |
| Values describing the method by which the object instance of this class plans to implement tree growth. More... | |
Protected Member Functions inherited from clGrowthBase | |
| void | GetData (xercesc::DOMDocument *p_oDoc) |
| Triggers all growth setup if an object is hooked. | |
Static Protected Attributes inherited from clGrowthBase | |
| static clGrowthOrg * | mp_oGrowthOrg |
| clGrowthOrg object - this pointer is held in common by all shells | |
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:
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 "MichaelisMentenNegativeGrowth height only". This creates a growth data member called "autocorr".
Copyright 2011 Charles D. Canham.
Edit history:
--------------—
October 20, 2011 - Wiped the slate clean for SORTIE 7.0 (LEM)
| clMichMenNegGrowth::clMichMenNegGrowth | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Sets the namestring.
| clMichMenNegGrowth::~clMichMenNegGrowth | ( | ) |
Destructor.
Frees memory.
|
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.
|
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.
|
virtual |
Registers the float data member and captures the return codes.
Reimplemented from clGrowthBase.
|
protected |
Conversion factor to translate the results of the function to the appropriate units per timestep.
|
protected |
alpha - sized number of behavior species
|
protected |
beta - sized number of behavior species
|
protected |
gamma - sized number of behavior species
|
protected |
phi - sized number of behavior species
|
protected |
one year probability of autocorrelation
|
protected |
standard deviation of growth stochasticity in cm/year
|
protected |
Return codes for the "autocorr" tree float data member variable.
Array of behavior species by type (even if not every type is represented).
|
protected |
To help access the other arrays.
1.8.2