Skip to content

Commit

Permalink
deprecate old ridging participation and redistribution functions
Browse files Browse the repository at this point in the history
  • Loading branch information
eclare108213 committed Jul 28, 2022
1 parent 42e1275 commit 95c289a
Show file tree
Hide file tree
Showing 10 changed files with 45 additions and 23 deletions.
28 changes: 25 additions & 3 deletions cicecore/cicedynB/general/ice_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ subroutine input_data
atm_data_format, ocn_data_format, &
bgc_data_type, &
ocn_data_type, ocn_data_dir, wave_spec_file, &
oceanmixed_file, restore_ocn, trestore, &
oceanmixed_file, restore_ocn, trestore, &
ice_data_type, ice_data_conc, ice_data_dist, &
snw_filename, &
snw_tau_fname, snw_kappa_fname, snw_drdt0_fname, &
Expand All @@ -102,7 +102,7 @@ subroutine input_data
bathymetry_format, kmt_type, &
grid_type, grid_format, &
grid_ice, grid_ice_thrm, grid_ice_dynu, grid_ice_dynv, &
grid_ocn, grid_ocn_thrm, grid_ocn_dynu, grid_ocn_dynv, &
grid_ocn, grid_ocn_thrm, grid_ocn_dynu, grid_ocn_dynv, &
grid_atm, grid_atm_thrm, grid_atm_dynu, grid_atm_dynv, &
dxrect, dyrect, &
pgl_global_ext
Expand Down Expand Up @@ -145,7 +145,11 @@ subroutine input_data
rsnw_fall, rsnw_tmax, rhosnew, rhosmin, rhosmax, &
windmin, drhosdwind, snwlvlfac

#ifdef UNDEPRECATE_KRDG0
integer (kind=int_kind) :: ktherm, kstrength, krdg_partic, krdg_redist, natmiter, &
#else
integer (kind=int_kind) :: ktherm, kstrength, natmiter, &
#endif
kitd, kcatbound, ktransport

character (len=char_len) :: shortwave, albedo_type, conduct, fbot_xfer_type, &
Expand Down Expand Up @@ -222,8 +226,12 @@ subroutine input_data
evp_algorithm, elasticDamp, &
brlx, arlx, ssh_stress, &
advection, coriolis, kridge, ktransport, &
#ifdef UNDEPRECATE_KRDG0
kstrength, krdg_partic, krdg_redist, mu_rdg, &
e_yieldcurve, e_plasticpot, visc_method, &
#else
kstrength, mu_rdg, &
#endif
e_yieldcurve, e_plasticpot, visc_method, &
maxits_nonlin, precond, dim_fgmres, &
dim_pgmres, maxits_fgmres, maxits_pgmres, monitor_nonlin, &
monitor_fgmres, monitor_pgmres, reltol_nonlin, reltol_fgmres, &
Expand Down Expand Up @@ -371,9 +379,13 @@ subroutine input_data
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)
#ifdef UNDEPRECATE_KRDG0
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)
#else
mu_rdg = 3 ! e-folding scale of ridged ice (m^0.5)
#endif
Cf = 17.0_dbl_kind ! ratio of ridging work to PE change in ridging
ksno = 0.3_dbl_kind ! snow thermal conductivity
dxrect = 0.0_dbl_kind ! user defined grid spacing in cm in x direction
Expand Down Expand Up @@ -857,8 +869,10 @@ subroutine input_data
call broadcast_scalar(kstrength, master_task)
call broadcast_scalar(Pstar, master_task)
call broadcast_scalar(Cstar, master_task)
#ifdef UNDEPRECATE_KRDG0
call broadcast_scalar(krdg_partic, master_task)
call broadcast_scalar(krdg_redist, master_task)
#endif
call broadcast_scalar(mu_rdg, master_task)
call broadcast_scalar(Cf, master_task)
call broadcast_scalar(ksno, master_task)
Expand Down Expand Up @@ -1826,20 +1840,24 @@ subroutine input_data
write(nu_diag,1010) ' tr_lvl = ', tr_lvl,' : ridging related tracers'
write(nu_diag,1020) ' kridge = ', kridge,trim(tmpstr2)
if (kridge == 1) then
#ifdef UNDEPRECATE_KRDG0
if (krdg_partic == 1) then
tmpstr2 = ' : new participation function'
else
tmpstr2 = ' : old participation function'
endif
write(nu_diag,1020) ' krdg_partic = ', krdg_partic,trim(tmpstr2)
if (krdg_partic == 1) &
#endif
write(nu_diag,1002) ' mu_rdg = ', mu_rdg,' : e-folding scale of ridged ice'
#ifdef UNDEPRECATE_KRDG0
if (krdg_redist == 1) then
tmpstr2 = ' : new redistribution function'
else
tmpstr2 = ' : old redistribution function'
endif
write(nu_diag,1020) ' krdg_redist = ', krdg_redist,trim(tmpstr2)
#endif
endif

