clDensitySeedSurvival Class Reference

Density-Dependent Seed Survival - version 2.0. More...

#include <DensitySeedSurvival.h>

Inheritance diagram for clDensitySeedSurvival:

clBehaviorBase clWorkerBase

List of all members.

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

clGridBasemp_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.


Detailed Description

Density-Dependent Seed Survival - version 2.0.

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:

Rsp = Ssp*exp(-c*Denspδ)

where:

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.

Author:
Lora E. Murphy

Edit history:
-----------------
April 12, 2005 - Created (LEM)
November 15, 2006 - Fixed parameters to be area-independent and made sure that single seeds always survive (LEM)
January 12, 2010 - Added the option of conspecific trees and made version 2.0 (LEM)

Constructor & Destructor Documentation

clDensitySeedSurvival::clDensitySeedSurvival ( clSimManager p_oSimManager  ) 

Constructor.

Parameters:
p_oSimManager Sim Manager object.

clDensitySeedSurvival::~clDensitySeedSurvival (  ) 

Destructor.


Member Function Documentation

void clDensitySeedSurvival::GetData ( xercesc::DOMDocument *  p_oDoc  )  [virtual]

Reads in values from the parameter file.

Parameters:
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.

Parameters:
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.


Member Data Documentation

Pointer to the "Dispersed Seeds" grid created by disperse behaviors.

Density-dependence steepness parameter.

Array size is total number of species.

Density-dependence slope parameter.

Array size is total number of species.

Minimum height for neighbor trees.

Only used if m_bSeeds = FALSE. Array size is total number of species.

Data member codes for seed grid for number of seeds.

Array size is # total species.

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.

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.

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.

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.

Radius, in meters, for which to search for conspecific trees, starting at the center of a grid cell.

Only used if m_bSeeds = FALSE.

If true, we are using the density of conspecific seeds; if false, we are using conspecific trees.


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