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