clDensitySelfThinning Class Reference

Density Self Thinning - Version 1.0. More...

#include <DensitySelfThinning.h>

Inheritance diagram for clDensitySelfThinning:

clMortalityBase clBehaviorBase clWorkerBase

List of all members.

Public Member Functions

 clDensitySelfThinning (clSimManager *p_oSimManager)
 Constructor.
 ~clDensitySelfThinning ()
 Destructor.
void DoShellSetup (xercesc::DOMDocument *p_oDoc)
 Reads in values from the parameter file and makes sure all data needed is collected.
void CalculateNeighborhoodTreeCountAndMeanDiam10 (clTree *p_oTree, float *p_fTreeCount, float *p_fMeanDiam10)
 Calculates the number of neighborhood trees and their mean Diam10.
deadCode DoMort (clTree *p_oTree, const float &fDbh, const short int &iSpecies)
 Calculates mortality according to the DensitySelfThinning equation.

Protected Attributes

float m_fNumberYearsPerTimestep
 Number of years per timestep.
float * mp_fSelfThinRadius
 Radius that defines the neighborhood size (meters).
float * mp_fMinDensityForMort
 Minimum neighborhood density subject to mortality (trees/ha).
float * mp_fSelfThinAsymptote
 Asymptote parameter.
float * mp_fSelfThinDiamEffect
 Diameter effect parameter.
float * mp_fSelfThinDensityEffect
 Density effect parameter.
short int * mp_iIndexes
 Speeds access to the arrays.


Detailed Description

Density Self Thinning - Version 1.0.

This behavior evaluates seedling and sapling mortality according to the density and mean diam10 of a tree's neigborhood.

This class's namestring is "densityselfthinningmortshell".

This class's parameter file call string is "densityselfthinning".

Note (LEM): this behavior requires a 1-year timestep. There is no programmatic reason for this; this is what Rasmus wanted, as author, because he believes using this behavior with a multi-year timestep is not smart scientifically.

Copyright 2003 Charles D. Canham.

Authors:
Rasmus Astrup, Marissa LeBlanc

Edit history:
-----------------
March 14, 2005 - Submitted as beta (RA)
February 8, 2008 - Changed mortality flags from simple booleans to reason codes (LEM)

Constructor & Destructor Documentation

clDensitySelfThinning::clDensitySelfThinning ( clSimManager p_oSimManager  ) 

Constructor.

Sets the namestring.

clDensitySelfThinning::~clDensitySelfThinning (  ) 

Destructor.


Member Function Documentation

void clDensitySelfThinning::DoShellSetup ( xercesc::DOMDocument *  p_oDoc  )  [virtual]

Reads in values from the parameter file and makes sure all data needed is collected.

Parameters:
p_oDoc Parsed DOM tree of parameter file.
Exceptions:
modelErr if:
  • The timestep length is greater than 1.
  • The neighborhood radius is not greater than 0.
  • The minimum density for mortality is less than 0.
  • The self-thinning asymptote is not greater than 0.
  • The density effect is not greater than 0.

Reimplemented from clMortalityBase.

void clDensitySelfThinning::CalculateNeighborhoodTreeCountAndMeanDiam10 ( clTree p_oTree,
float *  p_fTreeCount,
float *  p_fMeanDiam10 
)

Calculates the number of neighborhood trees and their mean Diam10.

Parameters:
p_oTree Tree being evaluated.
p_fTreeCount Variable into which to place the number of neighborhood trees.
p_fMeanDiam10 Variable into which to place the mean diam10 of the neighborhood trees.

deadCode clDensitySelfThinning::DoMort ( clTree p_oTree,
const float &  fDbh,
const short int &  iSpecies 
) [virtual]

Calculates mortality according to the DensitySelfThinning equation.

Parameters:
p_oTree Tree being evaluated.
fDbh DBH of tree being evaluated.
iSpecies Species of the tree being evaluated.
Returns:
natural if the tree is to die, notdead if it lives.

Implements clMortalityBase.


Member Data Documentation

Number of years per timestep.

Radius that defines the neighborhood size (meters).

Minimum neighborhood density subject to mortality (trees/ha).

Asymptote parameter.

Diameter effect parameter.

Density effect parameter.

short int* clDensitySelfThinning::mp_iIndexes [protected]

Speeds access to the arrays.


The documentation for this class was generated from the following file:

Generated on Tue Apr 19 13:56:08 2011 for SORTIE Core C++ Documentation by  doxygen 1.5.6