SORTIE Core C++ Documentation
Public Member Functions | Protected Attributes | List of all members
clNCITermNCIBARatio Class Reference

This calculates NCI for a tree according to the function: More...

#include <NCITermNCIBARatio.h>

Inheritance diagram for clNCITermNCIBARatio:
clNCITermBase clNCITermNCITempDepBARatio

Public Member Functions

 clNCITermNCIBARatio (bool bUseDefaultBA)
 Constructor.
 
 ~clNCITermNCIBARatio ()
 Destructor.
 
ncivals CalculateNCITerm (clTree *p_oTree, clTreePopulation *p_oPop, clPlot *p_oPlot, const float &fX, const float &fY, const int &iSpecies)
 Calculates NCI according to above equation.
 
void DoSetup (clTreePopulation *p_oPop, clBehaviorBase *p_oNCI, xercesc::DOMElement *p_oElement)
 Does setup.
 
- Public Member Functions inherited from clNCITermBase
 clNCITermBase ()
 Constructor.
 
int GetNumberNCIs ()
 
virtual void PreCalcs (clTreePopulation *p_oPop)
 Performs calculations like either clGrowthBase::PreGrowthCalcs or clMortalityBase::PreMortCalcs.
 
virtual ~clNCITermBase ()
 Destructor.
 
bool DoesRequireTargetDiam ()
 

Protected Attributes

clPlotmp_oPlot
 Pointer to the plot object, so we can get the temperature.
 
float ** mp_fLambda
 Lambas.
 
float * mp_fAlpha
 Neighbor DBH effect.
 
float * mp_fBeta
 Neighbor distance effect.
 
float * mp_fMinimumNeighborDBH
 The minimum DBH, in cm, of neighbors to be included in NCI calculations.
 
short int * mp_iWhatSpecies
 List of distinct species.
 
float m_fMaxCrowdingRadius
 Maximum search radius, in meters, in which to look for neighbors.
 
float m_fMaxAdultRadius
 Maximum search radius, in meters, in which to look for crowding adult neighbors.
 
float m_fMaxSaplingRadius
 Maximum search radius, in meters, in which to look for crowding sapling neighbors.
 
float m_fDbhAdjustor
 The units adjustment factor for DBH in NCI.
 
float m_fMinSaplingHeight
 Minimum sapling height.
 
float m_fDefaultBA
 Basal area for default size, if m_bUseDefaultBA = true.
 
int m_iNumBehaviorSpecies
 Number of behavior species.
 
int m_iNumTotalSpecies
 Number of total species.
 
bool m_bUseDefaultBA
 Whether or not to use a default BA, as with quadrat calcs.
 
- Protected Attributes inherited from clNCITermBase
bool bRequiresTargetDiam
 Whether or not this effect depends on a target diameter being available.
 
int iNumNCIs
 Number of NCI values calculated and populated into ncivals.
 

Detailed Description

This calculates NCI for a tree according to the function:

NCIi = Σ λk((DBHk*q)α/distanceβ)
where:

NCI ignores neighbors with disturbance and harvest death codes. Natural deaths are NOT ignored, because it presumes that those deaths occurred in the current timestep and they should still be considered as live neighbors.

This returns two terms: term #1 is the ratio of mean basal area of neighbors to target basal area; term #2 is the NCI.

This behavior uses two different distances to look for neighbors. One is for saplings, and one is for adults.

Constructor & Destructor Documentation

clNCITermNCIBARatio::clNCITermNCIBARatio ( bool  bUseDefaultBA)

Constructor.

clNCITermNCIBARatio::~clNCITermNCIBARatio ( )

Destructor.

Member Function Documentation

ncivals clNCITermNCIBARatio::CalculateNCITerm ( clTree p_oTree,
clTreePopulation p_oPop,
clPlot p_oPlot,
const float &  fX,
const float &  fY,
const int &  iSpecies 
)
virtual

Calculates NCI according to above equation.

Parameters
p_oTreeTree for which to calculate NCI.
p_oPopTree population.
p_oPlotPlot object.
fXX coordinate for which to calculate NCI.
fYY coordinate for which to calculate NCI.
iSpeciesSpecies for which to calculate NCI.

Implements clNCITermBase.

void clNCITermNCIBARatio::DoSetup ( clTreePopulation p_oPop,
clBehaviorBase p_oNCI,
xercesc::DOMElement *  p_oElement 
)
virtual

Does setup.

Parameters
p_oPopTree population.
p_oNCINCI behavior object.
p_oElementRoot element of the behavior.
Exceptions
ModelExceptionif the max radius of neighbor effects is < 0, or if DBH divisor is <= 0.

Implements clNCITermBase.

Reimplemented in clNCITermNCITempDepBARatio.

Member Data Documentation

bool clNCITermNCIBARatio::m_bUseDefaultBA
protected

Whether or not to use a default BA, as with quadrat calcs.

float clNCITermNCIBARatio::m_fDbhAdjustor
protected

The units adjustment factor for DBH in NCI.

q in the NCI equation above. May be set to 1.

float clNCITermNCIBARatio::m_fDefaultBA
protected

Basal area for default size, if m_bUseDefaultBA = true.

float clNCITermNCIBARatio::m_fMaxAdultRadius
protected

Maximum search radius, in meters, in which to look for crowding adult neighbors.

float clNCITermNCIBARatio::m_fMaxCrowdingRadius
protected

Maximum search radius, in meters, in which to look for neighbors.

float clNCITermNCIBARatio::m_fMaxSaplingRadius
protected

Maximum search radius, in meters, in which to look for crowding sapling neighbors.

float clNCITermNCIBARatio::m_fMinSaplingHeight
protected

Minimum sapling height.

For doing neighbor searches.

int clNCITermNCIBARatio::m_iNumBehaviorSpecies
protected

Number of behavior species.

int clNCITermNCIBARatio::m_iNumTotalSpecies
protected

Number of total species.

For the destructor.

float* clNCITermNCIBARatio::mp_fAlpha
protected

Neighbor DBH effect.

α variable in equation above. Array sized number of species.

float* clNCITermNCIBARatio::mp_fBeta
protected

Neighbor distance effect.

β variable in equation above. Array sized number of species.

float** clNCITermNCIBARatio::mp_fLambda
protected

Lambas.

Array sized number of total species by number of total species.

float* clNCITermNCIBARatio::mp_fMinimumNeighborDBH
protected

The minimum DBH, in cm, of neighbors to be included in NCI calculations.

Array assumed to be sized total number of species.

short int* clNCITermNCIBARatio::mp_iWhatSpecies
protected

List of distinct species.

clPlot* clNCITermNCIBARatio::mp_oPlot
protected

Pointer to the plot object, so we can get the temperature.


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