Skip to content

Commit aace108

Browse files
authored
Merge pull request #252 from ckoven/koven_disturbancechanges
Alternative disturbance survival option
2 parents 692a8b2 + a39d658 commit aace108

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

biogeochem/EDPatchDynamicsMod.F90

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ module EDPatchDynamicsMod
2323
use FatesConstantsMod , only : r8 => fates_r8
2424
use FatesPlantHydraulicsMod, only : InitHydrCohort
2525
use FatesPlantHydraulicsMod, only : DeallocateHydrCohort
26+
use EDParamsMod , only : fates_mortality_disturbance_fraction
2627

2728
! CIME globals
2829
use shr_infnan_mod , only : nan => shr_infnan_nan, assignment(=)
@@ -86,7 +87,7 @@ subroutine disturbance_rates( site_in)
8687
currentCohort%patchptr => currentPatch
8788

8889
call mortality_rates(currentCohort,cmort,hmort,bmort)
89-
currentCohort%dmort = cmort+hmort+bmort
90+
currentCohort%dmort = cmort+hmort+bmort
9091
currentCohort%c_area = c_area(currentCohort)
9192

9293
! Initialize diagnostic mortality rates
@@ -99,6 +100,7 @@ subroutine disturbance_rates( site_in)
99100
if(currentCohort%canopy_layer == 1)then
100101

101102
currentPatch%disturbance_rates(1) = currentPatch%disturbance_rates(1) + &
103+
fates_mortality_disturbance_fraction * &
102104
min(1.0_r8,currentCohort%dmort)*hlm_freq_day*currentCohort%c_area/currentPatch%area
103105

104106
endif
@@ -289,7 +291,8 @@ subroutine spawn_patches( currentSite, bc_in)
289291
! because this is the part of the original patch where no trees have actually fallen
290292
! The diagnostic cmort,bmort and hmort rates have already been saved
291293

292-
currentCohort%n = currentCohort%n * (1.0_r8 - min(1.0_r8,currentCohort%dmort * hlm_freq_day))
294+
currentCohort%n = currentCohort%n * (1.0_r8 - fates_mortality_disturbance_fraction * &
295+
min(1.0_r8,currentCohort%dmort * hlm_freq_day))
293296

294297
nc%n = 0.0_r8 ! kill all of the trees who caused the disturbance.
295298
nc%cmort = nan ! The mortality diagnostics are set to nan because the cohort should dissappear

biogeochem/EDPhysiologyMod.F90

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ module EDPhysiologyMod
3131
use shr_log_mod , only : errMsg => shr_log_errMsg
3232
use FatesGlobals , only : fates_log
3333
use FatesGlobals , only : endrun => fates_endrun
34-
34+
use EDParamsMod , only : fates_mortality_disturbance_fraction
3535

3636
implicit none
3737
private
@@ -788,11 +788,12 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)
788788

789789
! Mortality for trees in the understorey.
790790
!if trees are in the canopy, then their death is 'disturbance'. This probably needs a different terminology
791+
call mortality_rates(currentCohort,cmort,hmort,bmort)
791792
if (currentCohort%canopy_layer > 1)then
792-
call mortality_rates(currentCohort,cmort,hmort,bmort)
793793
currentCohort%dndt = -1.0_r8 * (cmort+hmort+bmort) * currentCohort%n
794794
else
795-
currentCohort%dndt = 0._r8
795+
currentCohort%dndt = -(1.0_r8 - fates_mortality_disturbance_fraction) &
796+
* (cmort+hmort+bmort) * currentCohort%n
796797
endif
797798

798799
! Height

main/EDParamsMod.F90

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ module EDParamsMod
7272
public :: FatesParamsInit
7373
public :: FatesRegisterParams
7474
public :: FatesReceiveParams
75+
76+
real(r8), protected :: fates_mortality_disturbance_fraction = 1.0_r8 ! the fraction of canopy mortality that results in disturbance (i.e. transfer of area from new to old patch)
7577

7678
contains
7779

0 commit comments

Comments
 (0)