#include <SelfThinning.h>
Inheritance diagram for clSelfThinMort:
Public Member Functions | |
clSelfThinMort (clSimManager *p_oSimManager) | |
Constructor. | |
~clSelfThinMort () | |
Destructor. | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Reads in values from the parameter file. | |
bool | DoMort (clTree *p_oTree, const float &fDiam, const short int &iSpecies) |
Calculates mortality according to the self-thinning function. | |
void | SetNameData (char *cNameString) |
Captures the behavior name passed from the parameter file. | |
Protected Attributes | |
float * | mp_fSelfThinSlope |
Slope of self-thinning function. | |
float * | mp_fSelfThinIntercept |
Intercept of self-thinning function. | |
float * | mp_fSelfThinMaxDbh |
Max DBH for self-thinning. | |
float | m_fNumberYearsPerTimestep |
Number years/timestep-from sim manager. | |
bool | m_bIsAdult |
If true - adult self-thinning - if false, juvenile. |
This evaluates self-thinning mortality, either adult or juvenile. The one that is done depends on which behavior name string is put in the parameter file - either "adultselfthin" or "juvselfthin". This controls which set of parameters is read in from the parameter file. The self-thinning is calculated the same way either way. There may be more than one object of this class running around.
If this is for adult self-thinning, a maximum dbh applies. This is not true of juvenile self-thinning, so be careful when writing the parameter file.
Despite the names, there is no restriction that says that adult self-thinning can be applied only to adults, or juvenile self-thinning can be applied only to juveniles.
This class's namestring is "selfthinmortshell".
Self-thinning mortality departs from our traditional modeling approach in that parameters are 'tuned' to site data for specific conditions such as highly dense, young spruce-aspen stands. Self-thinning is a pseudo-density dependent function that can overcomes the shortcoming of Sortie in killing small trees in highly dense uniform aged stands. This approach is applicable only in these specific conditions. It is a heuristic model that should be replaced with a generalized multi-species self-thinning model when the data become available.
Copyright 2003 Charles D. Canham.
clSelfThinMort::clSelfThinMort | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Sets the namestring and NULLs pointers.
p_oSimManager | Sim Manager object. |
clSelfThinMort::~clSelfThinMort | ( | ) |
Destructor.
Deletes arrays.
void clSelfThinMort::DoShellSetup | ( | xercesc::DOMDocument * | p_oDoc | ) | [virtual] |
Reads in values from the parameter file.
p_oDoc | DOM tree of parsed input file. |
Reimplemented from clMortalityBase.
bool clSelfThinMort::DoMort | ( | clTree * | p_oTree, | |
const float & | fDiam, | |||
const short int & | iSpecies | |||
) | [virtual] |
Calculates mortality according to the self-thinning function.
p_oTree | Tree being evaluated | |
fDiam | DBH of tree being evaluated - for seedlings will be 0 | |
iSpecies | Species of the tree being evaluated |
Implements clMortalityBase.
void clSelfThinMort::SetNameData | ( | char * | cNameString | ) | [virtual] |
Captures the behavior name passed from the parameter file.
This is useful since this class can produce a few different kinds of behaviors.
cNameString | Behavior name from parameter file. |
Reimplemented from clBehaviorBase.
float* clSelfThinMort::mp_fSelfThinMaxDbh [protected] |
Max DBH for self-thinning.
Adult only.
bool clSelfThinMort::m_bIsAdult [protected] |
If true - adult self-thinning - if false, juvenile.