LandscapeDNDC 1.37.0
vocmegan.h
1
8#ifndef LM_PHYSIOLOGY_VOCMEGAN_H_
9#define LM_PHYSIOLOGY_VOCMEGAN_H_
10
11#include "mbe_legacymodel.h"
12#include "state/mbe_state.h"
13
14namespace ldndc {
15
16class LDNDC_API PhysiologyVOCMEGAN : public MBE_LegacyModel
17{
18 LMOD_EXPORT_MODULE_INFO(PhysiologyVOCMEGAN,"physiology:vocmegan","Physiology VOCMEGAN");
19
20 /*** module specific constants ***/
21
23 static double const TREF;
25 static double const BETA;
27 static double const TOPT;
29 static double const CT1;
31 static double const CT2;
32
33 public:
34 PhysiologyVOCMEGAN(
35 MoBiLE_State *,
36 cbm::io_kcomm_t *,
37 timemode_e);
38
39 ~PhysiologyVOCMEGAN();
40
41 lerr_t configure(
42 ldndc::config_file_t const *);
43
44 lerr_t initialize();
45
46 lerr_t solve();
47
48 lerr_t finalize() { return LDNDC_ERR_OK; }
49
50 lerr_t sleep() { return LDNDC_ERR_OK; }
51 lerr_t wake() { return LDNDC_ERR_OK; }
52
53 private:
54 /* required state components */
55 substate_airchemistry_t * ac;
56 substate_microclimate_t * mc;
57 substate_physiology_t * phys;
58 substate_watercycle_t * wc;
59
60 input_class_setup_t const * m_setup;
61 MoBiLE_PlantVegetation * m_veg;
62
63 struct photosynth_t
64 {
65 /* aggregated photosynthetic active radiation (umol m-2 s-1) */
66 double par240;
67 /* aggregated photosynthetic active radiation (umol m-2 s-1) */
68 double par24;
69 /* photosynthetic active radiation (umol m-2 s-1) */
70 double par;
71
72 photosynth_t();
73 };
74 struct foliage_t
75 {
76 /* aggregated foliage temperature within a canopy layer (K) */
77 double tempK240;
78 /* aggregated foliage temperature within a canopy layer (K) */
79 double tempK24;
80 /* foliage temperature within a canopy layer (K) */
81 double tempK;
82
83 foliage_t();
84 };
85
86 struct leaf_emission_t
87 {
88 size_t foliage_layer;
89
90 double isoprene; // leaf level isoprene emission (ug gDW-1 h-1)
91 double monoterpene; // leaf level monoterpene emission (ug gDW-1 h-1) */
92 double monoterpene_s; // leaf level monoterpene emission from storages (ug gDW-1 h-1) */
93 double ovoc; // leaf level ovoc emission (only from storages) (ug gDW-1 h-1) */
94
95 photosynth_t pho;
96 foliage_t fol;
97 };
98
99 lerr_t CalcLeafEmission(
100 leaf_emission_t *,
101 MoBiLE_Plant const & /*species*/);
102
103 void step_init();
104};
105} /*namespace ldndc*/
106
107#endif /* !LM_PHYSIOLOGY_VOCMEGAN_H_ */
108
Spatially explicit groundwater model.
Definition: airchemistryput.h:15