From 95c289af51d92c0d598bb401cc8b0b93b201df6c Mon Sep 17 00:00:00 2001 From: Elizabeth Hunke Date: Thu, 28 Jul 2022 14:03:46 -0600 Subject: [PATCH] deprecate old ridging participation and redistribution functions --- cicecore/cicedynB/general/ice_init.F90 | 28 +++++++++++++++++-- configuration/scripts/ice_in | 2 -- configuration/scripts/options/set_nml.alt02 | 2 -- configuration/scripts/options/set_nml.alt04 | 2 -- configuration/scripts/options/set_nml.boxadv | 2 -- .../scripts/options/set_nml.boxnodyn | 2 -- .../scripts/options/set_nml.boxrestore | 2 -- doc/source/cice_index.rst | 14 +++++++--- doc/source/user_guide/ug_case_settings.rst | 12 +++++--- doc/source/user_guide/ug_implementation.rst | 2 ++ 10 files changed, 45 insertions(+), 23 deletions(-) diff --git a/cicecore/cicedynB/general/ice_init.F90 b/cicecore/cicedynB/general/ice_init.F90 index 671fdc056..c78e31280 100644 --- a/cicecore/cicedynB/general/ice_init.F90 +++ b/cicecore/cicedynB/general/ice_init.F90 @@ -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, & @@ -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 @@ -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, & @@ -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, & @@ -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 @@ -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) @@ -1826,6 +1840,7 @@ 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 @@ -1833,13 +1848,16 @@ subroutine input_data 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 @@ -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, & diff --git a/configuration/scripts/ice_in b/configuration/scripts/ice_in index 27a333d86..70add6734 100644 --- a/configuration/scripts/ice_in +++ b/configuration/scripts/ice_in @@ -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 diff --git a/configuration/scripts/options/set_nml.alt02 b/configuration/scripts/options/set_nml.alt02 index a478809ca..e3af3b687 100644 --- a/configuration/scripts/options/set_nml.alt02 +++ b/configuration/scripts/options/set_nml.alt02 @@ -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. diff --git a/configuration/scripts/options/set_nml.alt04 b/configuration/scripts/options/set_nml.alt04 index d1bc6ad02..8367938a9 100644 --- a/configuration/scripts/options/set_nml.alt04 +++ b/configuration/scripts/options/set_nml.alt04 @@ -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' diff --git a/configuration/scripts/options/set_nml.boxadv b/configuration/scripts/options/set_nml.boxadv index 8a0e312c0..b1d8b9a6a 100644 --- a/configuration/scripts/options/set_nml.boxadv +++ b/configuration/scripts/options/set_nml.boxadv @@ -21,8 +21,6 @@ kitd = 1 ktherm = 1 kdyn = 2 kstrength = 0 -krdg_partic = 0 -krdg_redist = 0 shortwave = 'ccsm3' albedo_type = 'constant' diff --git a/configuration/scripts/options/set_nml.boxnodyn b/configuration/scripts/options/set_nml.boxnodyn index 0da3e9ec2..10152e411 100644 --- a/configuration/scripts/options/set_nml.boxnodyn +++ b/configuration/scripts/options/set_nml.boxnodyn @@ -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' diff --git a/configuration/scripts/options/set_nml.boxrestore b/configuration/scripts/options/set_nml.boxrestore index 4ca56d211..e12c35370 100644 --- a/configuration/scripts/options/set_nml.boxrestore +++ b/configuration/scripts/options/set_nml.boxrestore @@ -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' diff --git a/doc/source/cice_index.rst b/doc/source/cice_index.rst index 69e98225e..69de69489 100644 --- a/doc/source/cice_index.rst +++ b/doc/source/cice_index.rst @@ -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" @@ -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" @@ -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" @@ -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" diff --git a/doc/source/user_guide/ug_case_settings.rst b/doc/source/user_guide/ug_case_settings.rst index e210bf1e8..8c10300f4 100644 --- a/doc/source/user_guide/ug_case_settings.rst +++ b/doc/source/user_guide/ug_case_settings.rst @@ -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" @@ -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 ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/source/user_guide/ug_implementation.rst b/doc/source/user_guide/ug_implementation.rst index 500209326..3fb836f79 100644 --- a/doc/source/user_guide/ug_implementation.rst +++ b/doc/source/user_guide/ug_implementation.rst @@ -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