clQuadratGLILight Class Reference

Quadrat GLI Light - Version 1.0. More...

#include <QuadratGLILight.h>

Inheritance diagram for clQuadratGLILight:

clGLIBase clLightBase clBehaviorBase clWorkerBase

List of all members.

Public Member Functions

 clQuadratGLILight (clSimManager *p_oSimManager)
 Constructor.
void DoShellSetup (xercesc::DOMDocument *p_oDoc)
 Reads some extra parameters from the parameter file.
float CalcLightValue (clTree *p_oTree, clTreePopulation *p_oPop)
 Provides a GLI value for a tree.
void TimestepCleanup ()
 Resets all the values in the grid to -1.
void Action ()
 Finishes the GLI calculations.

Protected Attributes

clGridBasemp_oQuadrats
 Grid object which holds the quadrat values.
float m_fLightHeight
 The height above the ground, in m, at which the quadrat light values are calculated.
float m_fMaxSearchRad
 The maximum distance, in m, to search for shading neighbors.
short int m_iGridGliCode
 Return code for the quadrats grid to get and set GLI in the cells.
bool m_bCalcAll
 Whether to always calculate all GLIs (true) or only calculate on an as-needed basis (false).

Friends

class clTestQuadratGLILight
 To ease testing of parameter setup.


Detailed Description

Quadrat GLI Light - Version 1.0.

This behavior uses a grid object to help it assign GLI values to the trees to which it is assigned. The grid cells are the quadrats, in this case; this is a throwback to old SORTIE terminology. Each grid cell in which there is a tree to which this behavior applies has a GLI value calculated at its center, at a height that the user specifies. All other trees to which this behavior applies that are in that same grid cell get that same GLI value. This behavior saves having to calculate a different GLI value for each tree.

The namestring is "quadratglilightshell". The parameter file call string is "quadratlight".

The sky brightness array used by this behavior is potentially identical to that for regular GLI light - class name clGliLight, namestring "glilightshell". Before committing to the calculation of a brightness array, this behavior will ask that behavior if it's already done it and this behavior can just copy. (The reverse could also happen.)

Copyright 2003 Charles D. Canham.

Author:
Lora E. Murphy

Edit history:
-----------------
April 28, 2004 - Submitted as beta (LEM)
February 14, 2008 - Added a flag to cause GLIs to always be calculated (LEM)

Constructor & Destructor Documentation

clQuadratGLILight::clQuadratGLILight ( clSimManager p_oSimManager  ) 

Constructor.

Sets the namestring.

Parameters:
p_oSimManager Sim Manager object.


Member Function Documentation

void clQuadratGLILight::DoShellSetup ( xercesc::DOMDocument *  p_oDoc  )  [virtual]

Reads some extra parameters from the parameter file.

If there's no "quadratGliLight" tag, then this will get what it needs from the "gliLight" tag. This must have number of azimuth angles and number of altitude angles. This will check to see if it can share the brightness array with clGliLight.

Parameters:
p_oDoc DOM tree of parsed input file.

Reimplemented from clLightBase.

float clQuadratGLILight::CalcLightValue ( clTree p_oTree,
clTreePopulation p_oPop 
) [virtual]

Provides a GLI value for a tree.

Parameters:
p_oTree Tree for which to get GLI.
p_oPop Tree population object.
Returns:
GLI as a percentage of full sun between 0 and 100. The GLI value is that calculated for the tree's quadrat.

Implements clLightBase.

void clQuadratGLILight::TimestepCleanup (  )  [virtual]

Resets all the values in the grid to -1.

Reimplemented from clWorkerBase.

void clQuadratGLILight::Action (  )  [virtual]

Finishes the GLI calculations.

This starts by calling the base class's version of Action. Then, if m_bCalcAll is true, this will calculate GLI for any cells that were missed.

Reimplemented from clLightBase.


Friends And Related Function Documentation

friend class clTestQuadratGLILight [friend]

To ease testing of parameter setup.


Member Data Documentation

Grid object which holds the quadrat values.

The grid cell resolution defaults to 2mX2m, and it has one float data member ("GLI") for holding GLI. The grid name is "Quadrat GLI".

A map in the parameter file can only set cell resolution; any values in the map will be ignored.

The height above the ground, in m, at which the quadrat light values are calculated.

Defaults to 0.675 m.

The maximum distance, in m, to search for shading neighbors.

short int clQuadratGLILight::m_iGridGliCode [protected]

Return code for the quadrats grid to get and set GLI in the cells.

Whether to always calculate all GLIs (true) or only calculate on an as-needed basis (false).


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

Generated on Tue Apr 19 13:56:15 2011 for SORTIE Core C++ Documentation by  doxygen 1.5.6