LandscapeDNDC 1.37.0
berryball.h
1
11#ifndef BERRYBALL_H_
12#define BERRYBALL_H_
13
14#include "ld_modelsconfig.h"
15#include <containers/cbm_vector.h>
16#include "mbe_legacymodel.h"
17#include "physiology/ld_stomatalconductance.h"
18
19namespace ldndc {
20
21class LDNDC_API BerryBall
22{
24 static double const TK25;
26 static double const TK30;
28 static double const T30;
30 static double const TPU25;
32 static double const FGC;
34 static double const TO25;
36 static double const FDET;
38 static double const CDET;
40 static double const PHI;
42 static double const FREP;
44 static double const CREP;
46 static double const GAMMA0;
48 static double const C4WPFACT;
49
50public:
51 BerryBall(
52 double /* day fraction */,
53 size_t /* maximum foliage layers*/);
54 ~BerryBall();
55
56public:
57
58 double *ko2_fl;
59 double *kco2_fl;
60 double *co2i_fl;
61 double *o2i_fl;
62 double *rd_fl;
63 double *co2comp25_fl;
64 double *jMax_fl;
65 double *jPot_fl;
66 double *vcMax_fl;
67 double *vcAct_fl;
68 double *carbonuptake_fl;
69 double *relativeconductance_fl;
70
71 double *ko2_std_fl;
72 double *kco2_std_fl;
73 double *co2i_std_fl;
74 double *o2i_std_fl;
75 double *co2comp25_std_fl;
76 double *jMax_std_fl;
77 double *vcMax_std_fl;
78 double *vcAct25_fl;
79 double *vcMax25_fl;
80 double *jMax25_fl;
81 double *jAct25_fl;
82 double *rdAct25_fl;
83
84 double *sla_fl;
85 double *lai_fl;
86 double *fFol_fl;
87
88 double rplant;
89 double psi_mean;
90 double psi_sr;
91 double psi_pd;
92
93 double f_h2o;
94 double f_fac;
95 double mFol;
96 double height_max;
97
98 double CWP_REF;
99 double PSI_REF;
100 double PSI_EXP;
101 double RPMIN;
102
103 double AEKC;
104 double AEJM;
105 double AEVO;
106 double AEKO;
107 double AEVC;
108 double AERD;
109 double KC25; // Michaelis Menten constant for CO2 (umol mol-1) under standard conditions
110 double KO25; // Michaelis Menten constant for O2 (mmol mol-1) under standard conditions
111 double QVOVC;
112 double QJVC;
113 double GSMIN;
114 double GSMAX;
115 double H2OREF_GS;
116 double SLOPE_GSA;
117 double SDJ;
118 double HDJ;
119 double THETA;
120 double VPDREF;
121 bool C4_TYPE;
122
123 size_t fl_cnt;
124 double max_foliage_layer;
125 double nd_airpressure;
126 double day_fraction;
127 double *vpd_fl;
128 double *rh_fl;
129 double *temp_fl;
130 double *parsun_fl;
131 double *parshd_fl;
132 double *tFol_fl;
133 double *co2_concentration_fl;
134 double *sunlitfoliagefraction_fl;
135
140 stomatalconductance_method_e stomatalconductance_method;
141
142 void solve();
143
148 void
149 BerryBallReset();
150
155 void
156 BerryBallFarquhar(
157 double _ko,
158 double _kc,
159 double _ci,
160 double _oi,
161 double _rd,
162 double _tpu,
163 double _cstar,
164 double _jpot,
165 double _vcmax,
166 double &_wj,
167 double &_wp,
168 double &_wc,
169 double &_assi);
170
171 lerr_t
172 set_vegetation_base_state( MoBiLE_Plant *);
173
174 lerr_t
175 set_vegetation_non_stomatal_water_limitation_state( double const & /* rplant */,
176 double const & /* psi_mean */,
177 double const & /* psi_sr */,
178 double const & /* psi_pd */);
179
180 lerr_t
181 get_vegetation_state( MoBiLE_Plant *);
182};
183
184} /* namespace ldndc */
185
186#endif /* BERRYBALL_H_ */
Spatially explicit groundwater model.
Definition: airchemistryput.h:15
stomatalconductance_method_e
Stomatal conductance methods.
Definition: ld_stomatalconductance.h:20