GCBM
|
#include <cbmpartitioningmodule.h>
Public Member Functions | |
CBMPartitioningModule () | |
virtual | ~CBMPartitioningModule () |
void | subscribe (NotificationCenter ¬ificationCenter) override |
void | doLocalDomainInit () override |
void | doTimingInit () override |
void | doDisturbanceEvent (DynamicVar e) override |
void | doTimingStep () override |
![]() | |
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 | doPrePostDisturbanceEvent () |
virtual void | doPostDisturbanceEvent () |
virtual void | doPostDisturbanceEvent2 () |
virtual void | doPostNotification (short preMessageSignal) |
Private Member Functions | |
void | fetchRecoveryRules () |
std::shared_ptr< IRecoveryRule > | createInitialRecoveryRule (std::string disturbanceType) |
std::shared_ptr< IRecoveryRule > | createRecoveryRule (std::string disturbanceType) |
void | doSmallDisturbanceEvent (std::string disturbanceType, double mortality) |
void | doLargeDisturbanceEvent (std::string disturbanceType) |
Private Attributes | |
std::list< std::shared_ptr< IRecoveryRule > > | _activeRecoveryRules |
std::list< std::shared_ptr< IRecoveryRule > > | _pendingRecoveryRules |
double | _cumulativeMortality = 0.0 |
int | _spuId |
std::map< std::string, std::map< int, double > > | _disturbanceMortality |
std::map< std::string, std::string > | _disturbanceCategories |
std::map< std::string, std::map< int, std::tuple< std::string, DynamicVar > > > | _initialRecoveryRules |
std::map< std::string, std::map< int, std::tuple< std::string, DynamicVar > > > | _recoveryRules |
std::vector< const flint::IPool * > | _agBiomassPools |
std::vector< const flint::IPool * > | _totalBiomassPools |
std::vector< const flint::IPool * > | _totalEcoPools |
flint::IVariable * | _partition |
flint::IVariable * | _spinupParameters |
flint::IVariable * | _spu |
|
virtual |
|
private |
|
private |
Create the Recovery Rules based on the disturbance type
If the disturbance type is not found in CBMPartitioningModule._recoveryRules, return a null pointer
disturbanceType | std::string |
|
overridevirtual |
If the value of of the row, "disturbance" in parameter e, and column, CBMPartitioningModule._spuId, is < 0.2, Invoke CBMPartitioningModule.doSmallDisturbanceEvent(), else invoke CBMPartitioningModule.doLargeDisturbanceEvent()
e | DynamicVar |
Reimplemented from CBMModuleBase.
|
private |
|
overridevirtual |
Initialise the values of CBMPartitioningModule._partition, CBMPartitioningModule._spinupParameters and CBMPartitioningModule._spu with variables "partition", "spinup_parameters" and "spu" from _landUnitData
Invoke CBMPartitioningModule.fetchRecoveryRules()
Initialise CBMPartitioningModule._agBiomassPools, CBMPartitioningModule._totalBiomassPools, CBMPartitioningModule._totalEcoPools, CBMPartitioningModule._disturbanceMortality with value of variable "disturbance_mortality" from _landUnitData , CBMPartitioningModule._disturbanceCategories with value of variable "disturbance_categories" from _landUnitData
Reimplemented from CBMModuleBase.
|
private |
disturbanceType | std::string |
mortality | double |
|
overridevirtual |
Reimplemented from CBMModuleBase.
|
overridevirtual |
Reimplemented from CBMModuleBase.
|
private |
|
override |
Subscribe to signals LocalDomainInit, TimingInit, DisturbanceEvent and TimingStep
notificationCenter | NotificationCenter& |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |