fvs-python 0.2.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. fvs_python-0.2.3.dist-info/METADATA +254 -0
  2. fvs_python-0.2.3.dist-info/RECORD +149 -0
  3. fvs_python-0.2.3.dist-info/WHEEL +5 -0
  4. fvs_python-0.2.3.dist-info/licenses/LICENSE +21 -0
  5. fvs_python-0.2.3.dist-info/top_level.txt +1 -0
  6. pyfvs/__init__.py +107 -0
  7. pyfvs/bark_ratio.py +323 -0
  8. pyfvs/cfg/CFG_README.md +73 -0
  9. pyfvs/cfg/dbh_bounding_table_4_7_1_8.json +103 -0
  10. pyfvs/cfg/ecounit_coefficients_table_4_7_1_5.json +981 -0
  11. pyfvs/cfg/ecounit_coefficients_table_4_7_1_6.json +856 -0
  12. pyfvs/cfg/forest_type_mapping_table_4_7_1_4.json +38 -0
  13. pyfvs/cfg/fortype_coefficients_table_4_7_1_3.json +1183 -0
  14. pyfvs/cfg/functional_forms.yaml +111 -0
  15. pyfvs/cfg/growth_model_parameters.yaml +98 -0
  16. pyfvs/cfg/plant_values_table_4_7_1_7.json +15 -0
  17. pyfvs/cfg/site_index_transformation.yaml +113 -0
  18. pyfvs/cfg/sn_bark_ratio_coefficients.json +115 -0
  19. pyfvs/cfg/sn_crown_competition_factor.json +109 -0
  20. pyfvs/cfg/sn_crown_ratio_coefficients.json +956 -0
  21. pyfvs/cfg/sn_crown_width_coefficients.json +1664 -0
  22. pyfvs/cfg/sn_diameter_growth_coefficients.json +300 -0
  23. pyfvs/cfg/sn_height_diameter_coefficients.json +97 -0
  24. pyfvs/cfg/sn_large_tree_diameter_growth.json +191 -0
  25. pyfvs/cfg/sn_large_tree_height_growth.json +229 -0
  26. pyfvs/cfg/sn_large_tree_height_growth_coefficients.json +1187 -0
  27. pyfvs/cfg/sn_mortality_model.json +176 -0
  28. pyfvs/cfg/sn_regeneration_model.json +252 -0
  29. pyfvs/cfg/sn_relative_site_index.json +263 -0
  30. pyfvs/cfg/sn_small_tree_height_growth.json +879 -0
  31. pyfvs/cfg/sn_species_codes_table.json +728 -0
  32. pyfvs/cfg/sn_stand_density_index.json +398 -0
  33. pyfvs/cfg/species/ab_american_basswood.yaml +251 -0
  34. pyfvs/cfg/species/ae_american_elm.yaml +240 -0
  35. pyfvs/cfg/species/ah_american_hornbeam.yaml +250 -0
  36. pyfvs/cfg/species/ap_american_plum.yaml +251 -0
  37. pyfvs/cfg/species/as_american_sycamore.yaml +253 -0
  38. pyfvs/cfg/species/ba_black_ash.yaml +254 -0
  39. pyfvs/cfg/species/bb_basswood.yaml +254 -0
  40. pyfvs/cfg/species/bc_black_cherry.yaml +254 -0
  41. pyfvs/cfg/species/bd_sweet_birch.yaml +252 -0
  42. pyfvs/cfg/species/be_american_beech.yaml +251 -0
  43. pyfvs/cfg/species/bg_black_gum.yaml +252 -0
  44. pyfvs/cfg/species/bj_blue_jay.yaml +254 -0
  45. pyfvs/cfg/species/bk_sugar_maple.yaml +251 -0
  46. pyfvs/cfg/species/bn_butternut.yaml +252 -0
  47. pyfvs/cfg/species/bo_red_maple.yaml +255 -0
  48. pyfvs/cfg/species/bt_bigtooth_aspen.yaml +254 -0
  49. pyfvs/cfg/species/bu_buckeye.yaml +252 -0
  50. pyfvs/cfg/species/by_bald_cypress.yaml +255 -0
  51. pyfvs/cfg/species/ca_american_chestnut.yaml +254 -0
  52. pyfvs/cfg/species/cb_cucumber_tree.yaml +254 -0
  53. pyfvs/cfg/species/ck_virginia_pine.yaml +254 -0
  54. pyfvs/cfg/species/co_pond_cypress.yaml +251 -0
  55. pyfvs/cfg/species/ct_catalpa.yaml +251 -0
  56. pyfvs/cfg/species/cw_chestnut_oak.yaml +253 -0
  57. pyfvs/cfg/species/dw_dogwood.yaml +250 -0
  58. pyfvs/cfg/species/el_american_hornbeam.yaml +254 -0
  59. pyfvs/cfg/species/fm_flowering_dogwood.yaml +251 -0
  60. pyfvs/cfg/species/fr_fraser_fir.yaml +247 -0
  61. pyfvs/cfg/species/ga_green_ash.yaml +254 -0
  62. pyfvs/cfg/species/ha_hawthorn.yaml +252 -0
  63. pyfvs/cfg/species/hb_hornbeam.yaml +254 -0
  64. pyfvs/cfg/species/hh_dogwood.yaml +251 -0
  65. pyfvs/cfg/species/hi_hickory_species.yaml +252 -0
  66. pyfvs/cfg/species/hl_holly.yaml +254 -0
  67. pyfvs/cfg/species/hm_eastern_hemlock.yaml +246 -0
  68. pyfvs/cfg/species/hy_holly.yaml +252 -0
  69. pyfvs/cfg/species/ju_eastern_juniper.yaml +247 -0
  70. pyfvs/cfg/species/lb_loblolly_bay.yaml +254 -0
  71. pyfvs/cfg/species/lk_laurel_oak.yaml +254 -0
  72. pyfvs/cfg/species/ll_longleaf_pine.yaml +265 -0
  73. pyfvs/cfg/species/lo_silver_maple.yaml +252 -0
  74. pyfvs/cfg/species/lp_loblolly_pine.yaml +268 -0
  75. pyfvs/cfg/species/mb_mountain_birch.yaml +250 -0
  76. pyfvs/cfg/species/mg_magnolia.yaml +251 -0
  77. pyfvs/cfg/species/ml_maple_leaf.yaml +254 -0
  78. pyfvs/cfg/species/ms_maple_species.yaml +247 -0
  79. pyfvs/cfg/species/mv_magnolia_vine.yaml +254 -0
  80. pyfvs/cfg/species/oh_other_hardwood.yaml +231 -0
  81. pyfvs/cfg/species/os_other_softwood.yaml +232 -0
  82. pyfvs/cfg/species/ot_other_tree.yaml +210 -0
  83. pyfvs/cfg/species/ov_overcup_oak.yaml +254 -0
  84. pyfvs/cfg/species/pc_pond_cypress.yaml +254 -0
  85. pyfvs/cfg/species/pd_pitch_pine.yaml +245 -0
  86. pyfvs/cfg/species/pi_pine_species.yaml +246 -0
  87. pyfvs/cfg/species/po_american_beech.yaml +254 -0
  88. pyfvs/cfg/species/pp_pond_pine.yaml +246 -0
  89. pyfvs/cfg/species/ps_persimmon.yaml +251 -0
  90. pyfvs/cfg/species/pu_pond_pine.yaml +249 -0
  91. pyfvs/cfg/species/qs_flowering_dogwood.yaml +254 -0
  92. pyfvs/cfg/species/ra_red_ash.yaml +245 -0
  93. pyfvs/cfg/species/rd_redbud.yaml +251 -0
  94. pyfvs/cfg/species/rl_red_elm.yaml +240 -0
  95. pyfvs/cfg/species/rm_red_maple.yaml +256 -0
  96. pyfvs/cfg/species/ro_eastern_hemlock.yaml +255 -0
  97. pyfvs/cfg/species/sa_slash_pine.yaml +265 -0
  98. pyfvs/cfg/species/sb_sweet_birch.yaml +255 -0
  99. pyfvs/cfg/species/sd_sand_pine.yaml +251 -0
  100. pyfvs/cfg/species/sk_swamp_oak.yaml +253 -0
  101. pyfvs/cfg/species/sm_sugar_maple.yaml +252 -0
  102. pyfvs/cfg/species/sn_loblolly_pine.yaml +254 -0
  103. pyfvs/cfg/species/so_southern_oak.yaml +253 -0
  104. pyfvs/cfg/species/sp_shortleaf_pine.yaml +267 -0
  105. pyfvs/cfg/species/sr_spruce_pine.yaml +246 -0
  106. pyfvs/cfg/species/ss_basswood.yaml +251 -0
  107. pyfvs/cfg/species/su_sweetgum.yaml +255 -0
  108. pyfvs/cfg/species/sv_silver_maple.yaml +255 -0
  109. pyfvs/cfg/species/sy_sycamore.yaml +254 -0
  110. pyfvs/cfg/species/tm_tamarack.yaml +246 -0
  111. pyfvs/cfg/species/to_tulip_oak.yaml +254 -0
  112. pyfvs/cfg/species/ts_tulip_tree.yaml +253 -0
  113. pyfvs/cfg/species/vp_virginia_pine.yaml +248 -0
  114. pyfvs/cfg/species/wa_white_ash.yaml +254 -0
  115. pyfvs/cfg/species/we_white_elm.yaml +250 -0
  116. pyfvs/cfg/species/wi_willow.yaml +248 -0
  117. pyfvs/cfg/species/wk_water_oak.yaml +254 -0
  118. pyfvs/cfg/species/wn_walnut.yaml +254 -0
  119. pyfvs/cfg/species/wo_white_oak.yaml +256 -0
  120. pyfvs/cfg/species/wp_white_pine.yaml +250 -0
  121. pyfvs/cfg/species/wt_water_tupelo.yaml +254 -0
  122. pyfvs/cfg/species/yp_yellow_poplar.yaml +261 -0
  123. pyfvs/cfg/species_config.yaml +106 -0
  124. pyfvs/clark_profile.py +323 -0
  125. pyfvs/competition.py +332 -0
  126. pyfvs/config_loader.py +375 -0
  127. pyfvs/crown_competition_factor.py +464 -0
  128. pyfvs/crown_ratio.py +377 -0
  129. pyfvs/crown_width.py +512 -0
  130. pyfvs/data_export.py +356 -0
  131. pyfvs/ecological_unit.py +272 -0
  132. pyfvs/exceptions.py +86 -0
  133. pyfvs/fia_integration.py +876 -0
  134. pyfvs/forest_type.py +253 -0
  135. pyfvs/growth_plots.py +579 -0
  136. pyfvs/harvest.py +603 -0
  137. pyfvs/height_diameter.py +248 -0
  138. pyfvs/large_tree_height_growth.py +822 -0
  139. pyfvs/logging_config.py +213 -0
  140. pyfvs/main.py +99 -0
  141. pyfvs/mortality.py +431 -0
  142. pyfvs/parameters.py +121 -0
  143. pyfvs/simulation_engine.py +386 -0
  144. pyfvs/stand.py +1004 -0
  145. pyfvs/stand_metrics.py +436 -0
  146. pyfvs/stand_output.py +552 -0
  147. pyfvs/tree.py +756 -0
  148. pyfvs/validation.py +190 -0
  149. pyfvs/volume_library.py +761 -0
