clIsotropicDisperse Class Reference

Isotropic spatial dispersal - Version 1.0. More...

#include <IsotropicDisperse.h>

Inheritance diagram for clIsotropicDisperse:

clGridBasedSpatialDisperse clDisperseBase clBehaviorBase clWorkerBase

List of all members.

Public Member Functions

 clIsotropicDisperse (clSimManager *p_oSimManager)
 Constructor.
 ~clIsotropicDisperse ()
 Destructor.

Protected Member Functions

float GetFunctionValue (float &fCellX, float &fCellY, float &fTreeX, float &fTreeY, int &iSpecies)
 Gets the value in the mp_fProb array corresponding to the distance between the two points.
void DoChildSetup (xercesc::DOMDocument *p_oDoc)
 Performs additional setup by declaring the mp_fProb array and populating its values with CalculateProbs().
void CalculateProbs ()
 Calculates the normalized probability array for each species.
float CalculateNormalizer (int iSpecies)
 Calculates the normalizer term.

Protected Attributes

float ** mp_fProb
 Normalized probability array for each species.
int m_iMaxSearchRadius
 Integer version of max search radius - rounded up to next integer - for sizing mp_fProb array.


Detailed Description

Isotropic spatial dispersal - Version 1.0.

This behavior creates and disperses seeds according to the spatially-explicit model. For each grid cell, the number of seeds is calculated based on the size and distance of parents of that species. The seed distribution is isotropic (meaning that seeds disperse evenly in all directions). The distribution of seedlings is controlled by either a weibull or lognormal probability distribution function.

The "seeds" are actually tallies by species in a grid. This behavior does not produce any seedlings. A separate recruitment behavior must "germinate" the seeds into seedlings according to its own rules.

To call this in the parameter file, use "isotropic disperse". The namestring for this class is "isotropic disperse".

Copyright 2003 Charles D. Canham.

Author:
Lora E. Murphy

Edit history:
-----------------
April 28, 2004 - Submitted as beta (LEM)

Constructor & Destructor Documentation

clIsotropicDisperse::clIsotropicDisperse ( clSimManager p_oSimManager  ) 

Constructor.

Parameters:
p_oSimManager Sim Manager object.

clIsotropicDisperse::~clIsotropicDisperse (  ) 

Destructor.


Member Function Documentation

float clIsotropicDisperse::GetFunctionValue ( float &  fCellX,
float &  fCellY,
float &  fTreeX,
float &  fTreeY,
int &  iSpecies 
) [protected, virtual]

Gets the value in the mp_fProb array corresponding to the distance between the two points.

If the value is beyond the max search radius (and thus beyond the array) 0 is returned. The distance is RandomRound()ed to an integer to get a value from the array.

Parameters:
fCellX X coordinate of point at center of grid cell into which seeds are being dispersed.
fCellY Y coordinate of point at center of grid cell into which seeds are being dispersed.
fTreeX X coordinate of neighbor parent tree.
fTreeY Y coordinate of neighbor parent tree.
iSpecies Species of neighbor parent tree.
Returns:
Function value.

Implements clGridBasedSpatialDisperse.

void clIsotropicDisperse::DoChildSetup ( xercesc::DOMDocument *  p_oDoc  )  [protected, virtual]

Performs additional setup by declaring the mp_fProb array and populating its values with CalculateProbs().

Reimplemented from clGridBasedSpatialDisperse.

void clIsotropicDisperse::CalculateProbs (  )  [protected]

Calculates the normalized probability array for each species.

This is not a cumulative probability array - just the value of the exponential of either the weibull or lognormal function divided by the normalizer. This normalizer is the sum of all values of the function out to the maximum dimension of the grid, with a max of 1000.

float clIsotropicDisperse::CalculateNormalizer ( int  iSpecies  )  [protected]

Calculates the normalizer term.

It is calculated in increments of 0.25 m2 and then divided by 4 to restore it to units of m2.

Parameters:
iSpecies Species for which to calculate normalizer.


Member Data Documentation

float** clIsotropicDisperse::mp_fProb [protected]

Normalized probability array for each species.

Array size is # species by max search radius. These values are calculated in CalculateProbs().

Integer version of max search radius - rounded up to next integer - for sizing mp_fProb array.


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

Generated on Wed Oct 28 13:58:46 2009 for SORTIE Core C++ Documentation by  doxygen 1.5.6