GCBM
|
#include <peatlandgrowthmodule.h>
Public Member Functions | |
PeatlandGrowthModule () | |
virtual | ~PeatlandGrowthModule ()=default |
void | configure (const DynamicObject &config) override |
void | subscribe (NotificationCenter ¬ificationCenter) override |
void | doLocalDomainInit () override |
void | doTimingInit () override |
void | doTimingStep () override |
Public Member Functions inherited from CBMModuleBase | |
virtual | ~CBMModuleBase ()=default |
void | onSystemInit () override |
void | onSystemShutdown () override |
void | onLocalDomainInit () override |
void | onLocalDomainShutdown () override |
void | onLocalDomainProcessingUnitInit () override |
void | onLocalDomainProcessingUnitShutdown () override |
void | onPreTimingSequence () override |
void | onTimingInit () override |
void | onTimingPrePostInit () override |
void | onTimingPostInit () override |
void | onTimingPostInit2 () override |
void | onTimingShutdown () override |
void | onTimingStep () override |
void | onTimingPreEndStep () override |
void | onTimingEndStep () override |
void | onTimingPostStep () override |
void | onOutputStep () override |
void | onPrePostDisturbanceEvent () override |
void | onPostDisturbanceEvent () override |
void | onPostDisturbanceEvent2 () override |
void | onError (std::string msg) override |
void | onDisturbanceEvent (DynamicVar e) override |
void | onPostNotification (short preMessageSignal) override |
virtual void | doSystemInit () |
virtual void | doSystemShutdown () |
virtual void | doLocalDomainShutdown () |
virtual void | doLocalDomainProcessingUnitInit () |
virtual void | doLocalDomainProcessingUnitShutdown () |
virtual void | doPreTimingSequence () |
virtual void | doTimingPrePostInit () |
virtual void | doTimingPostInit () |
virtual void | doTimingPostInit2 () |
virtual void | doTimingShutdown () |
virtual void | doTimingPreEndStep () |
virtual void | doTimingEndStep () |
virtual void | doTimingPostStep () |
virtual void | doOutputStep () |
virtual void | doError (std::string msg) |
virtual void | doDisturbanceEvent (DynamicVar) |
virtual void | doPrePostDisturbanceEvent () |
virtual void | doPostDisturbanceEvent () |
virtual void | doPostDisturbanceEvent2 () |
virtual void | doPostNotification (short preMessageSignal) |
Private Member Functions | |
void | updateParameters () |
Private Attributes | |
const flint::IPool * | _atmosphere |
const flint::IPool * | _woodyFoliageLive |
const flint::IPool * | _woodyStemsBranchesLive |
const flint::IPool * | _woodyRootsLive |
const flint::IPool * | _sedgeFoliageLive |
const flint::IPool * | _sedgeRootsLive |
const flint::IPool * | _featherMossLive |
const flint::IPool * | _sphagnumMossLive |
flint::IVariable * | _regenDelay |
flint::IVariable * | _spinupMossOnly |
flint::IVariable * | _shrubAge |
std::shared_ptr< PeatlandGrowthParameters > | growthParas |
std::shared_ptr< PeatlandTurnoverParameters > | turnoverParas |
std::shared_ptr< PeatlandGrowthcurve > | growthCurve |
bool | _runPeatland { false } |
int | _peatlandId { -1 } |
|
virtualdefault |
|
override |
Configuration function
config | DynamicObject& |
|
overridevirtual |
Initialise pools PeatlandGrowthModule._atmosphere, PeatlandGrowthModule._woodyFoliageLive,
PeatlandGrowthModule._woodyStemsBranchesLive, PeatlandGrowthModule._woodyRootsLive, PeatlandGrowthModule._sedgeFoliageLive,
PeatlandGrowthModule._sedgeRootsLive, PeatlandGrowthModule._sphagnumMossLive, PeatlandGrowthModule._featherMossLive, PeatlandGrowthModule._shrubAge,
PeatlandGrowthModule._regenDelay, PeatlandGrowthModule._spinupMossOnly from _landUnitData.
Reimplemented from CBMModuleBase.
|
overridevirtual |
If the value of variable "peatland_class" in _landUnitData is > 0, set PeatlandGrowthModule._runPeatland as true.
Assign PeatlandGrowthModule.growthParas, value of variable "peatland_growth_parameters",
PeatlandGrowthModule.turnoverParas "peatland_turnover_parameters",
PeatlandGrowthModule.growthCurve value of variable "peatland_growth_curve" from _landUnitData
Reimplemented from CBMModuleBase.
|
overridevirtual |
If PeatlandGrowthModule._runPeatland is true, PeatlandGrowthModule._regenDelay > 0 and PeatlandGrowthModule._spinupMossOnly is false,
simulate woody layer growth, sedge layer growth and moss layer growth.
Initiate the start of the operation by _landUnitData->createStockOperation() and add transfers between various pools. Finally, submit the operation
Increment PeatlandGrowthModule._shrubAge by 1
Reimplemented from CBMModuleBase.
|
override |
Subscribe to the signals LocalDomainInit, TimingInit and TimingStep
notificationCenter | NotificationCenter& |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |