1 #ifndef MOJA_MODULES_CBM_MOSSGROWTH_H_
2 #define MOJA_MODULES_CBM_MOSSGROWTH_H_
4 #include "moja/modules/cbm/_modules.cbm_exports.h"
15 : _gcFactory(gcFactory) {};
19 void configure(
const DynamicObject& config)
override;
20 void subscribe(NotificationCenter& notificationCenter)
override;
22 flint::ModuleTypes
moduleType()
override {
return flint::ModuleTypes::Model; };
24 void doLocalDomainInit()
override;
25 void doTimingInit()
override;
26 void doTimingStep()
override;
31 flint::IVariable* _mossParameters =
nullptr;;
32 const flint::IPool* _atmosphere =
nullptr;;
33 const flint::IPool* _featherMossLive =
nullptr;;
34 const flint::IPool* _sphagnumMossLive =
nullptr;;
35 flint::IVariable* _regenDelay =
nullptr;
36 flint::IVariable* _spinupMossOnly =
nullptr;
37 flint::IVariable* _age =
nullptr;
39 bool runMoss{
false };
40 Int64 currentStandGCId{ -1 };
100 double F1(
double a,
double b,
double volume);
103 double F2(
double c,
double d,
int age,
double openNess);
106 double F3(
double e,
double f,
int age,
double openNess);
109 double F4(
double g,
double h,
double openNess);
112 double F5(
double i,
double j,
double l,
double openNess);
114 void doMossGrowth(
int mossAge,
double standMerchVolume);