Skip to content

Commit

Permalink
Added future parameters for addressing issue 1014 in an upcoming pull…
Browse files Browse the repository at this point in the history
… request.
  • Loading branch information
mpaiao committed Jun 27, 2023
1 parent fad6947 commit 0a3c66c
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
24 changes: 24 additions & 0 deletions main/EDPftvarcon.F90
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ module EDPftvarcon
! 1=linear, 0=very curved
real(r8), allocatable :: maintresp_reduction_intercept(:) ! intercept of MR reduction as f(carbon storage),
! 0=no throttling, 1=max throttling
real(r8), allocatable :: maintresp_reduction_upthresh (:) ! Upper threshold for storage biomass (relative
! to leaf biomass) above which MR is not reduced

real(r8), allocatable :: maintresp_leaf_atkin2017_baserate(:) ! leaf maintenance respiration base rate (r0)
! per Atkin et al 2017
Expand All @@ -94,6 +96,7 @@ module EDPftvarcon
real(r8), allocatable :: mort_scalar_coldstress(:) ! maximum mortality rate from cold stress
real(r8), allocatable :: mort_scalar_cstarvation(:) ! maximum mortality rate from carbon starvation
real(r8), allocatable :: mort_scalar_hydrfailure(:) ! maximum mortality rate from hydraulic failure
real(r8), allocatable :: mort_upthresh_cstarvation(:) ! threshold for storage biomass (relative to target leaf biomass) above which carbon starvation is zero
real(r8), allocatable :: hf_sm_threshold(:) ! soil moisture (btran units) at which drought mortality begins for non-hydraulic model
real(r8), allocatable :: hf_flc_threshold(:) ! plant fractional loss of conductivity at which drought mortality begins for hydraulic model
real(r8), allocatable :: vcmaxha(:) ! activation energy for vcmax
Expand Down Expand Up @@ -448,6 +451,10 @@ subroutine Register_PFT(this, fates_params)
call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, &
dimension_names=dim_names, lower_bounds=dim_lower_bound)

name = 'fates_maintresp_reduction_upthresh'
call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, &
dimension_names=dim_names, lower_bounds=dim_lower_bound)

name = 'fates_maintresp_leaf_atkin2017_baserate'
call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, &
dimension_names=dim_names, lower_bounds=dim_lower_bound)
Expand Down Expand Up @@ -560,6 +567,10 @@ subroutine Register_PFT(this, fates_params)
call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, &
dimension_names=dim_names, lower_bounds=dim_lower_bound)

name = 'fates_mort_upthresh_cstarvation'
call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, &
dimension_names=dim_names, lower_bounds=dim_lower_bound)

name = 'fates_mort_hf_sm_threshold'
call fates_params%RegisterParameter(name=name, dimension_shape=dimension_shape_1d, &
dimension_names=dim_names, lower_bounds=dim_lower_bound)
Expand Down Expand Up @@ -865,6 +876,10 @@ subroutine Receive_PFT(this, fates_params)
call fates_params%RetrieveParameterAllocate(name=name, &
data=this%maintresp_reduction_intercept)

name = 'fates_maintresp_reduction_upthresh'
call fates_params%RetrieveParameterAllocate(name=name, &
data=this%maintresp_reduction_upthresh)

name = 'fates_maintresp_leaf_atkin2017_baserate'
call fates_params%RetrieveParameterAllocate(name=name, &
data=this%maintresp_leaf_atkin2017_baserate)
Expand Down Expand Up @@ -961,6 +976,10 @@ subroutine Receive_PFT(this, fates_params)
call fates_params%RetrieveParameterAllocate(name=name, &
data=this%mort_scalar_hydrfailure)

name = 'fates_mort_upthresh_cstarvation'
call fates_params%RetrieveParameterAllocate(name=name, &
data=this%mort_upthresh_cstarvation)


name = 'fates_mort_ip_size_senescence'
call fates_params%RetrieveParameterAllocate(name=name, &
Expand All @@ -986,6 +1005,10 @@ subroutine Receive_PFT(this, fates_params)
call fates_params%RetrieveParameterAllocate(name=name, &
data=this%mort_scalar_cstarvation)

name = 'fates_mort_upthresh_cstarvation'
call fates_params%RetrieveParameterAllocate(name=name, &
data=this%mort_upthresh_cstarvation)


name = 'fates_mort_hf_sm_threshold'
call fates_params%RetrieveParameterAllocate(name=name, &
Expand Down Expand Up @@ -1615,6 +1638,7 @@ subroutine FatesReportPFTParams(is_master)
write(fates_log(),fmt0) 'mort_scalar_coldstress = ',EDPftvarcon_inst%mort_scalar_coldstress
write(fates_log(),fmt0) 'mort_scalar_cstarvation = ',EDPftvarcon_inst%mort_scalar_cstarvation
write(fates_log(),fmt0) 'mort_scalar_hydrfailure = ',EDPftvarcon_inst%mort_scalar_hydrfailure
write(fates_log(),fmt0) 'mort_upthresh_cstarvation = ',EDPftvarcon_inst%mort_upthresh_cstarvation
write(fates_log(),fmt0) 'hf_sm_threshold = ',EDPftvarcon_inst%hf_sm_threshold
write(fates_log(),fmt0) 'hf_flc_threshold = ',EDPftvarcon_inst%hf_flc_threshold
write(fates_log(),fmt0) 'vcmaxha = ',EDPftvarcon_inst%vcmaxha
Expand Down
10 changes: 10 additions & 0 deletions parameter_files/fates_params_default.cdl
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,9 @@ variables:
double fates_maintresp_reduction_intercept(fates_pft) ;
fates_maintresp_reduction_intercept:units = "unitless (0-1)" ;
fates_maintresp_reduction_intercept:long_name = "intercept of MR reduction as f(carbon storage), 0=no throttling, 1=max throttling" ;
double fates_maintresp_reduction_upthresh(fates_pft) ;
fates_maintresp_reduction_upthresh:units = "unitless (0-1)" ;
fates_maintresp_reduction_upthresh:long_name = "upper threshold for storage biomass (relative to leaf biomass) above which MR is not reduced" ;
double fates_mort_bmort(fates_pft) ;
fates_mort_bmort:units = "1/yr" ;
fates_mort_bmort:long_name = "background mortality rate" ;
Expand Down Expand Up @@ -428,6 +431,9 @@ variables:
double fates_mort_scalar_hydrfailure(fates_pft) ;
fates_mort_scalar_hydrfailure:units = "1/yr" ;
fates_mort_scalar_hydrfailure:long_name = "maximum mortality rate from hydraulic failure" ;
double fates_mort_upthresh_cstarvation(fates_pft) ;
fates_mort_upthresh_cstarvation:units = "unitless" ;
fates_mort_upthresh_cstarvation:long_name = "threshold for storage biomass (relative to target leaf biomass) above which carbon starvation is zero" ;
double fates_nonhydro_smpsc(fates_pft) ;
fates_nonhydro_smpsc:units = "mm" ;
fates_nonhydro_smpsc:long_name = "Soil water potential at full stomatal closure" ;
Expand Down Expand Up @@ -1288,6 +1294,8 @@ data:

fates_maintresp_reduction_intercept = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ;

fates_maintresp_reduction_upthresh = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ;

fates_mort_bmort = 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014, 0.014,
0.014, 0.014, 0.014, 0.014 ;

Expand Down Expand Up @@ -1322,6 +1330,8 @@ data:
fates_mort_scalar_hydrfailure = 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
0.6, 0.6, 0.6 ;

fates_mort_upthresh_cstarvation = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ;

fates_nonhydro_smpsc = -255000, -255000, -255000, -255000, -255000, -255000,
-255000, -255000, -255000, -255000, -255000, -255000 ;

Expand Down

0 comments on commit 0a3c66c

Please sign in to comment.