#include <NCIMort.h>
Inheritance diagram for clNCIMort:
Public Member Functions | |
clNCIMort (clSimManager *p_oSimManager) | |
Constructor. | |
~clNCIMort () | |
Destructor. | |
bool | DoMort (clTree *p_oTree, const float &fDbh, const short int &iSpecies) |
Determines mortality for a tree. | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Performs behavior setup. | |
void | PreMortCalcs (clTreePopulation *p_oPop) |
Performs calculations before any trees have been killed. | |
void | RegisterTreeDataMembers () |
Registers the "NCI Mort" boolean tree data member, then calls this function for clMortalityBase. | |
short int | GetNewTreeBools () |
Indicates registration of one additional bool tree data member above and beyond "dead". | |
Protected Member Functions | |
void | ValidateData () |
Makes sure all input data is valid. | |
void | ReadParameterFile (xercesc::DOMDocument *p_oDoc) |
Reads data from the parameter file. | |
void | GetTreeMemberCodes () |
Gets the return codes for needed tree data members. | |
void | FormatQuery () |
Populates m_cQuery with the query for getting NCI trees. | |
Protected Attributes | |
float | m_fNumberYearsPerTimestep |
Number of years per timestep. | |
short int ** | mp_iNCIMortCodes |
Codes for the "NCI Mort" bool data member that this behavior is adding. | |
char * | m_cQuery |
Query string to get NCI trees. |
This is a mortality shell object which applies an NCI (neighborhood competition index) function to assess probability of survival.
The function for annual survival probability:
All NCI calculations are performed according to clNCIBase.
The annual survival probability is compounded for multi-year timesteps by taking it to the X power, where X is the number of years per timestep.
This is a generic behavior. It is expected that not all terms in the equation will be used. A user can turn off some of the terms by setting key parameters to 0 or 1. To be efficient, this behavior looks for this and has several alternate function forms to avoid extra math. It calls the correct function form through function pointers, which it sets during setup.
The namestring for this class is "ncimortshell". The parameter file call string is "NCI Mortality".
This behavior adds a new boolean data member called "NCI Mort". This holds the result of the mortality calculation that happens before the main mortality process. This is so neighbors that die this timestep aren't artificially excluded from the NCI calculation.
This behavior can only be applied to saplings and adults.
If the user is using damage parameters, this behavior must be used in conjunction with the storm damage behavior. If the user is using shading, then this must be used in conjunction with a light behavior.
Copyright 2003 Charles D. Canham.
|
Constructor.
|
|
Destructor. Frees memory. |
|
Determines mortality for a tree. This just returns the value in the "NCI Mort" bool tree data member.
Implements clMortalityBase. |
|
Performs behavior setup. First, ReadParameterFile() is called to read the parameter file's data. Then ValidateData() is called to validate the data. Then GetTreeMemberCodes() is called to get tree data return codes.
Reimplemented from clMortalityBase. |
|
Indicates registration of one additional bool tree data member above and beyond "dead". This calles the version in clMortalityBase and then adds 1 to the result.
Reimplemented from clMortalityBase. |
|
Gets the return codes for needed tree data members. This declares and populates the mp_iDamageCodes array with the return codes for the "stm_dmg" tree int data member, and does the same for the mp_iLightCodes array and the "Light" tree float data member for any species which uses the shading effect (shading coefficient != 0).
|
|
Performs calculations before any trees have been killed. This finds all trees to which this behavior applies and performs their NCI calculations. Then, having done all that work, this function goes ahead and assesses the tree's mortality. Whether it lives or dies is then stashed in the "NCI Mort" bool tree data member. Reimplemented from clMortalityBase. |
|
Reads data from the parameter file.
|
|
Makes sure all input data is valid. The following must all be true:
|
|
Number of years per timestep. From sim manager |
|
Codes for the "NCI Mort" bool data member that this behavior is adding. Array size is number of species to which this behavior applies by 2 (saplings and adults). |