| 
    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 | 
  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 | 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 | 
 1.8.17