if (kstrength == 0) then
Expand Down Expand Up @@ -2368,7 +2386,11 @@ subroutine input_data
emissivity_in=emissivity, &
ahmax_in=ahmax, shortwave_in=shortwave, albedo_type_in=albedo_type, R_ice_in=R_ice, R_pnd_in=R_pnd, &
R_snw_in=R_snw, dT_mlt_in=dT_mlt, rsnw_mlt_in=rsnw_mlt, &
#ifdef UNDEPRECATE_KRDG0
kstrength_in=kstrength, krdg_partic_in=krdg_partic, krdg_redist_in=krdg_redist, mu_rdg_in=mu_rdg, &
#else
kstrength_in=kstrength, mu_rdg_in=mu_rdg, &
#endif
atmbndy_in=atmbndy, calc_strair_in=calc_strair, formdrag_in=formdrag, highfreq_in=highfreq, &
kitd_in=kitd, kcatbound_in=kcatbound, hs0_in=hs0, dpscale_in=dpscale, frzpnd_in=frzpnd, &
rfracmin_in=rfracmin, rfracmax_in=rfracmax, pndaspect_in=pndaspect, hs1_in=hs1, hp1_in=hp1, &
Expand Down
2 changes: 0 additions & 2 deletions configuration/scripts/ice_in
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,6 @@
arlx = 300.0
advection = 'remap'
kstrength = 1
krdg_partic = 1
krdg_redist = 1
mu_rdg = 3
Pstar = 2.75e4
Cstar = 20
Expand Down
2 changes: 0 additions & 2 deletions configuration/scripts/options/set_nml.alt02
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ kitd = 0
kdyn = 1
revised_evp = .true.
kstrength = 0
krdg_partic = 0
krdg_redist = 0
shortwave = 'ccsm3'
albedo_type = 'ccsm3'
calc_Tsfc = .true.
Expand Down
2 changes: 0 additions & 2 deletions configuration/scripts/options/set_nml.alt04
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ shortwave = 'dEdd'
formdrag = .true.
advection = 'upwind'
kstrength = 0
krdg_partic = 0
krdg_redist = 0
frzpnd = 'ccsm'
natmiter = 20
tfrz_option = 'linear_salt'
2 changes: 0 additions & 2 deletions configuration/scripts/options/set_nml.boxadv
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ kitd = 1
ktherm = 1
kdyn = 2
kstrength = 0
krdg_partic = 0
krdg_redist = 0
shortwave = 'ccsm3'
albedo_type = 'constant'

2 changes: 0 additions & 2 deletions configuration/scripts/options/set_nml.boxnodyn
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@ ktherm = 1
kdyn = 1
revised_evp = .false.
kstrength = 1
krdg_partic = 1
krdg_redist = 1
seabed_stress = .true.
atm_data_type = 'calm'
ocn_data_type = 'calm'
Expand Down
2 changes: 0 additions & 2 deletions configuration/scripts/options/set_nml.boxrestore
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ ktherm = 1
kdyn = 1
revised_evp = .true.
kstrength = 0
krdg_partic = 0
krdg_redist = 0
seabed_stress = .true.
restore_ice = .true.
shortwave = 'ccsm3'
Expand Down
14 changes: 10 additions & 4 deletions doc/source/cice_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ either Celsius or Kelvin units).
"grid_type", "‘rectangular’, ‘displaced_pole’, ‘column’ or ‘regional’", ""
"gridcpl_file", "input file for coupling grid info", ""
"grow_net", "specific biogeochemistry growth rate per grid cell", "s :math:`^{-1}`"
"Gstar", "piecewise-linear ridging participation function parameter", "0.15"
"Gstar", "DEPRECATED", ""
"**H**", "", ""
"halo_info", "information for updating ghost cells", ""
"hfrazilmin", "minimum thickness of new frazil ice", "0.05 m"
Expand Down Expand Up @@ -333,7 +333,7 @@ either Celsius or Kelvin units).
"hs0", "snow depth at which transition to ice occurs (dEdd)", "0.03 m"
"hs1", "snow depth of transition to pond ice", "0.03 m"
"hs_ssl", "snow surface scattering layer thickness", "0.04 m"
"Hstar", "determines mean thickness of ridged ice", "25. m"
"Hstar", "DEPRECATED", ""
"HTE", "length of eastern edge (:math:`\Delta y`) of T-cell", "m"
"HTN", "length of northern edge (:math:`\Delta x`) of T-cell", "m"
"HTS", "length of southern edge (:math:`\Delta x`) of T-cell", "m"
Expand Down Expand Up @@ -384,8 +384,8 @@ either Celsius or Kelvin units).
"kitd", "type of itd conversions (0 = delta function, 1 = linear remap)", "1"
"kmt_file", "input file for land mask info", ""
"kmt_type", "file, default or boxislands", "file"
"krdg_partic", "ridging participation function", "1"
"krdg_redist", "ridging redistribution function", "1"
"krdg_partic", "DEPRECATED", ""
"krdg_redist", "DEPRECATED", ""
"krgdn", "mean ridge thickness per thickness of ridging ice", ""
"ksno", "thermal conductivity of snow", "0.30 W/m/deg"
"kstrength", "ice stength formulation (1= :cite:`Rothrock75`, 0 = :cite:`Hibler79`)", "1"
Expand Down Expand Up @@ -778,3 +778,9 @@ either Celsius or Kelvin units).
"heat_capacity", "if true, use salinity-dependent thermodynamics", "T"
"kseaice", "thermal conductivity of ice for zero-layer thermodynamics", "2.0 W/m/deg"
"ktherm", "thermodynamic formulation (0 = zero-layer, 1 = :cite:`Bitz99`, 2 = mushy)", ""
krdg_partic=0 and krdg_redist=0 have been deprecated
The flags have been removed, using the default values = 1
"krdg_partic", "ridging participation function", "1"
"krdg_redist", "ridging redistribution function", "1"
"Gstar", "piecewise-linear ridging participation function parameter", "0.15"
"Hstar", "determines mean thickness of ridged ice", "25. m"
12 changes: 8 additions & 4 deletions doc/source/user_guide/ug_case_settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -449,10 +449,6 @@ dynamics_nml
"", "``3``", "VP dynamics", ""
"``kstrength``", "``0``", "ice strength formulation :cite:`Hibler79`", "1"
"", "``1``", "ice strength formulation :cite:`Rothrock75`", ""
"``krdg_partic``", "``0``", "old ridging participation function", "1"
"", "``1``", "new ridging participation function", ""
"``krdg_redist``", "``0``", "old ridging redistribution function", "1"
"", "``1``", "new ridging redistribution function", ""
"``kridge``", "``-1``", "ridging disabled", "1"
"", "``1``", "ridging enabled", ""
"``ktransport``", "``-1``", "transport disabled", "1"
Expand Down Expand Up @@ -490,6 +486,14 @@ dynamics_nml
"``yield_curve``", "``ellipse``", "elliptical yield curve", "``ellipse``"
"", "", "", ""

..
krdg_partic=0 and krdg_redist=0 have been deprecated
The flags have been removed, using the default values = 1
"``krdg_partic``", "``0``", "old ridging participation function", "1"
"", "``1``", "new ridging participation function", ""
"``krdg_redist``", "``0``", "old ridging redistribution function", "1"
"", "``1``", "new ridging redistribution function", ""
shortwave_nml
~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
2 changes: 2 additions & 0 deletions doc/source/user_guide/ug_implementation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1002,6 +1002,8 @@ Numerical estimates for this bound for several POP grids, assuming
gx1,Greenland,:math:`320\times 384`,:math:`18\times 10^3` m,5.0hr
p4,Canada,:math:`900\times 600`,:math:`6.5\times 10^3` m,1.8hr

*Note that ``krdg_partic`` = 0 has been deprecated and the flag removed.*

As discussed in :cite:`Lipscomb07`, the maximum time step in practice is
usually determined by the time scale for large changes in the ice
strength (which depends in part on wind strength). Using the strength
Expand Down

0 comments on commit 95c289a

Please sign in to comment.