|
GCBM
|
#include <mossturnovermodule.h>


Public Member Functions | |
| MossTurnoverModule () | |
| virtual | ~MossTurnoverModule ()=default |
| void | configure (const DynamicObject &config) override |
| void | subscribe (NotificationCenter ¬ificationCenter) override |
| flint::ModuleTypes | moduleType () 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 | doLiveMossTurnover () |
Private Attributes | |
| flint::IVariable * | _mossParameters = nullptr |
| const flint::IPool * | _featherMossLive = nullptr |
| const flint::IPool * | _sphagnumMossLive = nullptr |
| const flint::IPool * | _featherMossFast = nullptr |
| const flint::IPool * | _sphagnumMossFast = nullptr |
| flint::IVariable * | _regenDelay = nullptr |
| bool | runMoss { false } |
| double | fmlTurnoverRate { 0 } |
| Feather moss turnover rate More... | |
| double | smlTurnoverRate { 0 } |
| Sphagnum moss turnover rate More... | |
Constructor
|
virtualdefault |
|
override |
Configuration function
| config | const DynamicObject& |
|
private |
Perform moss turnover between the moss live and fast pools
Invoke createStockOperation() on _landUnitData
Add a FeatherMossLive to FeatherMossFast transfer between source MossTurnoverModule._featherMossLive and sink MossTurnoverModule._featherMossFast with transfer value of MossTurnoverModule._featherMossLive * MossTurnoverModule.fmlTurnoverRate, a SphagnumMossLive to SphagnumMossFast transfer between source MossTurnoverModule._sphagnumMossLive and sink MossTurnoverModule._sphagnumMossFast with transfer value of MossTurnoverModule._sphagnumMossLive * MossTurnoverModule.smlTurnoverRate
Invoke submitOperation() on _landUnitData to submit the transfers
|
overridevirtual |
Initialise MossTurnoverModule._featherMossFast, MossTurnoverModule._sphagnumMossFast, MossTurnoverModule._featherMossSlow, MossTurnoverModule._sphagnumMossSlow, value of "FeatherMossFast", SphagnumMossFast", "FeatherMossSlow", "SphagnumMossSlow" in _landUnitData \n Initialise MossTurnoverModule._mossParameters, MossTurnoverModule._regenDelay as variable "moss_parameters", "regen_delay" in _landUnitData, \n MossTurnoverModule.fmlTurnoverRate, MossTurnoverModule.smlTurnoverRate values of "fmlTurnoverRate", "smlTurnoverRate"in MossTurnoverModule._mossParameters
Reimplemented from CBMModuleBase.
|
overridevirtual |
If variable "enable_moss" exists in _landUnitData and it has a value, invoke Helper.runMoss() with arguments as value of variables "growth_curve_id", "moss_leading_species" and "leading_species" in _landUnitData
Assign MossTurnoverModule.runMoss to true if variable "peatland_class" in _landUnitData is empty, variable "growth_curve_id" in _landUnitData is not empty, and Helper.runMoss() returns true
Reimplemented from CBMModuleBase.
|
overridevirtual |
If value of MossTurnoverModule._regenDelay > 0, return
If MossTurnoverModule.runMoss is true, invoke MossTurnoverModule.doLiveMossTurnover()
Reimplemented from CBMModuleBase.
|
override |
|
override |
Subscribe to the signals LocalDomainInit, TimingInit and TimingStep
| notificationCenter | NotificationCenter& |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Feather moss turnover rate
|
private |
|
private |
Sphagnum moss turnover rate
1.8.17