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. More...
 
 ~clNCITermNCIBARatio ()
 Destructor. More...
 
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. More...
 
void DoSetup (clTreePopulation *p_oPop, clBehaviorBase *p_oNCI, xercesc::DOMElement *p_oElement)
 Does setup. More...
 
- Public Member Functions inherited from clNCITermBase
 clNCITermBase ()
 Constructor. More...
 
int GetNumberNCIs ()
 
virtual void PreCalcs (clTreePopulation *p_oPop)
 Performs calculations like either clGrowthBase::PreGrowthCalcs or clMortalityBase::PreMortCalcs. More...
 
virtual ~clNCITermBase ()
 Destructor. More...
 
bool DoesRequireTargetDiam ()
 

Protected Attributes

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

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::clNCITermNCIBARatio ( bool  bUseDefaultBA)

Constructor.

◆ ~clNCITermNCIBARatio()

clNCITermNCIBARatio::~clNCITermNCIBARatio ( )

Destructor.

Member Function Documentation

◆ CalculateNCITerm()

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.

◆ DoSetup()

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

◆ m_bUseDefaultBA

bool clNCITermNCIBARatio::m_bUseDefaultBA
protected

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

◆ m_fDbhAdjustor

double clNCITermNCIBARatio::m_fDbhAdjustor
protected

The units adjustment factor for DBH in NCI.

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

◆ m_fDefaultBA

double clNCITermNCIBARatio::m_fDefaultBA
protected

Basal area for default size, if m_bUseDefaultBA = true.

◆ m_fMaxAdultRadius

double clNCITermNCIBARatio::m_fMaxAdultRadius
protected

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

◆ m_fMaxCrowdingRadius

double clNCITermNCIBARatio::m_fMaxCrowdingRadius
protected

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

◆ m_fMaxSaplingRadius

double clNCITermNCIBARatio::m_fMaxSaplingRadius
protected

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

◆ m_fMinSaplingHeight

float clNCITermNCIBARatio::m_fMinSaplingHeight
protected

Minimum sapling height.

For doing neighbor searches.

◆ m_iNumBehaviorSpecies

int clNCITermNCIBARatio::m_iNumBehaviorSpecies
protected

Number of behavior species.

◆ m_iNumTotalSpecies

int clNCITermNCIBARatio::m_iNumTotalSpecies
protected

Number of total species.

For the destructor.

◆ mp_fAlpha

double* clNCITermNCIBARatio::mp_fAlpha
protected

Neighbor DBH effect.

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

◆ mp_fBeta

double* clNCITermNCIBARatio::mp_fBeta
protected

Neighbor distance effect.

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

◆ mp_fLambda

double** clNCITermNCIBARatio::mp_fLambda
protected

Lambas.

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

◆ mp_fMinimumNeighborDBH

double* 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.

◆ mp_iWhatSpecies

short int* clNCITermNCIBARatio::mp_iWhatSpecies
protected

List of distinct species.

◆ mp_oPlot

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: