diff --git a/biogeochem/EDMortalityFunctionsMod.F90 b/biogeochem/EDMortalityFunctionsMod.F90 index bf47a5cce3..d849121c0e 100644 --- a/biogeochem/EDMortalityFunctionsMod.F90 +++ b/biogeochem/EDMortalityFunctionsMod.F90 @@ -48,7 +48,7 @@ module EDMortalityFunctionsMod contains - subroutine mortality_rates( cohort_in,bc_in,btran_ft, mean_temp, & + subroutine mortality_rates( cohort_in,bc_in, btran_ft, mean_temp, & cmort,hmort,bmort, frmort,smort,asmort,dgmort ) ! ============================================================================ @@ -56,9 +56,10 @@ subroutine mortality_rates( cohort_in,bc_in,btran_ft, mean_temp, & ! background and freezing and size and age dependent senescence ! ============================================================================ - use FatesConstantsMod, only : tfrz => t_water_freeze_k_1atm - use FatesConstantsMod, only : fates_check_param_set - use DamageMainMod, only : GetDamageMortality + use FatesConstantsMod, only : tfrz => t_water_freeze_k_1atm + use FatesConstantsMod, only : fates_check_param_set + use DamageMainMod, only : GetDamageMortality + use EDParamsmod, only : soil_tfrz_thresh type (fates_cohort_type), intent(in) :: cohort_in type (bc_in_type), intent(in) :: bc_in @@ -156,7 +157,8 @@ subroutine mortality_rates( cohort_in,bc_in,btran_ft, mean_temp, & hmort = 0.0_r8 endif else - if(btran_ft(cohort_in%pft) <= hf_sm_threshold)then + if( ( btran_ft(cohort_in%pft) <= hf_sm_threshold ) .and. & + ( ( minval(bc_in%t_soisno_sl) - tfrz ) > soil_tfrz_thresh ) ) then hmort = EDPftvarcon_inst%mort_scalar_hydrfailure(cohort_in%pft) else hmort = 0.0_r8 diff --git a/biogeophys/EDBtranMod.F90 b/biogeophys/EDBtranMod.F90 index a785493d54..3e2401a033 100644 --- a/biogeophys/EDBtranMod.F90 +++ b/biogeophys/EDBtranMod.F90 @@ -12,6 +12,7 @@ module EDBtranMod use EDTypesMod , only : ed_site_type use FatesPatchMod, only : fates_patch_type use EDParamsMod, only : maxpft + use EDParamsMod, only : soil_tfrz_thresh use FatesCohortMod, only : fates_cohort_type use shr_kind_mod , only : r8 => shr_kind_r8 use FatesInterfaceTypesMod , only : bc_in_type, & @@ -48,7 +49,7 @@ logical function check_layer_water(h2o_liq_vol, tempk) check_layer_water = .false. if ( h2o_liq_vol .gt. 0._r8 ) then - if ( tempk .gt. tfrz-2._r8) then + if ( tempk .gt. soil_tfrz_thresh + tfrz) then check_layer_water = .true. end if end if diff --git a/main/EDParamsMod.F90 b/main/EDParamsMod.F90 index 438d387213..215d4c3ee7 100644 --- a/main/EDParamsMod.F90 +++ b/main/EDParamsMod.F90 @@ -95,8 +95,10 @@ module EDParamsMod integer, public :: n_uptake_mode integer, public :: p_uptake_mode + real(r8), parameter, public :: soil_tfrz_thresh = -2.0_r8 ! Soil temperature threshold below which hydraulic failure mortality is off (non-hydro only) in degrees C + integer, parameter, public :: nclmax = 2 ! Maximum number of canopy layers - + ! parameters that govern the VAI (LAI+SAI) bins used in radiative transfer code integer, parameter, public :: nlevleaf = 30 ! number of leaf+stem layers in each canopy layer