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 & /* hd_factor */,
75 double & /* sap_area */,
76 double & /* h_crown */,
77 double & /* h_depth */,
78 double & /* h_trunk */,
79 double & /* h_top */,
80 double & /* d_eff*/,
81 double & /* vsap_crown */,
82 double & /* vsap_croot */,
83 double & /* vsap_trunk */,
84 double & /* vsap_bra */,
85 double & /* vsap_crt */,
86 double const & /* qdrh */,
87 double const & /* fbra */,
88 double const & /* fcrt */);
89
90
96 double
97 height_dbh_ratio(
98 double /* diameter */,
99 double /* minimum height-dbh ratio */,
100 double /* maximum height-dbh ratio */,
101 double /* exponent */,
102 double /* stand density factor */);
103
109 double
110 height_competition_factor(
111 MoBiLE_Plant *,
112 MoBiLE_PlantVegetation *);
113
118 double
119 stem_volume(
120 double /* 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 /* height */,
184 double /* effective diameter */,
185 double /* volume */);
186
187
194 double
195 taper_diameter_from_volume_and_height(
196 bool /* is coniferous */,
197 double /* taper parameter 1 */,
198 double /* taper parameter 2 */,
199 double /* taper parameter 3 */,
200 double /* height */,
201 double /* volume */);
202
207 lerr_t
208 set_canopy_heights(
209 cbm::string_t,
210 MoBiLE_Plant * /* species */,
211 double /* upper canopy height */);
212
217 void
218 restructure_vegetation(
219 MoBiLE_Plant *_p,
220 cbm::string_t _crownlength_method,
221 double _hd_competition_factor_old,
222 double _height_fraction,
223 double _dbas_fraction,
224 double _dbh_fraction);
225
230 double
231 height_from_volume(
232 bool _coniferous,
233 double _t1,
234 double _t2,
235 double _t3,
236 double _hd_max,
237 double _vol);
238
243 double
244 dbh_from_volume(
245 bool _coniferous,
246 double _t1,
247 double _t2,
248 double _t3,
249 double _hd_min,
250 double _hd_max,
251 double _hd_exp,
252 double _dbh,
253 double _height,
254 double _vol,
255 double _hd_competition_factor);
256
262 double
263 dbas_from_cone(
264 double _hd,
265 double _vol);
266
272 double
273 height_from_diameter(
274 double /* base diameter */,
275 double /* diameter */,
276 double /* height */,
277 double /* tree stem volume */,
278 double /* hd_min */,
279 double /* hd_max */,
280 double /* hd_exp */,
281 double /* stand density factor */);
282
288 double
289 diameter_at_ground(
290 double /* diameter */,
291 double /* height */,
292 double /* tree volume */,
293 double /* hd_min */,
294 double /* hd_max */,
295 double /* hd_exp */,
296 double /* stand density factor */);
297
303 static double
304 effective_dbh(
305 double /* tree height */,
306 double /* diameter at breast height */,
307 double /* diameter at ground */);
308
314 static double
315 hlimit_fraction( double /* tree height */);
316
322 double
323 branch_fraction_from_diameter(
324 species::species_group_e _group,
325 double _FBRAF_M,
326 double _FBRAF_Y,
327 double _DIAMMAX,
328 double _dbh,
329 double _dbas);
330
336 double
337 branch_fraction_from_canopy_volume(
338 MoBiLE_Plant *);
339
345 double
346 crown_diameter(
347 double _dbh,
348 double _h,
349 double cdr_p1,
350 double cdr_p2,
351 double cdr_p3);
352
358 double
359 crown_length_from_crown_diameter(
360 double _h,
361 double _cd,
362 double _href,
363 double _cl_p1,
364 double _cl_p2);
365
371 double
372 crown_length_from_parameter(
373 double _height,
374 double _dbh,
375 double _href,
376 double _diammax,
377 double _cb);
378
383 double
384 crown_diameter_ratio_open_range(
385 double /* dbh */,
386 double /* height */,
387 double _cdr_p1,
388 double _cdr_p2,
389 double _cdr_p3);
390
397 double
398 area_fraction_open_range(
399 MoBiLE_Plant * /* species */,
400 size_t /* foliage layer */);
401
406 double
407 tree_crown_ground_coverage(
408 double /* dbh or dbas */,
409 double /* tree number */,
410 double /* crown diameter ratio */) const;
411
416 double
417 area_fraction_wood(
418 double /* dbh or dbas */,
419 double /* tree number */,
420 double /* crown diameter ratio */,
421 double /* */);
422
427 double
428 crown_diameter_ratio(
429 MoBiLE_Plant * /* species */);
430 };
431
436 double
438 double _length,
439 double lref,
440 double ps);
441} /* namespace ldndc */
442
443
444#endif /* !LD_ALLOMETRY_H_ */
445
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:1435