From 3a7b068975ccb001ee5320deaaa3d3fc046f061d Mon Sep 17 00:00:00 2001 From: ckoven Date: Wed, 22 Feb 2017 10:26:45 -0800 Subject: [PATCH 1/2] reduced thresholds for cohort termination due to small number densities to allow cohorts to demote successfully --- components/clm/src/ED/main/EDTypesMod.F90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/components/clm/src/ED/main/EDTypesMod.F90 b/components/clm/src/ED/main/EDTypesMod.F90 index 6fe9171def..bef4d13b69 100755 --- a/components/clm/src/ED/main/EDTypesMod.F90 +++ b/components/clm/src/ED/main/EDTypesMod.F90 @@ -67,12 +67,12 @@ module EDTypesMod integer , parameter :: N_DBH_BINS = 5 ! no. of dbh bins used when comparing patches - real(r8), parameter :: min_npm2 = 1.0d-5 ! minimum cohort number density per m2 before termination - real(r8), parameter :: min_patch_area = 0.001_r8 ! smallest allowable patch area before termination - real(r8), parameter :: min_nppatch = 1.0d-8 ! minimum number of cohorts per patch (min_npm2*min_patch_area) - real(r8), parameter :: min_n_safemath = 1.0d-15 ! in some cases, we want to immediately remove super small - ! number densities of cohorts to prevent FPEs, this is usually - ! just relevant in the first day after recruitment + real(r8), parameter :: min_npm2 = 1.0E-8_r8 ! minimum cohort number density per m2 before termination + real(r8), parameter :: min_patch_area = 0.001_r8 ! smallest allowable patch area before termination + real(r8), parameter :: min_nppatch = 1.0E-11_r8 ! minimum number of cohorts per patch (min_npm2*min_patch_area) + real(r8), parameter :: min_n_safemath = 1.0E-15_r8 ! in some cases, we want to immediately remove super small + ! number densities of cohorts to prevent FPEs, this is usually + ! just relevant in the first day after recruitment character*4 yearchar From 4157e60b67d78f5cfd3d11e12926d77d94acd243 Mon Sep 17 00:00:00 2001 From: ckoven Date: Wed, 22 Feb 2017 11:04:27 -0800 Subject: [PATCH 2/2] removed calls to terminate_cohorts in EDCanopyStructureMod.F90 --- components/clm/src/ED/biogeochem/EDCanopyStructureMod.F90 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/components/clm/src/ED/biogeochem/EDCanopyStructureMod.F90 b/components/clm/src/ED/biogeochem/EDCanopyStructureMod.F90 index 148e53b1e1..ae65628678 100755 --- a/components/clm/src/ED/biogeochem/EDCanopyStructureMod.F90 +++ b/components/clm/src/ED/biogeochem/EDCanopyStructureMod.F90 @@ -295,7 +295,6 @@ subroutine canopy_structure( currentSite ) !currentCohort%canopy_layer,currentCohort%dbh endif - ! call terminate_cohorts(currentPatch) !----------- End of cohort splitting ------------------------------! endif !canopy layer = i @@ -304,7 +303,6 @@ subroutine canopy_structure( currentSite ) enddo !currentCohort - call terminate_cohorts(currentPatch) arealayer(i) = arealayer(i) - sumloss !Update arealayer for diff calculations of layer below. arealayer(i + 1) = arealayer(i + 1) + sumloss @@ -340,7 +338,6 @@ subroutine canopy_structure( currentSite ) enddo !is there still excess area in any layer? - call terminate_cohorts(currentPatch) call fuse_cohorts(currentPatch) call terminate_cohorts(currentPatch) @@ -500,7 +497,6 @@ subroutine canopy_structure( currentSite ) !currentCohort%pft,currentPatch%patchno endif - !call terminate_cohorts(currentPatch) if(promswitch == 1)then ! write(fates_log(),*) 'cohort loop',currentCohort%pft,currentPatch%patchno endif @@ -562,7 +558,6 @@ subroutine canopy_structure( currentSite ) endif enddo !is there still not enough canopy area in any layer? - call terminate_cohorts(currentPatch) call fuse_cohorts(currentPatch) call terminate_cohorts(currentPatch)