Skip to content

Commit 49535a8

Browse files
authored
Merge pull request #433 from xuchongang/xuchongang/dense_forest_ready_to_merge
Add the option to initialize forest with canopy closure
2 parents af76d76 + 84a50e4 commit 49535a8

File tree

3 files changed

+32
-5
lines changed

3 files changed

+32
-5
lines changed

main/EDInitMod.F90

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ module EDInitMod
1919
use EDTypesMod , only : nuMWaterMem
2020
use EDTypesMod , only : maxpft
2121
use EDTypesMod , only : AREA
22+
use EDTypesMod , only : init_spread_near_bare_ground
23+
use EDTypesMod , only : init_spread_inventory
2224
use FatesInterfaceMod , only : bc_in_type
2325
use FatesInterfaceMod , only : hlm_use_planthydro
2426
use FatesInterfaceMod , only : hlm_use_inventory_init
@@ -224,7 +226,6 @@ subroutine set_site_properties( nsites, sites)
224226
sites(s)%frac_burnt = 0.0_r8
225227
sites(s)%old_stock = 0.0_r8
226228

227-
sites(s)%spread = 1.0_r8
228229
end do
229230

230231
return
@@ -282,6 +283,13 @@ subroutine init_patches( nsites, sites, bc_in)
282283

283284
if ( hlm_use_inventory_init.eq.itrue ) then
284285

286+
! Initialize the site-level crown area spread factor (0-1)
287+
! It is likely that closed canopy forest inventories
288+
! have smaller spread factors than bare ground (they are crowded)
289+
do s = 1, nsites
290+
sites(s)%spread = init_spread_inventory
291+
enddo
292+
285293
call initialize_sites_by_inventory(nsites,sites,bc_in)
286294

287295
do s = 1, nsites
@@ -296,6 +304,11 @@ subroutine init_patches( nsites, sites, bc_in)
296304
!FIX(SPM,032414) clean this up...inits out of this loop
297305
do s = 1, nsites
298306

307+
! Initialize the site-level crown area spread factor (0-1)
308+
! It is likely that closed canopy forest inventories
309+
! have smaller spread factors than bare ground (they are crowded)
310+
sites(s)%spread = init_spread_near_bare_ground
311+
299312
allocate(newp)
300313

301314
newp%patchno = 1

main/EDTypesMod.F90

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,20 @@ module EDTypesMod
8282
logical, parameter :: do_ed_phenology = .true.
8383

8484

85+
! This is the community level amount of spread expected in nearly-bare-ground
86+
! and inventory starting modes.
87+
! These are used to initialize only. These values will scale between
88+
! the PFT defined maximum and minimum crown area scaing parameters.
89+
!
90+
! A value of 1 indicates that
91+
! plants should have crown areas at maximum spread for their size and PFT.
92+
! A value of 0 means that they have the least amount of spread for their
93+
! size and PFT.
94+
95+
real(r8), parameter :: init_spread_near_bare_ground = 1.0_r8
96+
real(r8), parameter :: init_spread_inventory = 0.0_r8
97+
98+
8599
! MODEL PARAMETERS
86100
real(r8), parameter :: AREA = 10000.0_r8 ! Notional area of simulated forest m2
87101
real(r8), parameter :: AREA_INV = 1.0e-4_r8 ! Inverse of the notion area (faster math)
@@ -132,7 +146,7 @@ module EDTypesMod
132146
! special mode to cause PFTs to create seed mass of all currently-existing PFTs
133147
logical, parameter :: homogenize_seed_pfts = .false.
134148

135-
!************************************
149+
!************************************
136150
!** COHORT type structure **
137151
!************************************
138152
type ed_cohort_type

main/FatesInventoryInitMod.F90

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ module FatesInventoryInitMod
3535
use EDTypesMod , only : area
3636
use EDPftvarcon , only : EDPftvarcon_inst
3737

38+
3839
implicit none
3940
private
4041

@@ -931,10 +932,9 @@ subroutine set_inventory_edcohort_type1(csite,bc_in,css_file_unit,npatches, &
931932
endif
932933

933934
! Since spread is a canopy level calculation, we need to provide an initial guess here.
934-
site_spread = 0.5_r8
935935
call create_cohort(csite, cpatch, c_pft, temp_cohort%n, temp_cohort%hite, temp_cohort%dbh, &
936-
b_leaf, b_fineroot, b_sapwood, b_dead, b_store, &
937-
temp_cohort%laimemory, cstatus, rstatus, temp_cohort%canopy_trim, 1, site_spread, bc_in)
936+
b_leaf, b_fineroot, b_sapwood, b_dead, b_store, &
937+
temp_cohort%laimemory, cstatus, rstatus, temp_cohort%canopy_trim, 1, csite%spread, bc_in)
938938

939939

940940
deallocate(temp_cohort) ! get rid of temporary cohort

0 commit comments

Comments
 (0)