From 30ebe30d660b5b69beec72df885f4a793099da58 Mon Sep 17 00:00:00 2001 From: Robert Hallberg Date: Sun, 15 Dec 2024 14:07:19 -0500 Subject: [PATCH] *Update defaults for EQN_OF_STATE and 14 parameters Updated the default values of 15 runtime parameters, as agreed upon in a MOM6 consortium wide conversations on July 29, 2024 and December 16, 2024. The most prominent of these is that the default equation of state is now EQN_OF_STATE = "WRIGHT_FULL", in place of the buggy previous default of "WRIGHT". The 8 answer date parameters REGRIDDING_ANSWER_DATE, TIDES_ANSWER_DATE, WAVE_INTERFACE_ANSWER_DATE, MEKE_GM_SRC_ANSWER_DATE, NDIFF_ANSWER_DATE, KPP%ANSWER_DATE, HOR_DIFF_ANSWER_DATE and LOTW_BBL_ANSWER_DATE all now take their default values from DEFAULT_ANSWER_DATE. The bug-retention parameters MEKE_GM_SRC_ALT_SLOPE_BUG, HOR_DIFF_LIMIT_BUG, BACKSCATTER_UNDERBOUND, DETERMINE_TEMP_CONVERGENCE_BUG, LA_MISALIGNMENT_BUG and IDL_HURR_SCM_EDGE_TAPER_BUG are now false by default. The MOM_input files for the test cases in the `.testing/tc[01234]` directories were updated to explicitly set all of these parameters to their previous default values. Bitwise identical answers are recovered if all 15 of these parameters are set explicitly, but answers can change if any of these parameters take default values. All of these default changes are the consensus decision of consortium-wise MOM6 dev calls. --- .testing/tc0/MOM_input | 17 +++++++++++++++++ .testing/tc1/MOM_input | 17 +++++++++++++++++ .testing/tc2/MOM_input | 17 +++++++++++++++++ .testing/tc3/MOM_input | 18 ++++++++++++++++++ .testing/tc4/MOM_input | 17 +++++++++++++++++ src/ALE/MOM_regridding.F90 | 2 +- src/core/MOM_PressureForce_FV.F90 | 9 ++++++--- src/equation_of_state/MOM_EOS.F90 | 2 +- src/parameterizations/lateral/MOM_hor_visc.F90 | 3 +-- .../lateral/MOM_thickness_diffuse.F90 | 8 ++------ .../vertical/MOM_CVMix_KPP.F90 | 2 +- .../vertical/MOM_set_diffusivity.F90 | 3 +-- src/tracer/MOM_neutral_diffusion.F90 | 2 +- src/tracer/MOM_tracer_Z_init.F90 | 6 +----- src/tracer/MOM_tracer_hor_diff.F90 | 9 ++------- src/user/Idealized_Hurricane.F90 | 6 +----- src/user/MOM_wave_interface.F90 | 9 ++------- 17 files changed, 106 insertions(+), 41 deletions(-) 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 c29b88286e..926f1f741b 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 fffe35104b..1014143965 100644 --- a/src/core/MOM_PressureForce_FV.F90 +++ b/src/core/MOM_PressureForce_FV.F90 @@ -2076,8 +2076,10 @@ subroutine PressureForce_FV_init(Time, G, GV, US, param_file, diag, CS, ADp, SAL default=enable_bugs) call get_param(param_file, mdl, "TIDES", CS%tides, & "If true, apply tidal momentum forcing.", default=.false.) - call get_param(param_file, '', "DEFAULT_ANSWER_DATE", default_answer_date, default=99991231) - if (CS%tides) & + if (CS%tides) then + call get_param(param_file, mdl, "DEFAULT_ANSWER_DATE", default_answer_date, & + "This sets the default value for the various _ANSWER_DATE parameters.", & + default=99991231) call get_param(param_file, mdl, "TIDES_ANSWER_DATE", CS%tides_answer_date, "The vintage of "//& "self-attraction and loading (SAL) and tidal forcing calculations. Setting "//& "dates before 20230701 recovers old answers (Boussinesq and non-Boussinesq "//& @@ -2085,7 +2087,8 @@ subroutine PressureForce_FV_init(Time, G, GV, US, param_file, diag, CS, ADp, SAL "difference is only at bit level and due to a reordered summation. Setting "//& "dates before 20250201 recovers answers (Boussinesq mode) that interface "//& "heights are modified before pressure force integrals are calculated.", & - default=20230630, do_not_log=(.not.CS%tides)) + default=default_answer_date, do_not_log=(.not.CS%tides)) + endif call get_param(param_file, mdl, "CALCULATE_SAL", CS%calculate_SAL, & "If true, calculate self-attraction and loading.", default=CS%tides) if (CS%calculate_SAL) & diff --git a/src/equation_of_state/MOM_EOS.F90 b/src/equation_of_state/MOM_EOS.F90 index 0227ef78e7..ee49bd282d 100644 --- a/src/equation_of_state/MOM_EOS.F90 +++ b/src/equation_of_state/MOM_EOS.F90 @@ -179,7 +179,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 c61b4bf54a..61ea69c783 100644 --- a/src/parameterizations/lateral/MOM_hor_visc.F90 +++ b/src/parameterizations/lateral/MOM_hor_visc.F90 @@ -2584,8 +2584,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 cc21e20e00..1bfa3d340b 100644 --- a/src/parameterizations/lateral/MOM_thickness_diffuse.F90 +++ b/src/parameterizations/lateral/MOM_thickness_diffuse.F90 @@ -2193,8 +2193,6 @@ subroutine thickness_diffuse_init(Time, G, GV, US, param_file, diag, CDp, CS) ! as the vertical structure of thickness diffusivity. ! Used to determine if FULL_DEPTH_KHTH_MIN should be ! available. - logical :: enable_bugs ! If true, the defaults for recently added bug-fix flags are set to - ! recreate the bugs, or if false bugs are only used if actively selected. logical :: use_meke = .false. ! If true, use the MEKE formulation for the thickness diffusivity. integer :: default_answer_date ! The default setting for the various ANSWER_DATE flags. integer :: i, j @@ -2355,14 +2353,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. - call get_param(param_file, mdl, "ENABLE_BUGS_BY_DEFAULT", enable_bugs, & - default=.true., do_not_log=.true.) ! This is logged from MOM.F90. + 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=enable_bugs, do_not_log=.not.CS%GM_src_alt) + 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 8e42694b36..bf8de60a27 100644 --- a/src/parameterizations/vertical/MOM_CVMix_KPP.F90 +++ b/src/parameterizations/vertical/MOM_CVMix_KPP.F90 @@ -523,7 +523,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 38635c58f7..543dedddb1 100644 --- a/src/parameterizations/vertical/MOM_set_diffusivity.F90 +++ b/src/parameterizations/vertical/MOM_set_diffusivity.F90 @@ -2463,8 +2463,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) call get_param(param_file, mdl, "DRAG_DIFFUSIVITY_ANSWER_DATE", CS%drag_diff_answer_date, & "The vintage of the order of arithmetic in the drag diffusivity calculations. "//& "Values above 20250301 use less confusing expressions to set the bottom-drag "//& diff --git a/src/tracer/MOM_neutral_diffusion.F90 b/src/tracer/MOM_neutral_diffusion.F90 index 6e9f9c9f06..32d7ec7291 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 4aacb66409..8b2c12fd9b 100644 --- a/src/tracer/MOM_tracer_Z_init.F90 +++ b/src/tracer/MOM_tracer_Z_init.F90 @@ -617,8 +617,6 @@ subroutine determine_temperature(temp, salt, R_tgt, EOS, p_ref, niter, k_start, character(len=40) :: mdl = "determine_temperature" ! This subroutine's name. logical :: domore(SZK_(GV)) ! Records which layers need additional iterations logical :: adjust_salt, fit_together, convergence_bug, do_any - logical :: enable_bugs ! If true, the defaults for recently added bug-fix flags are set to - ! recreate the bugs, or if false bugs are only used if actively selected. integer, dimension(2) :: EOSdom ! The i-computational domain for the equation of state integer :: i, j, k, is, ie, js, je, nz, itt @@ -633,14 +631,12 @@ subroutine determine_temperature(temp, salt, R_tgt, EOS, p_ref, niter, k_start, "based on the ratio of the thermal and haline coefficients. Otherwise try to "//& "match the density by only adjusting temperatures within a maximum range before "//& "revising estimates of the salinity.", default=.false., do_not_log=just_read) - call get_param(PF, mdl, "ENABLE_BUGS_BY_DEFAULT", enable_bugs, & - default=.true., do_not_log=.true.) ! This is logged from MOM.F90. call get_param(PF, mdl, "DETERMINE_TEMP_CONVERGENCE_BUG", convergence_bug, & "If true, use layout-dependent tests on the changes in temperature and salinity "//& "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=enable_bugs, do_not_log=just_read) + 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 fc6a6f7b1e..9a10826627 100644 --- a/src/tracer/MOM_tracer_hor_diff.F90 +++ b/src/tracer/MOM_tracer_hor_diff.F90 @@ -1641,8 +1641,6 @@ subroutine tracer_hor_diff_init(Time, G, GV, US, param_file, diag, EOS, diabatic ! This include declares and sets the variable "version". # include "version_variable.h" character(len=40) :: mdl = "MOM_tracer_hor_diff" ! This module's name. - logical :: enable_bugs ! If true, the defaults for recently added bug-fix flags are set to - ! recreate the bugs, or if false bugs are only used if actively selected. integer :: default_answer_date if (associated(CS)) then @@ -1718,14 +1716,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. - call get_param(param_file, mdl, "ENABLE_BUGS_BY_DEFAULT", enable_bugs, & - default=.true., do_not_log=.true.) ! This is logged from MOM.F90. + 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=enable_bugs, 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 d8da7553d3..635f94d940 100644 --- a/src/user/Idealized_Hurricane.F90 +++ b/src/user/Idealized_Hurricane.F90 @@ -132,8 +132,6 @@ subroutine idealized_hurricane_wind_init(Time, G, US, param_file, CS) logical :: continuous_Cd ! If true, use a continuous form for the simple drag coefficient as a ! function of wind speed with the idealized hurricane. When this is false, the ! linear shape for the mid-range wind speeds is specified separately. - logical :: enable_bugs ! If true, the defaults for recently added bug-fix flags are set to - ! recreate the bugs, or if false bugs are only used if actively selected. ! This include declares and sets the variable "version". # include "version_variable.h" @@ -240,13 +238,11 @@ subroutine idealized_hurricane_wind_init(Time, G, US, param_file, CS) call get_param(param_file, mdl, "IDL_HURR_SCM", CS%SCM_mode, & "Single Column mode switch used in the SCM idealized hurricane wind profile.", & default=.false.) - call get_param(param_file, mdl, "ENABLE_BUGS_BY_DEFAULT", enable_bugs, & - default=.true., do_not_log=.true.) ! This is logged from MOM.F90. call get_param(param_file, mdl, "IDL_HURR_SCM_EDGE_TAPER_BUG", CS%edge_taper_bug, & "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.and.enable_bugs, do_not_log=.not.CS%SCM_mode) + 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 1d8d00f130..38740dc709 100644 --- a/src/user/MOM_wave_interface.F90 +++ b/src/user/MOM_wave_interface.F90 @@ -293,8 +293,6 @@ subroutine MOM_wave_interface_init(time, G, GV, US, param_file, CS, diag) character*(7), parameter :: COUPLER_STRING = "COUPLER" character*(5), parameter :: INPUT_STRING = "INPUT" integer :: default_answer_date ! The default setting for the various ANSWER_DATE flags - logical :: enable_bugs ! If true, the defaults for recently added bug-fix flags are set to - ! recreate the bugs, or if false bugs are only used if actively selected. logical :: use_waves logical :: StatisticalWaves @@ -337,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 @@ -538,12 +535,10 @@ subroutine MOM_wave_interface_init(time, G, GV, US, param_file, CS, diag) call get_param(param_file, mdl, "LA_MISALIGNMENT", CS%LA_Misalignment, & "Flag (logical) if using misalignment between shear and waves in LA", & default=.false.) - call get_param(param_file, mdl, "ENABLE_BUGS_BY_DEFAULT", enable_bugs, & - default=.true., do_not_log=.true.) ! This is logged from MOM.F90. 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.and.enable_bugs, do_not_log=.not.CS%LA_Misalignment) + 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 "//&