#include <DensitySeedSurvival.h>
Public Member Functions | |
clDensitySeedSurvival (clSimManager *p_oSimManager) | |
Constructor. | |
~clDensitySeedSurvival () | |
Destructor. | |
void | GetData (xercesc::DOMDocument *p_oDoc) |
Reads in values from the parameter file. | |
void | SetNameData (char *cNameString) |
Captures the namestring passed to this behavior. | |
void | Action () |
Performs density-dependent seed survival by calling either ActionUseSeeds or ActionUseTrees. | |
Protected Member Functions | |
void | ActionUseSeeds () |
Performs density-dependent seed survival when m_bSeeds = TRUE. | |
void | ActionUseTrees () |
Performs density-dependent seed survival when m_bSeeds = FALSE. | |
Protected Attributes | |
clGridBase * | mp_oSeedGrid |
Pointer to the "Dispersed Seeds" grid created by disperse behaviors. | |
float * | mp_fDensDepSteepness |
Density-dependence steepness parameter. | |
float * | mp_fDensDepSlope |
Density-dependence slope parameter. | |
float * | mp_fMinHeight |
Minimum height for neighbor trees. | |
short int * | mp_iSeedGridCode |
Data member codes for seed grid for number of seeds. | |
float | m_fNormalSearchArea |
Area normally searched. | |
float | m_fXEdgeCellArea |
Area of the last row of "Dispersed Seeds" grid cells in the X direction, in square meters. | |
float | m_fYEdgeCellArea |
Area of the last row of "Dispersed Seeds" grid cells in the Y direction, in square meters. | |
float | m_fXYEdgeCellArea |
Area of the last cell of "Dispersed Seeds" grid cell in both the X and Y direction, in square meters. | |
float | m_fSearchRadius |
Radius, in meters, for which to search for conspecific trees, starting at the center of a grid cell. | |
bool | m_bSeeds |
If true, we are using the density of conspecific seeds; if false, we are using conspecific trees. |
This behavior reduces the number of seeds due to conspecific density-dependent effects. The "density" in question can be either other seeds, or trees in the neighborhood.
The number of seeds this behavior leaves of a given species in a particular "Dispersed Seeds" grid cell is:
Single seeds always survive, if using seeds-only density dependence.
A fatal error is thrown if a disperse behavior is not also defined for the run.
This class's namestring is "Density Dependent Seed Survival". In the case of conspecific seed density, the parameter file call string is also "Density Dependent Seed Survival"; in the case of conspecific tree neighbors, it's "Conspecific Tree Density Dependent Seed Survival".
Copyright 2005 Charles D. Canham.
clDensitySeedSurvival::clDensitySeedSurvival | ( | clSimManager * | p_oSimManager | ) |
Constructor.
p_oSimManager | Sim Manager object. |
clDensitySeedSurvival::~clDensitySeedSurvival | ( | ) |
Destructor.
void clDensitySeedSurvival::GetData | ( | xercesc::DOMDocument * | p_oDoc | ) | [virtual] |
Reads in values from the parameter file.
p_oDoc | DOM tree of parsed input file. |
Implements clWorkerBase.
void clDensitySeedSurvival::SetNameData | ( | char * | cNameString | ) | [virtual] |
Captures the namestring passed to this behavior.
This is overridden from clBehaviorBase so we can capture the namestring passed. Since this class can create multiple kinds of behaviors that function differently, this will capture what kind of behavior this is supposed to be.
cNameString | Behavior's namestring. |
Reimplemented from clBehaviorBase.
void clDensitySeedSurvival::Action | ( | ) | [virtual] |
Performs density-dependent seed survival by calling either ActionUseSeeds or ActionUseTrees.
Reimplemented from clBehaviorBase.
void clDensitySeedSurvival::ActionUseSeeds | ( | ) | [protected] |
Performs density-dependent seed survival when m_bSeeds = TRUE.
For each grid cell in the seed grid, for each species to which this behavior applies, the number of seeds left is calculated by assessing the equation above. A random round is used to take care of fractional parts of seeds.
void clDensitySeedSurvival::ActionUseTrees | ( | ) | [protected] |
Performs density-dependent seed survival when m_bSeeds = FALSE.
clGridBase* clDensitySeedSurvival::mp_oSeedGrid [protected] |
Pointer to the "Dispersed Seeds" grid created by disperse behaviors.
float* clDensitySeedSurvival::mp_fDensDepSteepness [protected] |
Density-dependence steepness parameter.
Array size is total number of species.
float* clDensitySeedSurvival::mp_fDensDepSlope [protected] |
Density-dependence slope parameter.
Array size is total number of species.
float* clDensitySeedSurvival::mp_fMinHeight [protected] |
Minimum height for neighbor trees.
Only used if m_bSeeds = FALSE. Array size is total number of species.
short int* clDensitySeedSurvival::mp_iSeedGridCode [protected] |
Data member codes for seed grid for number of seeds.
Array size is # total species.
float clDensitySeedSurvival::m_fNormalSearchArea [protected] |
Area normally searched.
If m_bSeeds = TRUE, this is the area of interior cells of the "Dispersed Seeds" grid, in square meters. If m_bSeeds = FALSE, this is the area of the circle with radius m_fSearchRadius.
float clDensitySeedSurvival::m_fXEdgeCellArea [protected] |
Area of the last row of "Dispersed Seeds" grid cells in the X direction, in square meters.
This allows for grid cells that don't divide evenly into plot lengths. Only used if m_bSeeds = TRUE.
float clDensitySeedSurvival::m_fYEdgeCellArea [protected] |
Area of the last row of "Dispersed Seeds" grid cells in the Y direction, in square meters.
This allows for grid cells that don't divide evenly into plot lengths. Only used if m_bSeeds = TRUE.
float clDensitySeedSurvival::m_fXYEdgeCellArea [protected] |
Area of the last cell of "Dispersed Seeds" grid cell in both the X and Y direction, in square meters.
This allows for grid cells that don't divide evenly into plot lengths. Only used if m_bSeeds = TRUE.
float clDensitySeedSurvival::m_fSearchRadius [protected] |
Radius, in meters, for which to search for conspecific trees, starting at the center of a grid cell.
Only used if m_bSeeds = FALSE.
bool clDensitySeedSurvival::m_bSeeds [protected] |
If true, we are using the density of conspecific seeds; if false, we are using conspecific trees.