Skip to content

Commit

Permalink
add Pstar and Cstar to namelist (CICE-Consortium#475)
Browse files Browse the repository at this point in the history
Also, add a new format to ice_init for numbers
in exponential notation.

See CICE-Consortium#472
  • Loading branch information
phil-blain authored Jun 27, 2020
1 parent f532dd9 commit c9cfebd
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 5 deletions.
17 changes: 12 additions & 5 deletions cicecore/cicedynB/general/ice_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ subroutine input_data
ahmax, R_ice, R_pnd, R_snw, dT_mlt, rsnw_mlt, emissivity, &
mu_rdg, hs0, dpscale, rfracmin, rfracmax, pndaspect, hs1, hp1, &
a_rapid_mode, Rac_rapid_mode, aspect_rapid_mode, dSdt_slow_mode, &
phi_c_slow_mode, phi_i_mushy, kalg, atmiter_conv
phi_c_slow_mode, phi_i_mushy, kalg, atmiter_conv, Pstar, Cstar

integer (kind=int_kind) :: ktherm, kstrength, krdg_partic, krdg_redist, natmiter, &
kitd, kcatbound
Expand Down Expand Up @@ -190,7 +190,8 @@ subroutine input_data
advection, coriolis, kridge, ktransport, &
kstrength, krdg_partic, krdg_redist, mu_rdg, &
e_ratio, Ktens, Cf, basalstress, &
k1, k2, alphab, threshold_hw
k1, k2, alphab, threshold_hw, &
Pstar, Cstar

namelist /shortwave_nml/ &
shortwave, albedo_type, &
Expand Down Expand Up @@ -298,6 +299,8 @@ subroutine input_data
revised_evp = .false. ! if true, use revised procedure for evp dynamics
yield_curve = 'ellipse'
kstrength = 1 ! 1 = Rothrock 75 strength, 0 = Hibler 79
Pstar = 2.75e4_dbl_kind ! constant in Hibler strength formula (kstrength = 0)
Cstar = 20._dbl_kind ! constant in Hibler strength formula (kstrength = 0)
krdg_partic = 1 ! 1 = new participation, 0 = Thorndike et al 75
krdg_redist = 1 ! 1 = new redistribution, 0 = Hibler 80
mu_rdg = 3 ! e-folding scale of ridged ice, krdg_partic=1 (m^0.5)
Expand Down Expand Up @@ -586,6 +589,8 @@ subroutine input_data
call broadcast_scalar(revised_evp, master_task)
call broadcast_scalar(yield_curve, master_task)
call broadcast_scalar(kstrength, master_task)
call broadcast_scalar(Pstar, master_task)
call broadcast_scalar(Cstar, master_task)
call broadcast_scalar(krdg_partic, master_task)
call broadcast_scalar(krdg_redist, master_task)
call broadcast_scalar(mu_rdg, master_task)
Expand Down Expand Up @@ -1207,8 +1212,8 @@ subroutine input_data
endif
write(nu_diag,1022) ' kstrength = ', kstrength,trim(tmpstr2)
if (kstrength == 0) then
! write(nu_diag,1007) ' Pstar = ', Pstar, ' P* strength factor'
! write(nu_diag,1007) ' Cstar = ', Cstar, ' C* strength exponent factor'
write(nu_diag,1009) ' Pstar = ', Pstar, ' P* strength factor'
write(nu_diag,1007) ' Cstar = ', Cstar, ' C* strength exponent factor'
elseif (kstrength == 1) then
write(nu_diag,1007) ' Cf = ', Cf, ' ratio of ridging work to PE change'
endif
Expand Down Expand Up @@ -1620,7 +1625,8 @@ subroutine input_data
phi_c_slow_mode_in=phi_c_slow_mode, phi_i_mushy_in=phi_i_mushy, conserv_check_in=conserv_check, &
wave_spec_type_in = wave_spec_type, &
wave_spec_in=wave_spec, nfreq_in=nfreq, &
tfrz_option_in=tfrz_option, kalg_in=kalg, fbot_xfer_type_in=fbot_xfer_type)
tfrz_option_in=tfrz_option, kalg_in=kalg, fbot_xfer_type_in=fbot_xfer_type, &
Pstar_in=Pstar, Cstar_in=Cstar)
call icepack_init_tracer_flags(tr_iage_in=tr_iage, tr_FY_in=tr_FY, &
tr_lvl_in=tr_lvl, tr_iso_in=tr_iso, tr_aero_in=tr_aero, &
tr_fsd_in=tr_fsd, tr_pond_in=tr_pond, &
Expand All @@ -1638,6 +1644,7 @@ subroutine input_data
1005 format (a30,2x,f12.6) ! float
1006 format (a20,2x,f10.6,a)
1007 format (a20,2x,f6.2,a)
1009 format (a20,2x,d13.6,a) ! float, exponential notation
1010 format (a30,2x,l6) ! logical
1012 format (a20,2x,l3,1x,a) ! logical
1020 format (a30,2x,i6) ! integer
Expand Down
2 changes: 2 additions & 0 deletions configuration/scripts/ice_in
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@
krdg_partic = 1
krdg_redist = 1
mu_rdg = 3
Pstar = 2.75e4
Cstar = 20
Cf = 17.
Ktens = 0.
e_ratio = 2.
Expand Down
2 changes: 2 additions & 0 deletions doc/source/user_guide/ug_case_settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,7 @@ dynamics_nml
"``basalstress``", "logical", "use basal stress parameterization for landfast ice", "``.false.``"
"``Cf``", "real", "ratio of ridging work to PE change in ridging", "17.0"
"``coriolis``", "``constant``", "constant coriolis value = 1.46e-4", "``latitude``"
"``Cstar``", "real", "constant in Hibler strength formula", "20"
"", "``latitude``", "coriolis variable by latitude", ""
"", "``zero``", "zero coriolis", ""
"``e_ratio``", "real", "EVP ellipse aspect ratio", "2.0"
Expand All @@ -338,6 +339,7 @@ dynamics_nml
"``k2``", "real", "2nd free parameter (N/m^3) for landfast parameterization", "15.0"
"``mu_rdg``", "real", "e-folding scale of ridged ice for ``krdg_partic`` = 1 in m^0.5", "3.0"
"``ndte``", "integer", "number of EVP subcycles", "120"
"``Pstar``", "real", "constant in Hibler strength formula (N/m)", "2.75e4"
"``revised_evp``", "logical", "use revised EVP formulation", "``.false.``"
"``threshold_hw``", "real", "Max water depth for grounding (see :cite:`Amundrud04`)", "30."
"``yield_curve``", "``ellipse``", "elliptical yield curve", "``ellipse``"
Expand Down

0 comments on commit c9cfebd

Please sign in to comment.