diff --git a/.testing/tc0/MOM_input b/.testing/tc0/MOM_input index 7a107486b2..4e35e4a4be 100644 --- a/.testing/tc0/MOM_input +++ b/.testing/tc0/MOM_input @@ -239,3 +239,20 @@ FIX_UNSPLIT_DT_VISC_BUG = False ! [Boolean] default = False USE_LAND_MASK_FOR_HVISC = False ! [Boolean] default = False GUST_CONST = 0.02 ! [Pa] default = 0.02 FIX_USTAR_GUSTLESS_BUG = False ! [Boolean] default = False + +! Explicitly use the defaults from late 2024 +EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT_FULL" +REGRIDDING_ANSWER_DATE = 20181231 +TIDES_ANSWER_DATE = 20230630 +WAVE_INTERFACE_ANSWER_DATE = 20221231 +MEKE_GM_SRC_ANSWER_DATE = 20240101 +NDIFF_ANSWER_DATE = 20240101 +KPP%ANSWER_DATE = 20240101 +HOR_DIFF_ANSWER_DATE = 20240101 +LOTW_BBL_ANSWER_DATE = 20190101 +MEKE_GM_SRC_ALT_SLOPE_BUG = True +HOR_DIFF_LIMIT_BUG = True +BACKSCATTER_UNDERBOUND = True +DETERMINE_TEMP_CONVERGENCE_BUG = True +LA_MISALIGNMENT_BUG = True +IDL_HURR_SCM_EDGE_TAPER_BUG = True diff --git a/.testing/tc1/MOM_input b/.testing/tc1/MOM_input index 098952ccc2..faff5fc25c 100644 --- a/.testing/tc1/MOM_input +++ b/.testing/tc1/MOM_input @@ -595,3 +595,20 @@ BULKML_CONV_MOMENTUM_BUG = True ! [Boolean] default = True PEN_SW_ABSORB_MINTHICK = 0.001 ! [m] default = 0.001 GUST_CONST = 0.02 ! [Pa] default = 0.02 FIX_USTAR_GUSTLESS_BUG = False ! [Boolean] default = False + +! Explicitly use the defaults from late 2024 +EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT_FULL" +REGRIDDING_ANSWER_DATE = 20181231 +TIDES_ANSWER_DATE = 20230630 +WAVE_INTERFACE_ANSWER_DATE = 20221231 +MEKE_GM_SRC_ANSWER_DATE = 20240101 +NDIFF_ANSWER_DATE = 20240101 +KPP%ANSWER_DATE = 20240101 +HOR_DIFF_ANSWER_DATE = 20240101 +LOTW_BBL_ANSWER_DATE = 20190101 +MEKE_GM_SRC_ALT_SLOPE_BUG = True +HOR_DIFF_LIMIT_BUG = True +BACKSCATTER_UNDERBOUND = True +DETERMINE_TEMP_CONVERGENCE_BUG = True +LA_MISALIGNMENT_BUG = True +IDL_HURR_SCM_EDGE_TAPER_BUG = True diff --git a/.testing/tc2/MOM_input b/.testing/tc2/MOM_input index c8aad58e92..cf63601ad4 100644 --- a/.testing/tc2/MOM_input +++ b/.testing/tc2/MOM_input @@ -627,3 +627,20 @@ USE_MLD_ITERATION = False ! [Boolean] default = False PEN_SW_ABSORB_MINTHICK = 0.001 ! [m] default = 0.001 GUST_CONST = 0.02 ! [Pa] default = 0.02 FIX_USTAR_GUSTLESS_BUG = False ! [Boolean] default = False + +! Explicitly use the defaults from late 2024 +EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT_FULL" +REGRIDDING_ANSWER_DATE = 20181231 +TIDES_ANSWER_DATE = 20230630 +WAVE_INTERFACE_ANSWER_DATE = 20221231 +MEKE_GM_SRC_ANSWER_DATE = 20240101 +NDIFF_ANSWER_DATE = 20240101 +KPP%ANSWER_DATE = 20240101 +HOR_DIFF_ANSWER_DATE = 20240101 +LOTW_BBL_ANSWER_DATE = 20190101 +MEKE_GM_SRC_ALT_SLOPE_BUG = True +HOR_DIFF_LIMIT_BUG = True +BACKSCATTER_UNDERBOUND = True +DETERMINE_TEMP_CONVERGENCE_BUG = True +LA_MISALIGNMENT_BUG = True +IDL_HURR_SCM_EDGE_TAPER_BUG = True diff --git a/.testing/tc3/MOM_input b/.testing/tc3/MOM_input index 6a1238ee96..3f71ed5bd5 100644 --- a/.testing/tc3/MOM_input +++ b/.testing/tc3/MOM_input @@ -480,3 +480,21 @@ KAPPA_SHEAR_ITER_BUG = True ! [Boolean] default = True KAPPA_SHEAR_ALL_LAYER_TKE_BUG = True ! [Boolean] default = True GUST_CONST = 0.02 ! [Pa] default = 0.02 FIX_USTAR_GUSTLESS_BUG = False ! [Boolean] default = False + + +! Explicitly use the defaults from late 2024 +EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT_FULL" +REGRIDDING_ANSWER_DATE = 20181231 +TIDES_ANSWER_DATE = 20230630 +WAVE_INTERFACE_ANSWER_DATE = 20221231 +MEKE_GM_SRC_ANSWER_DATE = 20240101 +NDIFF_ANSWER_DATE = 20240101 +KPP%ANSWER_DATE = 20240101 +HOR_DIFF_ANSWER_DATE = 20240101 +LOTW_BBL_ANSWER_DATE = 20190101 +MEKE_GM_SRC_ALT_SLOPE_BUG = True +HOR_DIFF_LIMIT_BUG = True +BACKSCATTER_UNDERBOUND = True +DETERMINE_TEMP_CONVERGENCE_BUG = True +LA_MISALIGNMENT_BUG = True +IDL_HURR_SCM_EDGE_TAPER_BUG = True diff --git a/.testing/tc4/MOM_input b/.testing/tc4/MOM_input index b985b8e082..2d7a1a4c68 100644 --- a/.testing/tc4/MOM_input +++ b/.testing/tc4/MOM_input @@ -417,3 +417,20 @@ KAPPA_SHEAR_ITER_BUG = True ! [Boolean] default = True KAPPA_SHEAR_ALL_LAYER_TKE_BUG = True ! [Boolean] default = True USE_MLD_ITERATION = False ! [Boolean] default = False + +! Explicitly use the defaults from late 2024 +REGRIDDING_ANSWER_DATE = 20181231 +TIDES_ANSWER_DATE = 20230630 +WAVE_INTERFACE_ANSWER_DATE = 20221231 +MEKE_GM_SRC_ANSWER_DATE = 20240101 +NDIFF_ANSWER_DATE = 20240101 +KPP%ANSWER_DATE = 20240101 +HOR_DIFF_ANSWER_DATE = 20240101 +LOTW_BBL_ANSWER_DATE = 20190101 +MEKE_GM_SRC_ALT_SLOPE_BUG = True +HOR_DIFF_LIMIT_BUG = True +BACKSCATTER_UNDERBOUND = True +DETERMINE_TEMP_CONVERGENCE_BUG = True +LA_MISALIGNMENT_BUG = True +IDL_HURR_SCM_EDGE_TAPER_BUG = True + diff --git a/src/ALE/MOM_regridding.F90 b/src/ALE/MOM_regridding.F90 index 0d325292f5..60c09e5b92 100644 --- a/src/ALE/MOM_regridding.F90 +++ b/src/ALE/MOM_regridding.F90 @@ -313,7 +313,7 @@ subroutine initialize_regridding(CS, GV, US, max_depth, param_file, mdl, coord_m "Values below 20190101 result in the use of older, less accurate expressions "//& "that were in use at the end of 2018. Higher values result in the use of more "//& "robust and accurate forms of mathematically equivalent expressions.", & - default=20181231, do_not_log=.not.GV%Boussinesq) ! ### change to default=default_answer_date) + default=default_answer_date, do_not_log=.not.GV%Boussinesq) if (.not.GV%Boussinesq) regrid_answer_date = max(regrid_answer_date, 20230701) call set_regrid_params(CS, regrid_answer_date=regrid_answer_date) endif diff --git a/src/core/MOM_PressureForce_FV.F90 b/src/core/MOM_PressureForce_FV.F90 index 42e6514ab9..6773c6863d 100644 --- a/src/core/MOM_PressureForce_FV.F90 +++ b/src/core/MOM_PressureForce_FV.F90 @@ -1777,7 +1777,7 @@ subroutine PressureForce_FV_init(Time, G, GV, US, param_file, diag, CS, SAL_CSp, "The vintage of self-attraction and loading (SAL) and tidal forcing calculations in "//& "Boussinesq mode. Values below 20230701 recover the old answers in which the SAL is "//& "part of the tidal forcing calculation. The change is due to a reordered summation "//& - "and the difference is only at bit level.", default=20230630) + "and the difference is only at bit level.", default=default_answer_date) endif call get_param(param_file, mdl, "CALCULATE_SAL", CS%calculate_SAL, & "If true, calculate self-attraction and loading.", default=CS%tides) diff --git a/src/equation_of_state/MOM_EOS.F90 b/src/equation_of_state/MOM_EOS.F90 index 938634c1ea..a565eb70e4 100644 --- a/src/equation_of_state/MOM_EOS.F90 +++ b/src/equation_of_state/MOM_EOS.F90 @@ -170,7 +170,7 @@ module MOM_EOS character*(12), parameter :: EOS_ROQUET_RHO_STRING = "ROQUET_RHO" !< A string for specifying the equation of state character*(12), parameter :: EOS_ROQUET_SPV_STRING = "ROQUET_SPV" !< A string for specifying the equation of state character*(12), parameter :: EOS_JACKETT06_STRING = "JACKETT_06" !< A string for specifying the equation of state -character*(12), parameter :: EOS_DEFAULT = EOS_WRIGHT_STRING !< The default equation of state +character*(12), parameter :: EOS_DEFAULT = EOS_WRIGHT_FULL_STRING !< The default equation of state integer, parameter :: TFREEZE_LINEAR = 1 !< A named integer specifying a freezing point expression integer, parameter :: TFREEZE_MILLERO = 2 !< A named integer specifying a freezing point expression diff --git a/src/parameterizations/lateral/MOM_hor_visc.F90 b/src/parameterizations/lateral/MOM_hor_visc.F90 index 92794c54e7..230ba51e5e 100644 --- a/src/parameterizations/lateral/MOM_hor_visc.F90 +++ b/src/parameterizations/lateral/MOM_hor_visc.F90 @@ -2545,8 +2545,7 @@ subroutine hor_visc_init(Time, G, GV, US, param_file, diag, CS, ADp) "biharmonic viscosity when no Laplacian viscosity is applied. The default "//& "is true for historical reasons, but this option probably should not be used "//& "because it can contribute to numerical instabilities.", & - default=.true., do_not_log=.not.((CS%better_bound_Kh).and.(CS%better_bound_Ah))) - !### The default for BACKSCATTER_UNDERBOUND should be false. + default=.false., do_not_log=.not.((CS%better_bound_Kh).and.(CS%better_bound_Ah))) call get_param(param_file, mdl, "SMAG_BI_CONST",Smag_bi_const, & "The nondimensional biharmonic Smagorinsky constant, "//& diff --git a/src/parameterizations/lateral/MOM_thickness_diffuse.F90 b/src/parameterizations/lateral/MOM_thickness_diffuse.F90 index daea75e73d..2de0f3abd1 100644 --- a/src/parameterizations/lateral/MOM_thickness_diffuse.F90 +++ b/src/parameterizations/lateral/MOM_thickness_diffuse.F90 @@ -2275,12 +2275,12 @@ subroutine thickness_diffuse_init(Time, G, GV, US, param_file, diag, CDp, CS) "MEKE_GM_SRC_ALT is true. Values below 20240601 recover the answers from the "//& "original implementation, while higher values use expressions that satisfy "//& "rotational symmetry.", & - default=20240101, do_not_log=.not.CS%GM_src_alt) ! ### Change default to default_answer_date. + default=default_answer_date, do_not_log=.not.CS%GM_src_alt) call get_param(param_file, mdl, "MEKE_GM_SRC_ALT_SLOPE_BUG", CS%MEKE_src_slope_bug, & "If true, use a bug that limits the positive values, but not the negative values, "//& "of the slopes used when MEKE_GM_SRC_ALT is true. When this is true, it breaks "//& "all of the symmetry rules that MOM6 is supposed to obey.", & - default=.true., do_not_log=.not.CS%GM_src_alt) ! ### Change default to False. + default=.false., do_not_log=.not.CS%GM_src_alt) call get_param(param_file, mdl, "MEKE_GEOMETRIC", CS%MEKE_GEOMETRIC, & "If true, uses the GM coefficient formulation from the GEOMETRIC "//& diff --git a/src/parameterizations/vertical/MOM_CVMix_KPP.F90 b/src/parameterizations/vertical/MOM_CVMix_KPP.F90 index b5a36ba9d2..25c30e943e 100644 --- a/src/parameterizations/vertical/MOM_CVMix_KPP.F90 +++ b/src/parameterizations/vertical/MOM_CVMix_KPP.F90 @@ -484,7 +484,7 @@ logical function KPP_init(paramFile, G, GV, US, diag, Time, CS, passive) "The vintage of the order of arithmetic in the CVMix KPP calculations. Values "//& "below 20240501 recover the answers from early in 2024, while higher values "//& "use expressions that have been refactored for rotational symmetry.", & - default=20240101) !### Change to: default=default_answer_date) + default=default_answer_date) call closeParameterBlock(paramFile) diff --git a/src/parameterizations/vertical/MOM_set_diffusivity.F90 b/src/parameterizations/vertical/MOM_set_diffusivity.F90 index 8deebb89c8..97feba290c 100644 --- a/src/parameterizations/vertical/MOM_set_diffusivity.F90 +++ b/src/parameterizations/vertical/MOM_set_diffusivity.F90 @@ -2399,8 +2399,7 @@ subroutine set_diffusivity_init(Time, G, GV, US, param_file, diag, CS, int_tide_ "calculations. Values below 20240630 recover the original answers, while "//& "higher values use more accurate expressions. This only applies when "//& "USE_LOTW_BBL_DIFFUSIVITY is true.", & - default=20190101, do_not_log=.not.CS%use_LOTW_BBL_diffusivity) - !### Set default as default=default_answer_date, or use SET_DIFF_ANSWER_DATE. + default=default_answer_date, do_not_log=.not.CS%use_LOTW_BBL_diffusivity) CS%id_Kd_BBL = register_diag_field('ocean_model', 'Kd_BBL', diag%axesTi, Time, & 'Bottom Boundary Layer Diffusivity', 'm2 s-1', conversion=GV%HZ_T_to_m2_s) diff --git a/src/tracer/MOM_neutral_diffusion.F90 b/src/tracer/MOM_neutral_diffusion.F90 index feb5dde247..7bd0fb9fab 100644 --- a/src/tracer/MOM_neutral_diffusion.F90 +++ b/src/tracer/MOM_neutral_diffusion.F90 @@ -219,7 +219,7 @@ logical function neutral_diffusion_init(Time, G, GV, US, param_file, diag, EOS, "Values of 20240330 or below recover the answers from the original form of the "//& "neutral diffusion code, while higher values use mathematically equivalent "//& "expressions that recover rotational symmetry.", & - default=20240101) !### Change this default later to default_answer_date. + default=default_answer_date) ! Initialize and configure remapping if ( .not.CS%continuous_reconstruction ) then diff --git a/src/tracer/MOM_tracer_Z_init.F90 b/src/tracer/MOM_tracer_Z_init.F90 index c471b61717..c0c783d912 100644 --- a/src/tracer/MOM_tracer_Z_init.F90 +++ b/src/tracer/MOM_tracer_Z_init.F90 @@ -636,7 +636,7 @@ subroutine determine_temperature(temp, salt, R_tgt, EOS, p_ref, niter, k_start, "to determine when the iterations have converged when DETERMINE_TEMP_ADJUST_T_AND_S "//& "is false. For realistic equations of state and the default values of the "//& "various tolerances, this bug does not impact the solutions.", & - default=.true., do_not_log=just_read) !### Change the default to false. + default=.false., do_not_log=just_read) call get_param(PF, mdl, "DETERMINE_TEMP_T_MIN", T_min, & "The minimum temperature that can be found by determine_temperature.", & diff --git a/src/tracer/MOM_tracer_hor_diff.F90 b/src/tracer/MOM_tracer_hor_diff.F90 index 3511b88f39..f0cb848c8a 100644 --- a/src/tracer/MOM_tracer_hor_diff.F90 +++ b/src/tracer/MOM_tracer_hor_diff.F90 @@ -1683,12 +1683,11 @@ subroutine tracer_hor_diff_init(Time, G, GV, US, param_file, diag, EOS, diabatic "along-isopycnal mixed layer to interior mixing code, while higher values use "//& "mathematically equivalent expressions that recover rotational symmetry "//& "when DIFFUSE_ML_TO_INTERIOR is true.", & - default=20240101, do_not_log=.not.CS%Diffuse_ML_interior) - !### Change the default later to default_answer_date. + default=default_answer_date, do_not_log=.not.CS%Diffuse_ML_interior) call get_param(param_file, mdl, "HOR_DIFF_LIMIT_BUG", CS%limit_bug, & "If true and the answer date is 20240330 or below, use a rotational symmetry "//& "breaking bug when limiting the tracer properties in tracer_epipycnal_ML_diff.", & - default=.true., do_not_log=((.not.CS%Diffuse_ML_interior).or.(CS%answer_date>=20240331))) + default=.false., do_not_log=((.not.CS%Diffuse_ML_interior).or.(CS%answer_date>=20240331))) CS%ML_KhTR_scale = 1.0 if (CS%Diffuse_ML_interior) then call get_param(param_file, mdl, "ML_KHTR_SCALE", CS%ML_KhTR_scale, & diff --git a/src/user/Idealized_Hurricane.F90 b/src/user/Idealized_Hurricane.F90 index aca19e86d0..6615b7c97c 100644 --- a/src/user/Idealized_Hurricane.F90 +++ b/src/user/Idealized_Hurricane.F90 @@ -242,7 +242,7 @@ subroutine idealized_hurricane_wind_init(Time, G, US, param_file, CS) "If true and IDL_HURR_SCM is true, use a bug that does all of the tapering and "//& "inflow angle calculations for radii between RAD_EDGE and RAD_AMBIENT as though "//& "they were at RAD_EDGE.", & - default=CS%SCM_mode, do_not_log=.not.CS%SCM_mode) !### Change the default to false. + default=.false., do_not_log=.not.CS%SCM_mode) if (.not.CS%SCM_mode) CS%edge_taper_bug = .false. call get_param(param_file, mdl, "IDL_HURR_SCM_LOCY", CS%dy_from_center, & "Y distance of station used in the SCM idealized hurricane wind profile.", & diff --git a/src/user/MOM_wave_interface.F90 b/src/user/MOM_wave_interface.F90 index 6e5baa6fdd..16f7ac7298 100644 --- a/src/user/MOM_wave_interface.F90 +++ b/src/user/MOM_wave_interface.F90 @@ -335,8 +335,7 @@ subroutine MOM_wave_interface_init(time, G, GV, US, param_file, CS, diag) "\t >= 20230101 - More robust expressions for Update_Stokes_Drift\n"//& "\t >= 20230102 - More robust expressions for get_StokesSL_LiFoxKemper\n"//& "\t >= 20230103 - More robust expressions for ust_2_u10_coare3p5", & - default=20221231, do_not_log=.not.GV%Boussinesq) - !### In due course change the default to default=default_answer_date) + default=default_answer_date, do_not_log=.not.GV%Boussinesq) if (.not.GV%Boussinesq) CS%answer_date = max(CS%answer_date, 20230701) ! Langmuir number Options @@ -539,8 +538,7 @@ subroutine MOM_wave_interface_init(time, G, GV, US, param_file, CS, diag) call get_param(param_file, mdl, "LA_MISALIGNMENT_BUG", CS%LA_misalign_bug, & "If true, use a code with a sign error when calculating the misalignment between "//& "the shear and waves when LA_MISALIGNMENT is true.", & - default=CS%LA_Misalignment, do_not_log=.not.CS%LA_Misalignment) - !### Change the default for LA_MISALIGNMENT_BUG to .false. + default=.false., do_not_log=.not.CS%LA_Misalignment) call get_param(param_file, mdl, "MIN_LANGMUIR", CS%La_min, & "A minimum value for all Langmuir numbers that is not physical, "//& "but is likely only encountered when the wind is very small and "//&