@@ -0,0 +1,300 @@
1
+ {
2
+ "metadata": {
3
+ "title": "Large Tree Diameter Growth Coefficients for FVS Southern Variant",
4
+ "description": "Diameter growth model (DDS - change in squared diameter inside bark) coefficients extracted from official USDA FVS source code",
5
+ "source": "https://github.com/USDAForestService/ForestVegetationSimulator/blob/master/sn/dgf.f",
6
+ "extracted_date": "2025-11-29",
7
+ "equation_reference": "FVS-SN Variant Overview Section 4.7",
8
+ "threshold_diameter": 3.0,
9
+ "threshold_description": "Trees >= 3.0 inches DBH use large tree diameter growth model"
10
+ },
11
+ "equation": {
12
+ "main_equation": "ln(DDS) = CONSPP + INTERC + LDBH*ln(D) + DBH2*D^2 + LCRWN*ln(CR) + HREL*RELHT + PLTB*BA + PNTBL*PBAL + [forest_type_terms] + [eco_unit_terms]",
13
+ "conspp_equation": "CONSPP = DGCON + COR, where DGCON = ISIO*SI + TANS*SLOPE + FCOS*SLOPE*cos(ASPECT) + FSIN*SLOPE*sin(ASPECT) + [eco_unit_terms]",
14
+ "variable_definitions": {
15
+ "DDS": "Change in squared diameter (inside bark), inches^2",
16
+ "D": "DBH (diameter at breast height), inches",
17
+ "CR": "Crown ratio as integer percentage (e.g., 50 for 50%)",
18
+ "RELHT": "Relative height = HT/AVH, capped at 1.5",
19
+ "BA": "Stand basal area, sq ft/acre",
20
+ "PBAL": "Point basal area in larger trees = PBA * (1 - PCT/100)",
21
+ "SI": "Site index, feet (base age 50)",
22
+ "SLOPE": "Slope as tangent (rise/run)",
23
+ "ASPECT": "Aspect in radians"
24
+ },
25
+ "bounds": {
26
+ "DDS_minimum": -9.21,
27
+ "RELHT_maximum": 1.5,
28
+ "BA_minimum": 25.0,
29
+ "CR_minimum": 25
30
+ }
31
+ },
32
+ "species_order": {
33
+ "description": "FVS species index order (1-based Fortran arrays)",
34
+ "indices": {
35
+ "1": "FR", "2": "JU", "3": "PI", "4": "PU", "5": "SP", "6": "SA",
36
+ "7": "SR", "8": "LL", "9": "TM", "10": "PP", "11": "PD", "12": "WP",
37
+ "13": "LP", "14": "VP", "15": "BY", "16": "PC", "17": "HM", "18": "FM",
38
+ "19": "BE", "20": "RM", "21": "SV", "22": "SM", "23": "BU", "24": "BB",
39
+ "25": "SB", "26": "AH", "27": "HI", "28": "CA", "29": "HB", "30": "RD"
40
+ }
41
+ },
42
+ "core_coefficients": {
43
+ "SP": {
44
+ "species_index": 5,
45
+ "common_name": "Shortleaf Pine",
46
+ "INTERC": -0.008942,
47
+ "LDBH": 1.238170,
48
+ "DBH2": -0.001170,
49
+ "LCRWN": 0.053076,
50
+ "HREL": 0.040334,
51
+ "ISIO": 0.004723,
52
+ "PLTB": -0.004394,
53
+ "PNTBL": -0.003271,
54
+ "TANS": -0.704687,
55
+ "FCOS": 0.127667,
56
+ "FSIN": 0.028391,
57
+ "observations": 26008
58
+ },
59
+ "SA": {
60
+ "species_index": 6,
61
+ "common_name": "Slash Pine",
62
+ "INTERC": -1.641698,
63
+ "LDBH": 1.461093,
64
+ "DBH2": -0.002530,
65
+ "LCRWN": 0.265872,
66
+ "HREL": 0.069104,
67
+ "ISIO": 0.006851,
68
+ "PLTB": -0.002939,
69
+ "PNTBL": -0.004873,
70
+ "TANS": -0.018479,
71
+ "FCOS": -0.193157,
72
+ "FSIN": -0.251016,
73
+ "observations": 18736
74
+ },
75
+ "LL": {
76
+ "species_index": 8,
77
+ "common_name": "Longleaf Pine",
78
+ "INTERC": -1.331052,
79
+ "LDBH": 1.098112,
80
+ "DBH2": -0.001834,
81
+ "LCRWN": 0.184512,
82
+ "HREL": 0.388018,
83
+ "ISIO": 0.008774,
84
+ "PLTB": -0.002182,
85
+ "PNTBL": -0.002898,
86
+ "TANS": 0.225213,
87
+ "FCOS": 0.086883,
88
+ "FSIN": 0.107445,
89
+ "observations": 9190
90
+ },
91
+ "LP": {
92
+ "species_index": 13,
93
+ "common_name": "Loblolly Pine",
94
+ "INTERC": 0.222214,
95
+ "LDBH": 1.163040,
96
+ "DBH2": -0.000863,
97
+ "LCRWN": 0.028483,
98
+ "HREL": 0.006935,
99
+ "ISIO": 0.005018,
100
+ "PLTB": -0.003408,
101
+ "PNTBL": -0.004184,
102
+ "TANS": -0.759347,
103
+ "FCOS": 0.185360,
104
+ "FSIN": -0.072842,
105
+ "observations": 92313
106
+ }
107
+ },
108
+ "forest_type_coefficients": {
109
+ "description": "Categorical variables applied based on forest type classification (IFORTP)",
110
+ "forest_type_groups": {
111
+ "LOHD": {
112
+ "name": "Lowland Hardwood",
113
+ "forest_types": [168, 508, 601, 602, 605, 606, 607, 608, 702, 703, 704, 705, 706, 708],
114
+ "coefficients": {
115
+ "SP": 0.106418,
116
+ "SA": 0.325861,
117
+ "LL": 0.048216,
118
+ "LP": 0.126441
119
+ }
120
+ },
121
+ "NOHD": {
122
+ "name": "No Hardwood (Pure Softwood)",
123
+ "forest_types": [701, 801, 805],
124
+ "coefficients": {
125
+ "SP": 0.455020,
126
+ "SA": 0.000000,
127
+ "LL": 0.000000,
128
+ "LP": -0.122163
129
+ }
130
+ },
131
+ "OKPN": {
132
+ "name": "Oak-Pine",
133
+ "forest_types": [165, 403, 404, 405, 406, 407, 409],
134
+ "coefficients": {
135
+ "SP": 0.017518,
136
+ "SA": 0.116235,
137
+ "LL": 0.088872,
138
+ "LP": 0.050835
139
+ }
140
+ },
141
+ "SFHP": {
142
+ "name": "Spruce-Fir/Hemlock-Pine",
143
+ "forest_types": [104, 105, 121, 124],
144
+ "coefficients": {
145
+ "SP": 0.000000,
146
+ "SA": 0.000000,
147
+ "LL": 0.000000,
148
+ "LP": 0.000000
149
+ }
150
+ },
151
+ "UPHD": {
152
+ "name": "Upland Hardwood",
153
+ "forest_types": [103, 167, 181, 401, 402, 506, 507, 511, 512, 513, 519, 520, 802, 803, 807, 809],
154
+ "coefficients": {
155
+ "SP": 0.066811,
156
+ "SA": 0.162020,
157
+ "LL": 0.086720,
158
+ "LP": 0.063669
159
+ }
160
+ },
161
+ "UPOK": {
162
+ "name": "Upland Oak",
163
+ "forest_types": [501, 502, 503, 504, 505, 510, 514, 515],
164
+ "coefficients": {
165
+ "SP": -0.040181,
166
+ "SA": 0.410684,
167
+ "LL": 0.106061,
168
+ "LP": -0.016885
169
+ }
170
+ },
171
+ "YLPN": {
172
+ "name": "Yellow Pine",
173
+ "forest_types": [141, 142, 161, 162, 163, 164, 166],
174
+ "coefficients": {
175
+ "SP": 0.000000,
176
+ "SA": 0.000000,
177
+ "LL": 0.000000,
178
+ "LP": 0.000000
179
+ }
180
+ }
181
+ },
182
+ "plant_effect": {
183
+ "description": "Applied when MANAGD keyword is set (plantation effect)",
184
+ "coefficients": {
185
+ "SP": 0.000000,
186
+ "SA": 0.227572,
187
+ "LL": 0.110751,
188
+ "LP": 0.245669
189
+ }
190
+ }
191
+ },
192
+ "ecological_unit_coefficients": {
193
+ "description": "Categorical variables based on ecological unit classification (Bailey's ecoregion codes)",
194
+ "provinces": {
195
+ "PM221": {
196
+ "name": "Mountain Province 221",
197
+ "description": "Mountainous terrain in province 221",
198
+ "coefficients": {"SP": -0.569409, "SA": 0.000000, "LL": 0.000000, "LP": -0.069716}
199
+ },
200
+ "PM222": {
201
+ "name": "Mountain Province 222/223",
202
+ "description": "Mountainous terrain in provinces 222 or 223",
203
+ "coefficients": {"SP": -0.252741, "SA": 0.000000, "LL": 0.000000, "LP": 0.581967}
204
+ },
205
+ "PM231": {
206
+ "name": "Mountain Province 231",
207
+ "description": "Mountainous terrain in province 231",
208
+ "coefficients": {"SP": -0.265699, "SA": 0.000000, "LL": 0.000000, "LP": 0.790149}
209
+ },
210
+ "P221": {
211
+ "name": "Province 221 (non-mountain)",
212
+ "description": "Coastal plains/piedmont in province 221",
213
+ "coefficients": {"SP": -0.694484, "SA": 0.000000, "LL": 0.000000, "LP": -0.584818}
214
+ },
215
+ "P222": {
216
+ "name": "Province 222/223",
217
+ "description": "Province 222 or 223",
218
+ "coefficients": {"SP": -0.285112, "SA": 0.000000, "LL": -0.034553, "LP": -0.364073}
219
+ },
220
+ "S231T": {
221
+ "name": "Section 231 (Transition)",
222
+ "description": "Province 231 transition sections (A,C,D,I)",
223
+ "coefficients": {"SP": -0.504565, "SA": -0.025549, "LL": -0.175073, "LP": -0.183317}
224
+ },
225
+ "S231L": {
226
+ "name": "Section 231 (Lowland)",
227
+ "description": "Province 231 lowland sections (B,E,F,G)",
228
+ "coefficients": {"SP": 0.000000, "SA": 0.324111, "LL": -0.067793, "LP": 0.256273}
229
+ },
230
+ "P232": {
231
+ "name": "Province 232",
232
+ "description": "Outer Coastal Plain Mixed Forest Province",
233
+ "coefficients": {"SP": -0.113258, "SA": 0.000000, "LL": 0.000000, "LP": 0.000000}
234
+ },
235
+ "P234": {
236
+ "name": "Province 234",
237
+ "description": "Lower Mississippi Riverine Forest Province",
238
+ "coefficients": {"SP": 0.114097, "SA": 0.306793, "LL": 0.123262, "LP": 0.281790}
239
+ },
240
+ "P255": {
241
+ "name": "Province 255",
242
+ "description": "Prairie Parkland Province",
243
+ "coefficients": {"SP": 0.092458, "SA": 0.000000, "LL": 0.000000, "LP": 0.274618}
244
+ },
245
+ "P411": {
246
+ "name": "Province 411",
247
+ "description": "Everglades Province",
248
+ "coefficients": {"SP": 0.000000, "SA": -0.342293, "LL": 0.000000, "LP": 0.000000}
249
+ }
250
+ }
251
+ },
252
+ "fort_bragg_equations": {
253
+ "description": "Special diameter growth equations for Fort Bragg forest (IFOR=20)",
254
+ "applies_to_species": ["LL", "LP"],
255
+ "LL": {
256
+ "species_index": 8,
257
+ "equation": "DG5 = (D*BARK) * ((-0.4553*(0.09737-exp(-0.2428*D))) + 0.05574*(CR/100) - 0.0002965*BA - 0.00002481*PBA - 0.001192*((PCT/100)^(-0.9663)) + 0.0010110*SI - 0.007711*RELHT)",
258
+ "coefficients": {
259
+ "dbh_exp_a": -0.4553,
260
+ "dbh_exp_b": 0.09737,
261
+ "dbh_exp_c": -0.2428,
262
+ "crown_ratio": 0.05574,
263
+ "basal_area": -0.0002965,
264
+ "point_basal_area": -0.00002481,
265
+ "percentile_a": -0.001192,
266
+ "percentile_b": -0.9663,
267
+ "site_index": 0.0010110,
268
+ "relative_height": -0.007711
269
+ },
270
+ "observations": 2056
271
+ },
272
+ "LP": {
273
+ "species_index": 13,
274
+ "equation": "DG5 = (D*BARK) * ((-0.3428*(-0.1741-exp(-0.1328*D))) + 0.1145*(CR/100) - 0.0001682*BA - 0.00003978*PBA - 0.159400*((PCT/100)^(-0.1299)) + 0.0006204*SI + 0.02474*RELHT)",
275
+ "coefficients": {
276
+ "dbh_exp_a": -0.3428,
277
+ "dbh_exp_b": -0.1741,
278
+ "dbh_exp_c": -0.1328,
279
+ "crown_ratio": 0.1145,
280
+ "basal_area": -0.0001682,
281
+ "point_basal_area": -0.00003978,
282
+ "percentile_a": -0.159400,
283
+ "percentile_b": -0.1299,
284
+ "site_index": 0.0006204,
285
+ "relative_height": 0.02474
286
+ },
287
+ "observations": 689
288
+ },
289
+ "conversion_note": "DDS = ln((DG5*(2.0*D*BARK+DG5))) where DG5 >= 0.01"
290
+ },
291
+ "implementation_notes": {
292
+ "array_indexing": "FVS uses 1-based Fortran arrays. Subtract 1 for Python 0-based indexing.",
293
+ "crown_ratio_units": "Crown ratio (ICR) is stored as integer percentage (0-100), not proportion",
294
+ "aspect_units": "Aspect is in radians for cos/sin calculations",
295
+ "slope_units": "Slope is tangent (rise/run), not percent or degrees",
296
+ "dds_to_diameter_growth": "After calculating DDS, convert back: DG = sqrt(D^2 + exp(DDS)) - D",
297
+ "bark_ratio": "All diameter growth is inside bark. Apply bark ratio to convert to outside bark.",
298
+ "calibration": "DGCON includes site-specific calibration factor COR from DGDRIV"
299
+ }
300
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "FR": {"P2": 2163.946776, "P3": 6.26880851, "P4": -0.2161439, "Dbw": 0.1, "Wykoff_B1": 4.5084, "Wykoff_B2": -6.0116},
3
+ "JU": {"P2": 212.7932729, "P3": 3.47154903, "P4": -0.3258523, "Dbw": 0.3, "Wykoff_B1": 4.0374, "Wykoff_B2": -4.2964},
4
+ "PI": {"P2": 2163.946776, "P3": 6.26880851, "P4": -0.2161439, "Dbw": 0.2, "Wykoff_B1": 4.5084, "Wykoff_B2": -6.0116},
5
+ "PU": {"P2": 3919.995225, "P3": 6.87312726, "P4": -0.19063343, "Dbw": 0.5, "Wykoff_B1": 4.2899, "Wykoff_B2": -4.1019},
6
+ "SP": {"P2": 444.0921666, "P3": 4.11876312, "P4": -0.30617043, "Dbw": 0.5, "Wykoff_B1": 4.6271, "Wykoff_B2": -6.4095},
7
+ "SP*": {"P2": 444.0921666, "P3": 4.11876312, "P4": -0.30617043, "Dbw": 0.5, "Wykoff_B1": 4.705, "Wykoff_B2": -7.904},
8
+ "SA": {"P2": 1087.101439, "P3": 5.10450596, "P4": -0.24284896, "Dbw": 0.5, "Wykoff_B1": 4.6561, "Wykoff_B2": -6.2258},
9
+ "SA*": {"P2": 110.3, "P3": 7.0670, "P4": -1.0420, "Dbw": 0.5, "Wykoff_B1": 4.787, "Wykoff_B2": -8.015},
10
+ "SR": {"P2": 333.3145742, "P3": 4.13108244, "P4": -0.37092539, "Dbw": 0.5, "Wykoff_B1": 4.7258, "Wykoff_B2": -6.7703},
11
+ "LL": {"P2": 98.56082813, "P3": 3.89930709, "P4": -0.86730393, "Dbw": 0.5, "Wykoff_B1": 4.5991, "Wykoff_B2": -5.9111},
12
+ "LL*": {"P2": 114.6, "P3": 4.1840, "P4": -0.6940, "Dbw": 0.5, "Wykoff_B1": 4.562, "Wykoff_B2": -7.314},
13
+ "TM": {"P2": 691.5411919, "P3": 4.19801014, "P4": -0.1856823, "Dbw": 0.5, "Wykoff_B1": 4.2139, "Wykoff_B2": -4.5419},
14
+ "PP": {"P2": 208.7773185, "P3": 3.72806565, "P4": -0.410875, "Dbw": 0.5, "Wykoff_B1": 4.3898, "Wykoff_B2": -5.7183},
15
+ "PD": {"P2": 142.7468108, "P3": 3.97260802, "P4": -0.5870983, "Dbw": 0.5, "Wykoff_B1": 4.5457, "Wykoff_B2": -6.8000},
16
+ "PD*": {"P2": 623.9, "P3": 4.7396, "P4": -0.2763, "Dbw": 0.5, "Wykoff_B1": 4.806, "Wykoff_B2": -9.573},
17
+ "WP": {"P2": 2108.844224, "P3": 5.65948135, "P4": -0.18563136, "Dbw": 0.4, "Wykoff_B1": 4.6090, "Wykoff_B2": -6.1896},
18
+ "LP": {"P2": 243.860648, "P3": 4.28460566, "P4": -0.47130185, "Dbw": 0.5, "Wykoff_B1": 4.6897, "Wykoff_B2": -6.8801},
19
+ "LP*": {"P2": 184.3, "P3": 4.2660, "P4": -0.5496, "Dbw": 0.5, "Wykoff_B1": 4.79, "Wykoff_B2": -8.5},
20
+ "VP": {"P2": 926.1802712, "P3": 4.46209203, "P4": -0.20053974, "Dbw": 0.5, "Wykoff_B1": 4.4718, "Wykoff_B2": -5.0078},
21
+ "BY": {"P2": 119.5749091, "P3": 4.13535453, "P4": -0.79625456, "Dbw": 0.2, "Wykoff_B1": 4.6171, "Wykoff_B2": -6.2684},
22
+ "PC": {"P2": 162.6505825, "P3": 3.20796415, "P4": -0.47880203, "Dbw": 0.2, "Wykoff_B1": 4.4603, "Wykoff_B2": -5.0577},
23
+ "HM": {"P2": 266.4562239, "P3": 3.99313675, "P4": -0.38600287, "Dbw": 0.1, "Wykoff_B1": 4.5084, "Wykoff_B2": -6.0116},
24
+ "FM": {"P2": 603.6736175, "P3": 3.9896005, "P4": -0.21651785, "Dbw": 0.2, "Wykoff_B1": 4.3164, "Wykoff_B2": -4.0582},
25
+ "BE": {"P2": 287.9445676, "P3": 3.27674704, "P4": -0.26617485, "Dbw": 0.2, "Wykoff_B1": 4.2378, "Wykoff_B2": -4.1080},
26
+ "RM": {"P2": 268.5564351, "P3": 3.11432843, "P4": -0.29411156, "Dbw": 0.2, "Wykoff_B1": 4.3379, "Wykoff_B2": -3.8214},
27
+ "SV": {"P2": 80.51179925, "P3": 26.98331005, "P4": -2.02202808, "Dbw": 0.2, "Wykoff_B1": 4.5991, "Wykoff_B2": -6.6706},
28
+ "SM": {"P2": 209.8555358, "P3": 2.95281334, "P4": -0.36787496, "Dbw": 0.2, "Wykoff_B1": 4.4834, "Wykoff_B2": -4.5431},
29
+ "BU": {"P2": 630.9504602, "P3": 4.51086779, "P4": -0.26826208, "Dbw": 0.3, "Wykoff_B1": 4.5697, "Wykoff_B2": -5.7172},
30
+ "BB": {"P2": 170.5253403, "P3": 2.68833651, "P4": -0.40080716, "Dbw": 0.1, "Wykoff_B1": 4.4388, "Wykoff_B2": -4.0872},
31
+ "SB": {"P2": 68.92234069, "P3": 43.33832185, "P4": -2.44448482, "Dbw": 0.1, "Wykoff_B1": 4.4522, "Wykoff_B2": -4.5758},
32
+ "AH": {"P2": 628.0209077, "P3": 3.88103963, "P4": -0.15387585, "Dbw": 0.2, "Wykoff_B1": 3.8550, "Wykoff_B2": -2.6623},
33
+ "HI": {"P2": 337.6684758, "P3": 3.62726466, "P4": -0.32083172, "Dbw": 0.3, "Wykoff_B1": 4.5128, "Wykoff_B2": -4.9918},
34
+ "CA": {"P2": 190.9797059, "P3": 3.69278884, "P4": -0.52730469, "Dbw": 0.3, "Wykoff_B1": 4.9396, "Wykoff_B2": -8.1838},
35
+ "HB": {"P2": 484.7529797, "P3": 3.93933286, "P4": -0.25998833, "Dbw": 0.1, "Wykoff_B1": 4.4207, "Wykoff_B2": -5.1435},
36
+ "RD": {"P2": 103.1767713, "P3": 2.21695491, "P4": -0.3596216, "Dbw": 0.2, "Wykoff_B1": 3.7512, "Wykoff_B2": -2.5539},
37
+ "DW": {"P2": 863.0501053, "P3": 4.38560239, "P4": -0.14812185, "Dbw": 0.1, "Wykoff_B1": 3.7301, "Wykoff_B2": -2.7758},
38
+ "PS": {"P2": 488.9349192, "P3": 4.06503751, "P4": -0.27180547, "Dbw": 0.2, "Wykoff_B1": 4.4091, "Wykoff_B2": -4.8464},
39
+ "AB": {"P2": 526.1392688, "P3": 3.89232121, "P4": -0.22587084, "Dbw": 0.1, "Wykoff_B1": 4.4772, "Wykoff_B2": -4.7206},
40
+ "AS": {"P2": 251.4042514, "P3": 3.26919806, "P4": -0.35905996, "Dbw": 0.2, "Wykoff_B1": 4.4819, "Wykoff_B2": -4.5314},
41
+ "WA": {"P2": 91.35276617, "P3": 6.99605268, "P4": -1.22937669, "Dbw": 0.2, "Wykoff_B1": 4.5959, "Wykoff_B2": -6.4497},
42
+ "BA": {"P2": 178.9307637, "P3": 4.92861465, "P4": -0.63777014, "Dbw": 0.2, "Wykoff_B1": 4.6155, "Wykoff_B2": -6.2945},
43
+ "GA": {"P2": 404.9692122, "P3": 3.39019741, "P4": -0.255096, "Dbw": 0.2, "Wykoff_B1": 4.6155, "Wykoff_B2": -6.2945},
44
+ "HL": {"P2": 778.9356784, "P3": 4.20756452, "P4": -0.18734197, "Dbw": 0.1, "Wykoff_B1": 4.3734, "Wykoff_B2": -5.3135},
45
+ "LB": {"P2": 265.7422693, "P3": 3.59041788, "P4": -0.35232417, "Dbw": 0.2, "Wykoff_B1": 4.4009, "Wykoff_B2": -5.0560},
46
+ "HA": {"P2": 2620.585492, "P3": 5.84993689, "P4": -0.18030935, "Dbw": 0.2, "Wykoff_B1": 4.4931, "Wykoff_B2": -4.6501},
47
+ "HY": {"P2": 1467.643523, "P3": 5.33438509, "P4": -0.17395792, "Dbw": 0.1, "Wykoff_B1": 4.0151, "Wykoff_B2": -4.3314},
48
+ "BN": {"P2": 285.8797853, "P3": 3.52138815, "P4": -0.3193688, "Dbw": 0.3, "Wykoff_B1": 4.5018, "Wykoff_B2": -5.6123},
49
+ "WN": {"P2": 93.71042027, "P3": 3.6575094, "P4": -0.88246833, "Dbw": 0.4, "Wykoff_B1": 4.5018, "Wykoff_B2": -5.6123},
50
+ "SU": {"P2": 290.90548, "P3": 3.6239536, "P4": -0.3720123, "Dbw": 0.2, "Wykoff_B1": 4.5920, "Wykoff_B2": -5.1719},
51
+ "YP": {"P2": 625.7696614, "P3": 3.87320571, "P4": -0.23349496, "Dbw": 0.2, "Wykoff_B1": 4.6892, "Wykoff_B2": -4.9605},
52
+ "MG": {"P2": 585.6609078, "P3": 3.41972033, "P4": -0.17661706, "Dbw": 0.2, "Wykoff_B1": 4.4004, "Wykoff_B2": -4.7519},
53
+ "CT": {"P2": 660.1996521, "P3": 3.92077102, "P4": -0.21124354, "Dbw": 0.2, "Wykoff_B1": 4.6067, "Wykoff_B2": -5.2030},
54
+ "MS": {"P2": 139.3315132, "P3": 2.89981329, "P4": -0.48514023, "Dbw": 0.2, "Wykoff_B1": 4.4004, "Wykoff_B2": -4.7519},
55
+ "MV": {"P2": 184.1931837, "P3": 2.84569124, "P4": -0.36952511, "Dbw": 0.2, "Wykoff_B1": 4.3609, "Wykoff_B2": -4.1423},
56
+ "ML": {"P2": 366.4744742, "P3": 2.8733336, "P4": -0.1819814, "Dbw": 0.2, "Wykoff_B1": 4.4004, "Wykoff_B2": -4.7519},
57
+ "AP": {"P2": 574.0200612, "P3": 3.86373895, "P4": -0.16318776, "Dbw": 0.2, "Wykoff_B1": 3.9678, "Wykoff_B2": -3.2510},
58
+ "MB": {"P2": 750.1823388, "P3": 4.14262749, "P4": -0.15940723, "Dbw": 0.2, "Wykoff_B1": 3.9613, "Wykoff_B2": -3.1993},
59
+ "WT": {"P2": 163.9728054, "P3": 2.76819717, "P4": -0.44098009, "Dbw": 0.2, "Wykoff_B1": 4.4330, "Wykoff_B2": -4.5383},
60
+ "BG": {"P2": 319.9788466, "P3": 3.67313408, "P4": -0.30651323, "Dbw": 0.2, "Wykoff_B1": 4.3802, "Wykoff_B2": -4.7903},
61
+ "TS": {"P2": 252.3566527, "P3": 3.24398683, "P4": -0.33343129, "Dbw": 0.2, "Wykoff_B1": 4.4334, "Wykoff_B2": -4.5709},
62
+ "HH": {"P2": 109.7324294, "P3": 2.25025802, "P4": -0.41297463, "Dbw": 0.2, "Wykoff_B1": 4.0322, "Wykoff_B2": -3.0833},
63
+ "SD": {"P2": 690.4917743, "P3": 4.15983216, "P4": -0.18613455, "Dbw": 0.2, "Wykoff_B1": 4.1352, "Wykoff_B2": -3.7450},
64
+ "RA": {"P2": 257.0532628, "P3": 3.4047448, "P4": -0.30291274, "Dbw": 0.2, "Wykoff_B1": 4.0965, "Wykoff_B2": -3.9250},
65
+ "SY": {"P2": 644.3567687, "P3": 3.92045786, "P4": -0.21444786, "Dbw": 0.1, "Wykoff_B1": 4.6355, "Wykoff_B2": -5.2776},
66
+ "CW": {"P2": 190.9797059, "P3": 3.69278884, "P4": -0.52730469, "Dbw": 0.1, "Wykoff_B1": 4.9396, "Wykoff_B2": -8.1838},
67
+ "BT": {"P2": 66.6488871, "P3": 135.4825559, "P4": -2.88622709, "Dbw": 0.2, "Wykoff_B1": 4.9396, "Wykoff_B2": -8.1838},
68
+ "BC": {"P2": 364.0247807, "P3": 3.55987361, "P4": -0.27263121, "Dbw": 0.1, "Wykoff_B1": 4.3286, "Wykoff_B2": -4.0922},
69
+ "WO": {"P2": 170.1330787, "P3": 3.27815866, "P4": -0.48744214, "Dbw": 0.2, "Wykoff_B1": 4.5463, "Wykoff_B2": -5.2287},
70
+ "SO": {"P2": 196.0564703, "P3": 3.0067167, "P4": -0.38499624, "Dbw": 0.2, "Wykoff_B1": 4.5225, "Wykoff_B2": -4.9401},
71
+ "SK": {"P2": 150.4300023, "P3": 3.13270999, "P4": -0.49925872, "Dbw": 0.1, "Wykoff_B1": 4.5142, "Wykoff_B2": -5.2205},
72
+ "CB": {"P2": 182.6306309, "P3": 3.12897883, "P4": -0.46391125, "Dbw": 0.1, "Wykoff_B1": 4.7342, "Wykoff_B2": -6.2674},
73
+ "TO": {"P2": 2137.575644, "P3": 5.80907868, "P4": -0.15590506, "Dbw": 0.2, "Wykoff_B1": 3.9365, "Wykoff_B2": -4.4599},
74
+ "LK": {"P2": 208.2300233, "P3": 3.13834277, "P4": -0.37158262, "Dbw": 0.1, "Wykoff_B1": 4.4375, "Wykoff_B2": -4.6654},
75
+ "OV": {"P2": 184.0856396, "P3": 3.49535241, "P4": -0.46211544, "Dbw": 0.2, "Wykoff_B1": 4.5710, "Wykoff_B2": -6.0922},
76
+ "BJ": {"P2": 157.4828626, "P3": 3.38919504, "P4": -0.39151499, "Dbw": 0.2, "Wykoff_B1": 3.9191, "Wykoff_B2": -4.3503},
77
+ "SN": {"P2": 281.3413276, "P3": 3.51695826, "P4": -0.3336282, "Dbw": 0.2, "Wykoff_B1": 4.6135, "Wykoff_B2": -5.7613},
78
+ "CK": {"P2": 72.7907469, "P3": 3.67065539, "P4": -1.09878979, "Dbw": 0.1, "Wykoff_B1": 4.3420, "Wykoff_B2": -5.1193},
79
+ "WK": {"P2": 470.0617193, "P3": 3.78892643, "P4": -0.25123824, "Dbw": 0.1, "Wykoff_B1": 4.5577, "Wykoff_B2": -4.9595},
80
+ "CO": {"P2": 94.54465221, "P3": 3.42034111, "P4": -0.818759, "Dbw": 0.2, "Wykoff_B1": 4.4618, "Wykoff_B2": -4.8786},
81
+ "RO": {"P2": 700.0636452, "P3": 4.10607389, "P4": -0.21392785, "Dbw": 0.2, "Wykoff_B1": 4.5202, "Wykoff_B2": -4.8896},
82
+ "QS": {"P2": 215.0009406, "P3": 3.14204012, "P4": -0.39067352, "Dbw": 0.1, "Wykoff_B1": 4.6106, "Wykoff_B2": -5.4380},
83
+ "PO": {"P2": 765.2907525, "P3": 4.22375114, "P4": -0.18974706, "Dbw": 0.1, "Wykoff_B1": 4.2496, "Wykoff_B2": -4.8061},
84
+ "BO": {"P2": 224.716279, "P3": 3.11648501, "P4": -0.35982064, "Dbw": 0.2, "Wykoff_B1": 4.4747, "Wykoff_B2": -4.8698},
85
+ "LO": {"P2": 153.9588254, "P3": 3.11348786, "P4": -0.38947124, "Dbw": 0.2, "Wykoff_B1": 4.2959, "Wykoff_B2": -5.3332},
86
+ "BK": {"P2": 880.2844971, "P3": 4.59642097, "P4": -0.21824277, "Dbw": 0.1, "Wykoff_B1": 4.4299, "Wykoff_B2": -4.9920},
87
+ "WI": {"P2": 408.2772475, "P3": 3.81808285, "P4": -0.27210505, "Dbw": 0.1, "Wykoff_B1": 4.4911, "Wykoff_B2": -5.7928},
88
+ "SS": {"P2": 755.1038099, "P3": 4.39496421, "P4": -0.21778831, "Dbw": 0.1, "Wykoff_B1": 4.3383, "Wykoff_B2": -4.5018},
89
+ "BD": {"P2": 293.5715132, "P3": 3.52261899, "P4": -0.35122247, "Dbw": 0.1, "Wykoff_B1": 4.582, "Wykoff_B2": -5.0903},
90
+ "EL": {"P2": 1005.80672, "P3": 4.6473994, "P4": -0.20336143, "Dbw": 0.1, "Wykoff_B1": 4.3744, "Wykoff_B2": -4.5257},
91
+ "WE": {"P2": 1001.672885, "P3": 4.57310438, "P4": -0.18898217, "Dbw": 0.1, "Wykoff_B1": 4.5992, "Wykoff_B2": -7.7428},
92
+ "AE": {"P2": 418.5941897, "P3": 3.17038578, "P4": -0.18964025, "Dbw": 0.1, "Wykoff_B1": 4.6008, "Wykoff_B2": -7.2732},
93
+ "RL": {"P2": 1337.547184, "P3": 4.48953501, "P4": -0.14749529, "Dbw": 0.1, "Wykoff_B1": 4.6238, "Wykoff_B2": -7.4847},
94
+ "OS": {"P2": 212.7932729, "P3": 3.47154903, "P4": -0.3258523, "Dbw": 0.3, "Wykoff_B1": 4.3898, "Wykoff_B2": -5.7183},
95
+ "OH": {"P2": 109.7324294, "P3": 2.25025802, "P4": -0.41297463, "Dbw": 0.2, "Wykoff_B1": 3.9392, "Wykoff_B2": -3.4279},
96
+ "OT": {"P2": 31021.35552, "P3": 8.3958757, "P4": -0.10372075, "Dbw": 0.2, "Wykoff_B1": 3.9089, "Wykoff_B2": -3.0149}
97
+ }
@@ -0,0 +1,191 @@
1
+ {
2
+ "metadata": {
3
+ "title": "Large Tree Height Growth for FVS Southern Variant",
4
+ "description": "Large tree height growth model following Wensel et al. (1987) approach with crown ratio and relative height modifiers",
5
+ "source": "FVS Southern Variant Documentation - Section 4.7.2",
6
+ "threshold_diameter": 3.0,
7
+ "threshold_description": "Trees equal to or larger than 3.0 inches DBH are considered 'large trees'",
8
+ "model_type": "Diameter growth driven (diameter growth predicted first, then height growth)",
9
+ "equations": {
10
+ "4.7.2.1": "HTG = POTHTG * (0.25 * HGMDCR + 0.75 * HGMDRH)",
11
+ "4.7.2.2": "HGMDCR = 100 * CR^3.0 * exp(-5.0*CR)",
12
+ "4.7.2.3": "FCTRKX = ((RHK / RHYXS)^(RHM - 1)) - 1",
13
+ "4.7.2.4": "FCTRRB = (-1.0 * RHR) / (1 - RHB)",
14
+ "4.7.2.5": "FCTRXB = RELHT^(1 - RHB) - RHXS^(1 - RHB)",
15
+ "4.7.2.6": "FCTRM = 1 / (1 - RHM)",
16
+ "4.7.2.7": "HGMDRH = RHK * (1 + FCTRKX * exp(FCTRRB * FCTRXB))^FCTRM"
17
+ },
18
+ "variable_definitions": {
19
+ "HTG": "Periodic height growth",
20
+ "POTHTG": "Potential periodic height growth (see section 4.6.1)",
21
+ "HGMDCR": "Crown ratio modifier (bounded to HGMDCR < 1.0)",
22
+ "HGMDRH": "Relative height modifier",
23
+ "CR": "Crown ratio expressed as a proportion",
24
+ "RELHT": "Subject tree's height relative to the 40 tallest trees in the stand",
25
+ "RHK": "Shade tolerance coefficient",
26
+ "RHYXS": "Shade tolerance coefficient",
27
+ "RHXS": "Shade tolerance coefficient",
28
+ "RHR": "Shade tolerance coefficient",
29
+ "RHB": "Shade tolerance coefficient",
30
+ "RHM": "Shade tolerance coefficient",
31
+ "FCTRKX": "Intermediate calculation factor",
32
+ "FCTRRB": "Intermediate calculation factor",
33
+ "FCTRXB": "Intermediate calculation factor",
34
+ "FCTRM": "Intermediate calculation factor"
35
+ }
36
+ },
37
+ "model_methodology": {
38
+ "approach": "Follows Wensel et al. (1987) where potential height growth is calculated for every tree and modified based on individual tree crown ratio and relative height in the stand",
39
+ "potential_height_growth": "Calculated using the methodology described in the small-tree height increment model (section 4.6.1)",
40
+ "crown_ratio_modifier": {
41
+ "function_type": "Hoerl's Special Function (HSF) form (Cuthbert and Wood 1971, p. 23)",
42
+ "range": "0.0 to 1.0",
43
+ "optimization": "Parameters chosen so that height growth is maximized for crown ratios between 45 and 75%"
44
+ },
45
+ "relative_height_modifier": {
46
+ "function_type": "Generalized Chapman-Richards function (Donnelly and Betters 1991, Donnelly and others 1992, and Pienaar and Turnbull 1973)",
47
+ "purpose": "Attenuate height growth based on relative height and shade tolerance",
48
+ "range": "0.0 to 1.0",
49
+ "behavior": "Decreases with decreasing relative height and species intolerance",
50
+ "asymptote": "Height growth reaches upper asymptote of 1.0 at relative height of 1.0 for intolerant species and 0.7 for tolerant species"
51
+ },
52
+ "weighting": {
53
+ "crown_ratio_weight": 0.25,
54
+ "relative_height_weight": 0.75
55
+ }
56
+ },
57
+ "shade_tolerance_coefficients": {
58
+ "very_tolerant": {
59
+ "RHR": 20,
60
+ "RHYXS": 0.20,
61
+ "RHM": 1.1,
62
+ "RHB": -1.10,
63
+ "RHXS": 0,
64
+ "RHK": 1
65
+ },
66
+ "tolerant": {
67
+ "RHR": 16,
68
+ "RHYXS": 0.15,
69
+ "RHM": 1.1,
70
+ "RHB": -1.20,
71
+ "RHXS": 0,
72
+ "RHK": 1
73
+ },
74
+ "intermediate": {
75
+ "RHR": 15,
76
+ "RHYXS": 0.10,
77
+ "RHM": 1.1,
78
+ "RHB": -1.45,
79
+ "RHXS": 0,
80
+ "RHK": 1
81
+ },
82
+ "intolerant": {
83
+ "RHR": 13,
84
+ "RHYXS": 0.05,
85
+ "RHM": 1.1,
86
+ "RHB": -1.60,
87
+ "RHXS": 0,
88
+ "RHK": 1
89
+ },
90
+ "very_intolerant": {
91
+ "RHR": 12,
92
+ "RHYXS": 0.01,
93
+ "RHM": 1.1,
94
+ "RHB": -1.60,
95
+ "RHXS": 0,
96
+ "RHK": 1
97
+ }
98
+ },
99
+ "species_shade_tolerance": {
100
+ "FR": "very_tolerant",
101
+ "JU": "intolerant",
102
+ "PI": "tolerant",
103
+ "PU": "intolerant",
104
+ "SP": "intolerant",
105
+ "SA": "intolerant",
106
+ "SR": "very_tolerant",
107
+ "LL": "intolerant",
108
+ "TM": "intolerant",
109
+ "PP": "intolerant",
110
+ "PD": "intolerant",
111
+ "WP": "intermediate",
112
+ "LP": "intolerant",
113
+ "VP": "intolerant",
114
+ "BY": "intermediate",
115
+ "PC": "intermediate",
116
+ "HM": "very_tolerant",
117
+ "FM": "tolerant",
118
+ "BE": "tolerant",
119
+ "RM": "tolerant",
120
+ "SV": "tolerant",
121
+ "SM": "very_tolerant",
122
+ "BU": "tolerant",
123
+ "BB": "intolerant",
124
+ "SB": "intolerant",
125
+ "AH": "very_tolerant",
126
+ "HI": "intermediate",
127
+ "CA": "intolerant",
128
+ "HB": "intermediate",
129
+ "RD": "tolerant",
130
+ "DW": "very_tolerant",
131
+ "PS": "very_tolerant",
132
+ "AB": "very_tolerant",
133
+ "AS": "tolerant",
134
+ "WA": "intolerant",
135
+ "BA": "intolerant",
136
+ "GA": "tolerant",
137
+ "HL": "intolerant",
138
+ "LB": "tolerant",
139
+ "HA": "tolerant",
140
+ "HY": "very_tolerant",
141
+ "BN": "intolerant",
142
+ "WN": "intolerant",
143
+ "SU": "intolerant",
144
+ "YP": "intolerant",
145
+ "MG": "tolerant",
146
+ "CT": "intermediate",
147
+ "MS": "tolerant",
148
+ "MV": "intermediate",
149
+ "ML": "tolerant",
150
+ "AP": "intolerant",
151
+ "MB": "tolerant",
152
+ "WT": "intolerant",
153
+ "BG": "tolerant",
154
+ "TS": "intolerant",
155
+ "HH": "tolerant",
156
+ "SD": "tolerant",
157
+ "RA": "tolerant",
158
+ "SY": "intermediate",
159
+ "CW": "very_intolerant",
160
+ "BT": "very_intolerant",
161
+ "BC": "intolerant",
162
+ "WO": "intermediate",
163
+ "SO": "very_intolerant",
164
+ "SK": "intermediate",
165
+ "CB": "intolerant",
166
+ "TO": "intolerant",
167
+ "LK": "tolerant",
168
+ "OV": "intermediate",
169
+ "BJ": "intolerant",
170
+ "SN": "intolerant",
171
+ "CK": "intolerant",
172
+ "WK": "intolerant",
173
+ "CO": "intermediate",
174
+ "RO": "intermediate",
175
+ "QS": "intolerant",
176
+ "PO": "intolerant",
177
+ "BO": "intermediate",
178
+ "LO": "intermediate",
179
+ "BK": "very_intolerant",
180
+ "WI": "very_intolerant",
181
+ "SS": "intolerant",
182
+ "BD": "tolerant",
183
+ "EL": "intermediate",
184
+ "WE": "tolerant",
185
+ "AE": "intermediate",
186
+ "RL": "tolerant",
187
+ "OS": "intermediate",
188
+ "OH": "intermediate",
189
+ "OT": "intermediate"
190
+ }
191
+ }