@@ -26,10 +26,11 @@ module EDPftvarcon
2626 ! ED specific variables.
2727 type, public :: EDPftvarcon_type
2828 real (r8 ), allocatable :: pft_used (:) ! Switch to turn on and off PFTs
29- real ( r8 ), allocatable :: max_dbh (:) ! maximum dbh at which height growth ceases...
29+
3030 real (r8 ), allocatable :: freezetol (:) ! minimum temperature tolerance (NOT CURRENTY USED)
3131 real (r8 ), allocatable :: wood_density (:) ! wood density g cm^-3 ...
3232 real (r8 ), allocatable :: hgt_min (:) ! sapling height m
33+ real (r8 ), allocatable :: dbh_repro_threshold(:) ! diameter at which mature plants shift allocation
3334 real (r8 ), allocatable :: dleaf (:) ! leaf characteristic dimension length (m)
3435 real (r8 ), allocatable :: z0mr (:) ! ratio of roughness length of vegetation to height (-)
3536 real (r8 ), allocatable :: displar (:) ! ratio of displacement height to canopy top height (-)
@@ -45,6 +46,7 @@ module EDPftvarcon
4546 real (r8 ), allocatable :: root_long (:) ! root longevity (yrs)
4647 real (r8 ), allocatable :: clone_alloc (:) ! fraction of carbon balance allocated to clonal reproduction.
4748 real (r8 ), allocatable :: seed_alloc (:) ! fraction of carbon balance allocated to seeds.
49+ real (r8 ), allocatable :: c2b (:) ! Carbon to biomass multiplier [kg/kgC]
4850 real (r8 ), allocatable :: woody(:)
4951 real (r8 ), allocatable :: stress_decid(:)
5052 real (r8 ), allocatable :: season_decid(:)
@@ -98,7 +100,9 @@ module EDPftvarcon
98100 ! Equation 16 Thonicke et al 2010
99101
100102 ! Allometry Parameters
101- ! --------------------------------------------------------------------------------------------
103+ ! --------------------------------------------------------------------------------------------
104+ real (r8 ), allocatable :: allom_dbh_maxheight(:) ! dbh at which height growth ceases
105+
102106 real (r8 ), allocatable :: allom_hmode(:) ! height allometry function type
103107 real (r8 ), allocatable :: allom_lmode(:) ! maximum leaf allometry function type
104108 real (r8 ), allocatable :: allom_fmode(:) ! maximum root allometry function type
@@ -117,7 +121,6 @@ module EDPftvarcon
117121 real (r8 ), allocatable :: allom_d2bl2(:) ! Parameter 2 for d2bl allometry (slope)
118122 real (r8 ), allocatable :: allom_d2bl3(:) ! Parameter 3 for d2bl allometry (optional)
119123 real (r8 ), allocatable :: allom_sai_scaler(:) !
120- real (r8 ), allocatable :: allom_d2bl_slascaler(:) !
121124 real (r8 ), allocatable :: allom_blca_expnt_diff(:) ! Any difference in the exponent between the leaf
122125 ! biomass and crown area scaling
123126 real (r8 ), allocatable :: allom_d2ca_coefficient_max(:) ! upper (savanna) value for crown area to dbh coefficient
@@ -252,7 +255,7 @@ subroutine Register_PFT(this, fates_params)
252255 call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
253256 dimension_names= dim_names, lower_bounds= dim_lower_bound)
254257
255- name = ' fates_max_dbh '
258+ name = ' fates_dbh_repro_threshold '
256259 call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
257260 dimension_names= dim_names, lower_bounds= dim_lower_bound)
258261
@@ -312,6 +315,10 @@ subroutine Register_PFT(this, fates_params)
312315 call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
313316 dimension_names= dim_names, lower_bounds= dim_lower_bound)
314317
318+ name = ' fates_c2b'
319+ call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
320+ dimension_names= dim_names, lower_bounds= dim_lower_bound)
321+
315322 name = ' fates_woody'
316323 call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
317324 dimension_names= dim_names, lower_bounds= dim_lower_bound)
@@ -428,6 +435,10 @@ subroutine Register_PFT(this, fates_params)
428435 call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
429436 dimension_names= dim_names, lower_bounds= dim_lower_bound)
430437
438+ name = ' fates_allom_dbh_maxheight'
439+ call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
440+ dimension_names= dim_names, lower_bounds= dim_lower_bound)
441+
431442 name = ' fates_allom_hmode'
432443 call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
433444 dimension_names= dim_names, lower_bounds= dim_lower_bound)
@@ -500,10 +511,6 @@ subroutine Register_PFT(this, fates_params)
500511 call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
501512 dimension_names= dim_names, lower_bounds= dim_lower_bound)
502513
503- name = ' fates_allom_d2bl_slascaler'
504- call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
505- dimension_names= dim_names, lower_bounds= dim_lower_bound)
506-
507514 name = ' fates_allom_sai_scaler'
508515 call fates_params% RegisterParameter(name= name, dimension_shape= dimension_shape_1d, &
509516 dimension_names= dim_names, lower_bounds= dim_lower_bound)
@@ -648,9 +655,9 @@ subroutine Receive_PFT(this, fates_params)
648655 call fates_params% RetreiveParameterAllocate(name= name, &
649656 data = this% pft_used)
650657
651- name = ' fates_max_dbh '
658+ name = ' fates_dbh_repro_threshold '
652659 call fates_params% RetreiveParameterAllocate(name= name, &
653- data = this% max_dbh )
660+ data = this% dbh_repro_threshold )
654661
655662 name = ' fates_freezetol'
656663 call fates_params% RetreiveParameterAllocate(name= name, &
@@ -708,6 +715,10 @@ subroutine Receive_PFT(this, fates_params)
708715 call fates_params% RetreiveParameterAllocate(name= name, &
709716 data = this% seed_alloc)
710717
718+ name = ' fates_c2b'
719+ call fates_params% RetreiveParameterAllocate(name= name, &
720+ data = this% c2b)
721+
711722 name = ' fates_woody'
712723 call fates_params% RetreiveParameterAllocate(name= name, &
713724 data = this% woody)
@@ -820,6 +831,10 @@ subroutine Receive_PFT(this, fates_params)
820831 call fates_params% RetreiveParameterAllocate(name= name, &
821832 data = this% fire_alpha_SH)
822833
834+ name = ' fates_allom_dbh_maxheight'
835+ call fates_params% RetreiveParameterAllocate(name= name, &
836+ data = this% allom_dbh_maxheight)
837+
823838 name = ' fates_allom_hmode'
824839 call fates_params% RetreiveParameterAllocate(name= name, &
825840 data = this% allom_hmode)
@@ -896,10 +911,6 @@ subroutine Receive_PFT(this, fates_params)
896911 call fates_params% RetreiveParameterAllocate(name= name, &
897912 data = this% allom_d2ca_coefficient_min)
898913
899- name = ' fates_allom_d2bl_slascaler'
900- call fates_params% RetreiveParameterAllocate(name= name, &
901- data = this% allom_d2bl_slascaler)
902-
903914 name = ' fates_allom_sai_scaler'
904915 call fates_params% RetreiveParameterAllocate(name= name, &
905916 data = this% allom_sai_scaler)
@@ -1378,7 +1389,8 @@ subroutine FatesReportPFTParams(is_master)
13781389
13791390 write (fates_log(),* ) ' ----------- FATES PFT Parameters -----------------'
13801391 write (fates_log(),fmt0) ' pft_used = ' ,EDPftvarcon_inst% pft_used
1381- write (fates_log(),fmt0) ' max_dbh = ' ,EDPftvarcon_inst% max_dbh
1392+ write (fates_log(),fmt0) ' dbh max height = ' ,EDPftvarcon_inst% allom_dbh_maxheight
1393+ write (fates_log(),fmt0) ' dbh mature = ' ,EDPftvarcon_inst% dbh_repro_threshold
13821394 write (fates_log(),fmt0) ' freezetol = ' ,EDPftvarcon_inst% freezetol
13831395 write (fates_log(),fmt0) ' wood_density = ' ,EDPftvarcon_inst% wood_density
13841396 write (fates_log(),fmt0) ' hgt_min = ' ,EDPftvarcon_inst% hgt_min
@@ -1396,6 +1408,7 @@ subroutine FatesReportPFTParams(is_master)
13961408 write (fates_log(),fmt0) ' root_long = ' ,EDPftvarcon_inst% root_long
13971409 write (fates_log(),fmt0) ' clone_alloc = ' ,EDPftvarcon_inst% clone_alloc
13981410 write (fates_log(),fmt0) ' seed_alloc = ' ,EDPftvarcon_inst% seed_alloc
1411+ write (fates_log(),fmt0) ' C2B = ' ,EDPftvarcon_inst% c2b
13991412 write (fates_log(),fmt0) ' woody = ' ,EDPftvarcon_inst% woody
14001413 write (fates_log(),fmt0) ' stress_decid = ' ,EDPftvarcon_inst% stress_decid
14011414 write (fates_log(),fmt0) ' season_decid = ' ,EDPftvarcon_inst% season_decid
@@ -1457,7 +1470,6 @@ subroutine FatesReportPFTParams(is_master)
14571470 write (fates_log(),fmt0) ' allom_d2bl2 = ' ,EDPftvarcon_inst% allom_d2bl2
14581471 write (fates_log(),fmt0) ' allom_d2bl3 = ' ,EDPftvarcon_inst% allom_d2bl3
14591472 write (fates_log(),fmt0) ' allom_sai_scaler = ' ,EDPftvarcon_inst% allom_sai_scaler
1460- write (fates_log(),fmt0) ' allom_d2bl_slascaler = ' ,EDPftvarcon_inst% allom_d2bl_slascaler
14611473 write (fates_log(),fmt0) ' allom_blca_expnt_diff = ' ,EDPftvarcon_inst% allom_blca_expnt_diff
14621474 write (fates_log(),fmt0) ' allom_d2ca_coefficient_max = ' ,EDPftvarcon_inst% allom_d2ca_coefficient_max
14631475 write (fates_log(),fmt0) ' allom_d2ca_coefficient_min = ' ,EDPftvarcon_inst% allom_d2ca_coefficient_min
0 commit comments