Skip to content

Commit

Permalink
Merge pull request #252 from ckoven/koven_disturbancechanges
Browse files Browse the repository at this point in the history
Alternative disturbance survival option
  • Loading branch information
rgknox authored Jul 28, 2017
2 parents 692a8b2 + a39d658 commit aace108
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 5 deletions.
7 changes: 5 additions & 2 deletions biogeochem/EDPatchDynamicsMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ module EDPatchDynamicsMod
use FatesConstantsMod , only : r8 => fates_r8
use FatesPlantHydraulicsMod, only : InitHydrCohort
use FatesPlantHydraulicsMod, only : DeallocateHydrCohort
use EDParamsMod , only : fates_mortality_disturbance_fraction

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

call mortality_rates(currentCohort,cmort,hmort,bmort)
currentCohort%dmort = cmort+hmort+bmort
currentCohort%dmort = cmort+hmort+bmort
currentCohort%c_area = c_area(currentCohort)

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

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

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

currentCohort%n = currentCohort%n * (1.0_r8 - min(1.0_r8,currentCohort%dmort * hlm_freq_day))
currentCohort%n = currentCohort%n * (1.0_r8 - fates_mortality_disturbance_fraction * &
min(1.0_r8,currentCohort%dmort * hlm_freq_day))

nc%n = 0.0_r8 ! kill all of the trees who caused the disturbance.
nc%cmort = nan ! The mortality diagnostics are set to nan because the cohort should dissappear
Expand Down
7 changes: 4 additions & 3 deletions biogeochem/EDPhysiologyMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ module EDPhysiologyMod
use shr_log_mod , only : errMsg => shr_log_errMsg
use FatesGlobals , only : fates_log
use FatesGlobals , only : endrun => fates_endrun

use EDParamsMod , only : fates_mortality_disturbance_fraction

implicit none
private
Expand Down Expand Up @@ -788,11 +788,12 @@ subroutine Growth_Derivatives( currentSite, currentCohort, bc_in)

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

! Height
Expand Down
2 changes: 2 additions & 0 deletions main/EDParamsMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ module EDParamsMod
public :: FatesParamsInit
public :: FatesRegisterParams
public :: FatesReceiveParams

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)

contains

Expand Down

0 comments on commit aace108

Please sign in to comment.