LandscapeDNDC 1.37.0
Loading...
Searching...
No Matches
ld_allometry.h
1
15
16#ifndef LD_ALLOMETRY_H_
17#define LD_ALLOMETRY_H_
18
19#include "mbe_plant.h"
20#include "state/mbe_state.h"
21
22namespace cbm {
23 class io_kcomm_t; }
24
25namespace ldndc {
26
27class LDNDC_API LD_Allometry
28{
29public:
30 LD_Allometry(
31 MoBiLE_State *,
32 cbm::io_kcomm_t *);
33 ~LD_Allometry();
34
35 input_class_setup_t const & m_setup;
36 substate_physiology_t & ph_;
37 MoBiLE_PlantVegetation * m_veg;
38
39public:
40
41
47 lerr_t
48 volume_change_by_senescence(
49 double /* sap_area_loss */,
50 double /* h_top */,
51 double & /* sap_area */,
52 double & /* h_crown */,
53 double & /* h_croot */,
54 double & /* h_trunk */,
55 double & /* vsap_crown */,
56 double & /* vsap_croot */,
57 double & /* vsap_trunk */,
58 double & /* vsap_bra */,
59 double & /* vsap_crt */,
60 double const & /* fbra */,
61 double const & /* fcrt */);
62
68 lerr_t
69 volume_change_by_growth(
70 MoBiLE_Plant* /* species */,
71 double /* soildepth */,
72 double /* competition_factor */,
73 double /* vsap_growth */,
74 double & /* sap_area */,
75 double & /* h_crown */,
76 double & /* h_depth */,
77 double & /* h_trunk */,
78 double & /* h_top */,
79 double & /* d_eff */,
80 double & /* vsap_crown */,
81 double & /* vsap_croot */,
82 double & /* vsap_trunk */,
83 double & /* vsap_bra */,
84 double & /* vsap_crt */,
85 double const & /* qdrh */,
86 double const & /* fbra */,
87 double const & /* fcrt */);
88
89
95 double
96 height_dbh_ratio(
97 double /* diameter */,
98 double /* minimum height-dbh ratio */,
99 double /* maximum height-dbh ratio */,
100 double /* exponent */,
101 double /* stand density factor */);
102
108 double
109 height_competition_factor(
110 MoBiLE_Plant *,
111 MoBiLE_PlantVegetation *);
112
117 double
118 stem_volume(
119 double /* trunk height */,
120 double /* crown height */,
121 double /* diameter at breast height */,
122 double /* diameter at ground*/,
123 bool /* uses tapergrowth function */,
124 bool /* is coniferous */,
125 double /* taper parameter 1 */,
126 double /* taper parameter 2 */,
127 double /* taper parameter 3 */);
128
135 double
136 taper_volume(
137 bool /* is coniferous */,
138 double /* taper parameter 1 */,
139 double /* taper parameter 2 */,
140 double /* taper parameter 3 */,
141 double /* diameter */,
142 double /* height */);
143
149 lerr_t
150 check_taper_parameters(
151 bool /* is coniferous */,
152 double & /* taper parameter 1 */,
153 double & /* taper parameter 2 */,
154 double & /* taper parameter 3 */);
155
162 double
163 taper_height_from_diameter(
164 bool /* is coniferous */,
165 double /* taper parameter 1 */,
166 double /* taper parameter 2 */,
167 double /* taper parameter 3 */,
168 double /* diameter */,
169 double /* volume */);
170
177 double
178 diameter_at_breast_height_from_volume_and_height(
179 bool /* is coniferous */,
180 double /* taper parameter 1 */,
181 double /* taper parameter 2 */,
182 double /* taper parameter 3 */,
183 double /* canopy threshold parameter */,
184 double /* height */,
185 double /* effective diameter */,
186 double /* volume */);
187
188
195 double
196 taper_diameter_from_volume_and_height(
197 bool /* is coniferous */,
198 double /* taper parameter 1 */,
199 double /* taper parameter 2 */,
200 double /* taper parameter 3 */,
201 double /* height */,
202 double /* volume */);
203
208 lerr_t
209 set_canopy_heights(
210 cbm::string_t,
211 MoBiLE_Plant * /* species */,
212 double /* upper canopy height */,
213 double /* competition factor */);
214
219 void
220 restructure_vegetation(
221 MoBiLE_Plant *_p,
222 cbm::string_t _crownlength_method,
223 double _hd_competition_factor_old,
224 double _height_fraction,
225 double _dbas_fraction,
226 double _dbh_fraction);
227
232 double
233 height_from_volume(
234 bool _coniferous,
235 double _t1,
236 double _t2,
237 double _t3,
238 double _hd_max,
239 double _vol);
240
245 double
246 dbh_from_volume(
247 bool _coniferous,
248 double _t1,
249 double _t2,
250 double _t3,
251 double _hd_min,
252 double _hd_max,
253 double _hd_exp,
254 double _dbh,
255 double _height,
256 double _vol,
257 double _hd_competition_factor);
258
264 double
265 dbas_from_cone(
266 double _hd,
267 double _vol);
268
274 double
275 diameter_at_ground(
276 double /* diameter */,
277 double /* height */,
278 double /* tree volume */,
279 double /* hd_min */,
280 double /* hd_max */,
281 double /* hd_exp */,
282 double /* href*/,
283 double /* stand density factor */);
284
290 static double
291 effective_dbh(
292 double /* tree height */,
293 double /* diameter at breast height */,
294 double /* diameter at ground */,
295 double /* crown length threshold parameter */);
296
302 static double
303 hlimit_fraction( double /* tree height */,
304 double /* crown length threshold parameter */);
305
311 double
312 branch_fraction_from_diameter(
313 species::species_group_e _group,
314 double _FBRAF_M,
315 double _FBRAF_Y,
316 double _DIAMMAX,
317 double _dbh,
318 double _dbas);
319
325 double
326 branch_fraction_from_canopy_volume(
327 MoBiLE_Plant *);
328
334 double
335 crown_diameter(
336 double _dbh,
337 double _h,
338 double cdr_p1,
339 double cdr_p2,
340 double cdr_p3);
341
347 double
348 crown_length_from_crown_diameter(
349 double _h,
350 double _cd,
351 double _href,
352 double _cl_p1,
353 double _cl_p2,
354 double _competition_factor);
355
361 double
362 crown_length_from_parameter(
363 double _height,
364 double _dbh,
365 double _href,
366 double _diammax,
367 double _cb);
368
373 double
374 crown_diameter_ratio_open_range(
375 double /* dbh */,
376 double /* height */,
377 double _cdr_p1,
378 double _cdr_p2,
379 double _cdr_p3);
380
387 double
388 area_fraction_open_range(
389 MoBiLE_Plant * /* species */,
390 size_t /* foliage layer */);
391
396 double
397 tree_crown_ground_coverage(
398 double /* dbh or dbas */,
399 double /* tree number */,
400 double /* crown diameter ratio */) const;
401
406 double
407 area_fraction_wood(
408 double /* dbh or dbas */,
409 double /* tree number */,
410 double /* crown diameter ratio */,
411 double /* */);
412
417 double
418 crown_diameter_ratio(
419 MoBiLE_Plant * /* species */);
420 };
421
426 double
428 double _length,
429 double lref,
430 double ps);
431} /* namespace ldndc */
432
433
434#endif /* !LD_ALLOMETRY_H_ */
435
Spatially explicit groundwater model.
Definition airchemistryput.h:15
double crown_shape_parameter(double _length, double lref, double ps)
Returns a crown shape factor which depends on canopy length.
Definition ld_allometry.cpp:1497