Skip to content

Commit

Permalink
Add iwp_subsidence to column type.
Browse files Browse the repository at this point in the history
Adds ground subsidence variable to col_pp in
column type to track subsidence associated with
excess ice melting in polygonal tundra.
  • Loading branch information
rfiorella committed May 15, 2024
1 parent 84d59fc commit d194f91
Showing 1 changed file with 26 additions and 14 deletions.
40 changes: 26 additions & 14 deletions components/elm/src/data_types/ColumnType.F90
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,19 @@ module ColumnType
logical , pointer :: active (:) => null() ! true=>do computations on this column

! topography
real(r8), pointer :: glc_topo (:) => null() ! surface elevation (m)
real(r8), pointer :: micro_sigma (:) => null() ! microtopography pdf sigma (m)
real(r8), pointer :: n_melt (:) => null() ! SCA shape parameter
real(r8), pointer :: topo_slope (:) => null() ! gridcell topographic slope
real(r8), pointer :: topo_std (:) => null() ! gridcell elevation standard deviation
real(r8), pointer :: hslp_p10 (:,:) => null() ! hillslope slope percentiles (unitless)
integer, pointer :: nlevbed (:) => null() ! number of layers to bedrock
real(r8), pointer :: zibed (:) => null() ! bedrock depth in model (interface level at nlevbed)
real(r8), pointer :: iwp_microrel (:) => null() ! ice wedge polygon microtopographic relief (m)
real(r8), pointer :: iwp_exclvol (:) => null() ! ice wedge polygon excluded volume (m)
real(r8), pointer :: iwp_ddep (:) => null() ! ice wedge polygon depression depth (m)
real(r8), pointer :: meangradz (:) => null() ! mean topographic gradient at the column level
real(r8), pointer :: glc_topo (:) => null() ! surface elevation (m)
real(r8), pointer :: micro_sigma (:) => null() ! microtopography pdf sigma (m)
real(r8), pointer :: n_melt (:) => null() ! SCA shape parameter
real(r8), pointer :: topo_slope (:) => null() ! gridcell topographic slope
real(r8), pointer :: topo_std (:) => null() ! gridcell elevation standard deviation
real(r8), pointer :: hslp_p10 (:,:) => null() ! hillslope slope percentiles (unitless)
integer, pointer :: nlevbed (:) => null() ! number of layers to bedrock
real(r8), pointer :: zibed (:) => null() ! bedrock depth in model (interface level at nlevbed)
real(r8), pointer :: iwp_microrel (:) => null() ! ice wedge polygon microtopographic relief (m)
real(r8), pointer :: iwp_exclvol (:) => null() ! ice wedge polygon excluded volume (m)
real(r8), pointer :: iwp_ddep (:) => null() ! ice wedge polygon depression depth (m)
real(r8), pointer :: iwp_subsidence(:) => null() ! ice wedge polygon ground subsidence (m)
real(r8), pointer :: meangradz (:) => null() ! mean topographic gradient at the column level

! vertical levels
integer , pointer :: snl (:) => null() ! number of snow layers
Expand Down Expand Up @@ -135,12 +136,18 @@ subroutine col_pp_init(this, begc, endc)
allocate(this%hslp_p10 (begc:endc,nlevslp)) ; this%hslp_p10 (:,:) = spval
allocate(this%nlevbed (begc:endc)) ; this%nlevbed (:) = ispval
allocate(this%zibed (begc:endc)) ; this%zibed (:) = spval
! polygonal tundra/ice wedge polygons:
allocate(this%iwp_microrel (begc:endc)) ; this%iwp_microrel (:) = spval
allocate(this%iwp_exclvol (begc:endc)) ; this%iwp_exclvol (:) = spval
allocate(this%iwp_ddep (begc:endc)) ; this%iwp_ddep (:) = spval
allocate(this%iwp_subsidence(begc:endc)) ; this%iwp_subsidence(:) = spval
allocate(this%meangradz (begc:endc)) ; this%meangradz (:) = spval

allocate(this%hydrologically_active(begc:endc)) ; this%hydrologically_active(:) = .false.

! Assume that columns are not fates columns until fates initialization begins
allocate(this%is_fates(begc:endc)); this%is_fates(:) = .false.

end subroutine col_pp_init

!------------------------------------------------------------------------
Expand Down Expand Up @@ -177,9 +184,14 @@ subroutine col_pp_clean(this)
deallocate(this%hslp_p10 )
deallocate(this%nlevbed )
deallocate(this%zibed )
deallocate(this%iwp_microrel)
deallocate(this%iwp_exclvol )
deallocate(this%iwp_ddep )
deallocate(this%iwp_subsidence)
deallocate(this%meangradz )
deallocate(this%hydrologically_active)
deallocate(this%is_fates)

end subroutine col_pp_clean

end module ColumnType

0 comments on commit d194f91

Please sign in to comment.