Skip to content

Commit

Permalink
Add additional basal stress parameters to the dynamics namelist (CICE…
Browse files Browse the repository at this point in the history
…-Consortium#404)

* Made the following basalstress parameters namelist items in dynamics_nml: k2, alphab, threshold_bw.

* Updated documentation for updated basalstress parameters

* Correct typo in user_guide/ug_case)settings.rst

* Modified ice_read_write.F90:ice_open. Added nbytes variable to allow for large grids that can cause integer overflow

* Modified ice_read_write.F90:ice_open. Added nbytes variable to allow for large grids that can cause integer overflow

* Revert "Correct typo in user_guide/ug_case)settings.rst"

Reverting to make new branch to commit code changes, instead of working off of master.

This reverts commit 06c614a.

* Correct typo in ug_case_settings.rst

* Reverting to version prior to updating ice_open

* retrigger checks
  • Loading branch information
daveh150 authored Feb 26, 2020
1 parent 7e11a34 commit f3aec72
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 9 deletions.
14 changes: 8 additions & 6 deletions cicecore/cicedynB/dynamics/ice_dyn_shared.F90
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,14 @@ module ice_dyn_shared
logical (kind=log_kind), public :: &
basalstress ! if true, basal stress for landfast on

! basal stress parameters
real (kind=dbl_kind), public :: &
k1 ! 1st free parameter for landfast parameterization
k1, & ! 1st free parameter for landfast parameterization
k2, & ! second free parameter (N/m^3) for landfast parametrization
alphab, & ! alphab=Cb factor in Lemieux et al 2015
threshold_hw ! max water depth for grounding
! see keel data from Amundrud et al. 2004 (JGR)


!=======================================================================

Expand Down Expand Up @@ -887,11 +893,7 @@ subroutine basal_stress_coeff (nx_block, ny_block, &
au, & ! concentration of ice at u location
hu, & ! volume per unit area of ice at u location (mean thickness)
hwu, & ! water depth at u location
hcu, & ! critical thickness at u location
k2 = 15.0_dbl_kind , & ! second free parameter (N/m^3) for landfast parametrization
alphab = 20.0_dbl_kind, & ! alphab=Cb factor in Lemieux et al 2015
threshold_hw = 30.0_dbl_kind ! max water depth for grounding
! see keel data from Amundrud et al. 2004 (JGR)
hcu ! critical thickness at u location

integer (kind=int_kind) :: &
i, j, ij
Expand Down
15 changes: 13 additions & 2 deletions cicecore/cicedynB/general/ice_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ subroutine input_data
dxrect, dyrect
use ice_dyn_shared, only: ndte, kdyn, revised_evp, yield_curve, &
kevp_kernel, &
basalstress, k1, Ktens, e_ratio, coriolis, &
basalstress, k1, k2, alphab, threshold_hw, &
Ktens, e_ratio, coriolis, &
kridge, ktransport, brlx, arlx
use ice_transport_driver, only: advection
use ice_restoring, only: restore_ice
Expand Down Expand Up @@ -184,7 +185,7 @@ subroutine input_data
advection, coriolis, kridge, ktransport, &
kstrength, krdg_partic, krdg_redist, mu_rdg, &
e_ratio, Ktens, Cf, basalstress, &
k1
k1, k2, alphab, threshold_hw

namelist /shortwave_nml/ &
shortwave, albedo_type, &
Expand Down Expand Up @@ -296,6 +297,9 @@ subroutine input_data
close_boundaries = .false. ! true = set land on edges of grid
basalstress= .false. ! if true, basal stress for landfast is on
k1 = 8.0_dbl_kind ! 1st free parameter for landfast parameterization
k2 = 15.0_dbl_kind ! dah: second free parameter (N/m^3) for landfast parametrization
alphab = 20.0_dbl_kind ! alphab=Cb factor in Lemieux et al 2015
threshold_hw = 30.0_dbl_kind ! max water depth for grounding
Ktens = 0.0_dbl_kind ! T=Ktens*P (tensile strength: see Konig and Holland, 2010)
e_ratio = 2.0_dbl_kind ! EVP ellipse aspect ratio
advection = 'remap' ! incremental remapping transport scheme
Expand Down Expand Up @@ -569,6 +573,9 @@ subroutine input_data
call broadcast_scalar(Cf, master_task)
call broadcast_scalar(basalstress, master_task)
call broadcast_scalar(k1, master_task)
call broadcast_scalar(k2, master_task)
call broadcast_scalar(alphab, master_task)
call broadcast_scalar(threshold_hw, master_task)
call broadcast_scalar(Ktens, master_task)
call broadcast_scalar(e_ratio, master_task)
call broadcast_scalar(advection, master_task)
Expand Down Expand Up @@ -1036,8 +1043,12 @@ subroutine input_data
write(nu_diag,1000) ' mu_rdg = ', mu_rdg
if (kstrength == 1) &
write(nu_diag,1000) ' Cf = ', Cf

write(nu_diag,1010) ' basalstress = ', basalstress
write(nu_diag,1005) ' k1 = ', k1
write(nu_diag,1005) ' k2 = ', k2
write(nu_diag,1005) ' alphab = ', alphab
write(nu_diag,1005) ' threshold_hw = ', threshold_hw
write(nu_diag,1005) ' Ktens = ', Ktens
write(nu_diag,1005) ' e_ratio = ', e_ratio
write(nu_diag,1030) ' advection = ', &
Expand Down
3 changes: 3 additions & 0 deletions configuration/scripts/ice_in
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,9 @@
e_ratio = 2.
basalstress = .false.
k1 = 8.
k2 = 15.
alphab = 20.
threshold_hw = 30.
coriolis = 'latitude'
kridge = 1
ktransport = 1
Expand Down
2 changes: 1 addition & 1 deletion doc/source/science_guide/sg_dynamics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ The parameterization for the seabed stress is described in :cite:`Lemieux16`. Th
:label: Cb
where :math:`k_2` determines the maximum seabed stress that can be sustained by the grounded parameterized ridge(s), :math:`u_0`
is a small residual velocity and :math:`\alpha_b=20` is a parameter to ensure that the seabed stress quickly drops when
is a small residual velocity and :math:`\alpha_b` is a parameter to ensure that the seabed stress quickly drops when
the ice concentration is smaller than 1. In the code, :math:`k_2 \max [0,(h_u - h_{cu})] e^{-\alpha_b * (1 - a_u)}` is defined as
:math:`T_b`. The quantities :math:`h_u`, :math:`a_{u}` and :math:`h_{cu}` are calculated at
the 'u' point based on local ice conditions (surrounding tracer points). They are respectively given by
Expand Down
3 changes: 3 additions & 0 deletions doc/source/user_guide/ug_case_settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,9 @@ Table of namelist options
"","", "``-1``", "Transport Disabled", ""
"","``basalstress``", "true/false", "use basal stress parameterization for landfast ice", ""
"","``k1``", "real", "1st free parameter for landfast parameterization", "8."
"","``k2``", "real", "2nd free parameter (N/m^3) for landfast parameterization", "15."
"","``alphab``", "real", ":math:`\alpha_{b}` factor in :cite:`Lemieux16`", "20."
"","``threshold_hw``", "real", "Max water depth for grounding (see :cite:`Amundrud04`)", "30."
"","``e_ratio``", "real", "EVP ellipse aspect ratio", "2.0"
"","``Ktens``", "real", "Tensile strength factor (see :cite:`Konig10`)", "0.0"
"","", "", "", ""
Expand Down

0 comments on commit f3aec72

Please sign in to comment.