Skip to content

Commit

Permalink
Add variable calculation of microtopographic parameters
Browse files Browse the repository at this point in the history
Adds linear scaling of various microtopographic
parameters in polygonal tundra (depression depth,
excluded volume, relief)
  • Loading branch information
rfiorella committed May 16, 2024
1 parent f14ed6f commit 8e93bbb
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions components/elm/src/biogeophys/ActiveLayerMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -188,18 +188,21 @@ subroutine alt_calc(num_soilc, filter_soilc, &
! subsidence is integral of melt profile:
subsidence(c) = subsidence(c) + sum(melt_profile)

! limit subsidence to 0.4 m
subsidence(c) = min(0.4_r8, subsidence(c))

! update ice wedge polygon microtopographic parameters if in polygonal ground
! TODO: need to retrieve landunit this column is on.
if (lun_pp%ispolygon(c)) then
if (lun_pp%polygontype(c) .eq. ilowcenpoly) then
!rf - min/max logic may be redunant w/ subsidence limiter above
if (lun_pp%ispolygon(col_pp%landunit(c))) then
if (lun_pp%polygontype(col_pp%landunit(c)) .eq. ilowcenpoly) then
rmax(c) = 0.4_r8
vexc(c) = 0.2_r8
ddep(c) = 0.15_r8 ! TODO - update based on subsidence calcs.
elseif (lun_pp%polygontype(c) .eq. iflatcenpoly) then
rmax(c) = 0.1_r8 ! TODO - update based on subsidence calcs.
vexc(c) = 0.05_r8 ! TODO - update based on subsidence calcs.
ddep(c) = 0.01_r8 ! TODO - update based on subsidence calcs.
elseif (lun_pp%polygontype(c) .eq. ihighcenpoly) then
ddep(c) = min(0.05_r8, max(0.15_r8 - 0.25_r8*subsidence(c), 0.15_r8))
elseif (lun_pp%polygontype(col_pp%landunit(c)) .eq. iflatcenpoly) then
rmax(c) = min(0.1_r8, max(0.4_r8, 0.1_r8 + 0.75_r8*subsidence(c)))
vexc(c) = min(0.05_r8, max(0.2_r8, 0.05_r8 + 0.375_r8*subsidence(c)))
ddep(c) = min(0.01_r8, max(0.05_r8, 0.01_r8 + 0.1_r8*subsidence(c)))
elseif (lun_pp%polygontype(col_pp%landunit(c)) .eq. ihighcenpoly) then
rmax(c) = 0.4_r8
vexc(c) = 0.2_r8
ddep(c) = 0.05_r8
Expand Down

0 comments on commit 8e93bbb

Please sign in to comment.