GCBM
|
#include <cbmspinupdisturbancemodule.h>
Public Member Functions | |
CBMSpinupDisturbanceModule () | |
virtual | ~CBMSpinupDisturbanceModule () |
void | configure (const DynamicObject &config) override |
void | subscribe (NotificationCenter ¬ificationCenter) override |
void | doDisturbanceEvent (DynamicVar) override |
void | doLocalDomainInit () override |
void | doTimingInit () 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 | doTimingStep () |
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 Types | |
typedef std::vector< CBMDistEventTransfer > | EventVector |
typedef std::unordered_map< int, EventVector > | EventMap |
Private Member Functions | |
void | fetchMatrices () |
void | fetchDMAssociations () |
Private Attributes | |
flint::IVariable * | _spu |
int | _spuId |
EventMap | _matrices |
std::unordered_map< std::pair< std::string, int >, int > | _dmAssociations |
|
private |
|
private |
|
virtual |
|
override |
Configuration function
config | DynamicObject& |
|
overridevirtual |
Assign boolean variable runPeatland as "peatland_class".
If runPeatland is false, add Carbon budget module disturbance module operation transfer.
else add peatland disturbance module operation transfer.
n | DynamicVar |
Reimplemented from CBMModuleBase.
|
overridevirtual |
Invoke CBMSpinupDisturbanceModule.fetchMatrices(), CBMSpinupDisturbanceModule.fetchDMAssociations(),
assign CBMSpinupDisturbanceModule._spu value of variable "spatial_unit_id" in _landUnitData
Reimplemented from CBMModuleBase.
|
overridevirtual |
Assign CBMSpinupDisturbanceModule._spuId as CBMSpinupDisturbanceModule._spu value.
Reimplemented from CBMModuleBase.
|
private |
For each disturbance matrix association in variable "disturbance_matrix_associations" from _landUnitData,
insert "disturbance_type", "spatial_unit_id" and "disturbance_matrix_id" of each disturbance matrix association into CBMSpinupDisturbanceModule._dmAssociations.
|
private |
Fetch disturbance matrices.
For each row in "disturbance_matrices",
initialise variable transfer as CBMDistEventTransfer(*_landUnitData, row).
Initialise integer variable dmId as transfer.disturbanceMatrixId().
if dmId in CBMSpinupDisturbanceModule._matrices is equal to CBMSpinupDisturbanceModule._matrices.end(),
add transfer to eventVector,
dmId and eventVector to CBMSpinupDisturbanceModule._matrices.
else add transfer to v->second.
|
override |
Subscribe to signals LocalDomainInit, DisturbanceEvent and TimingInit
notificationCenter | NotificationCenter& |
|
private |
|
private |
|
private |
|
private |