Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MOM6: +(*)Changed the defaults for 36 parameters #1127

Merged
merged 33 commits into from
Jun 9, 2020

Conversation

Hallberg-NOAA
Copy link
Collaborator

MOM6: +(*)Changed the defaults for 36 parameters

Changed the default values for 36 parameters, obsoleted 5 other parameters, and deleted dozens of parameters that were obsoleted more than 3 years ago. All of these changes were discussed in detail at a recent MOM6 developers conference call, and only those changes that had unanimous consent were made. There were several other argument or interface changes related to these default change. Each change to a default value was made as an separate commit (and each commit was tested individually) to help in debugging MOM6 test cases where the answers change.

The MOM6-examples test suite has been updated via previous commits and a set of changes in NOAA-GFDL/MOM6-examples#313 to set these parameters explicitly, so that the answers there will not change, but the answers can change in cases where this preparatory step was not taken.

To retain previous answers, use a MOM_parameter_doc.all file from the previous version of the
model as the MOM_input file for runs with the updated code, and then update the MOM_input
files to reflect the contents of the new MOM_parameter_doc.short file (with some
added entries for halo sizes from the MOM_layout files for some cases). There
are numerous changes to the MOM_parameter_doc files and a few lines change in
the SIS_parameter_doc files from these code changes.

This PR should only be dealt with after NOAA-GFDL/MOM6-examples#313 is merged into MOM6-examples.

The commits in this PR include:

  Obsoleted the runtime parameters SALT_REJECT_BELOW_ML, MLE_USE_MLD_AVE_BUG and
KG_BG_2D_BUG, and deleted the unused subroutine insert_brine.  Also deleted 68
variables that have been obsolete for several years.  All answers in the
MOM6-examples test cases are bitwise identical, but there are changes in the
MOM_parameter_doc files.
  Changed the default value of GILL_EQUATORIAL_LD to True.  This could change
answers in some test cases where GILL_EQUATORIAL_LD is not set explicitly, and
there are changes to the MOM_parameter_doc files.
  Removed the runtime parameter KELVIN_WAVE_2018_ANSWERS, which is no longer
used for anything.  All answers are bitwise identical, but there are changes
to the MOM_parameter_doc files.
  Changed the default value of OBC_RADIATION_MAX from 10.0 to 1.0, which makes
much more physical sense.  This will change answers in test cases where open
boundary conditions are used and OBC_RADIATION_MAX is not set explicitly, and
there are changes to the MOM_parameter_doc files for cases with open boundary
conditions.
  Changed the default value of USE_PSURF_IN_EOS to True.  This could change
answers in some test cases with sea ice where USE_PSURF_IN_EOS is not set
explicitly, and there are changes to the MOM_parameter_doc files.
  Changed the default of DEFAULT_2018_ANSWERS to False.  This in turn changes
the default values of 13 other pamarmeters, and could change answers in some
test cases where DEFAULT_2018_ANSWERS or the dependent parameters are not set
explicitly.  By design, the answers in MOM6-examples test suite are bitwise
identical, but they could change in other cases and there are changes to the
MOM_parameter_doc files.
  Changed the default value of GUST_CONST to 0 from 0.02 Pa.  This could change
answers in some test cases where GUST_CONST is not set explicitly, and there
are changes to the MOM_parameter_doc files.
  Changed the default value of BULKML_CONV_MOMENTUM_BUG to false.  All answers
in the MOM6-examples test suite are bitwise identical, but this will change
answers in some test cases with a bulk mixed layer if BULKML_CONV_MOMENTUM_BUG
is not set explicitly.  There are changes to the MOM_parameter_doc files.
  Changed the default value of ML_RAD_BUG to false.  All answers in the
MOM6-examples test suite are bitwise identical, but this will change answers in
some test cases with a bulk mixed layer and ML_RADIATION set to true but
ML_RAD_BUG is not set explicitly.  There are changes to the MOM_parameter_doc
files.
  Changed the default value of USE_MLD_ITERATION to true.  All answers in the
MOM6-examples test suite are bitwise identical, but this will change answers in
some test cases that use ePBL if USE_MLD_ITERATION is not set explicitly.  There
are changes to the MOM_parameter_doc files.
  Changed the defaults of KAPPA_SHEAR_ITER_BUG and KAPPA_SHEAR_ALL_LAYER_TKE_BUG
to false.  All answers in the MOM6-examples test suite are bitwise identical,
but this will change answers in some test cases that use the MOM_kappa_shear
code if these parameters are not set explicitly.  There are changes to the
MOM_parameter_doc files.
  Obsoleted the runtime parameter CORRECT_DENSITY, with the solutions using
MOM_entrain_diffusive being the same as if that had been set to True.  All
answers in the MOM6-examples test cases are bitwise identical, but there are
changes in the MOM_parameter_doc files.
  Changed the default value of SLOSHING_IC_BUG to false.  All answers in the
MOM6-examples test suite are bitwise identical, but this will change answers in
the sloshing test case if SLOSHING_IC_BUG is not set explicitly.  There are
changes to the MOM_parameter_doc files.
  Changed the default value of USE_GM_WORK_BUG to false.  All answers in the
MOM6-examples test suite are bitwise identical, but this will change answers in
some test cases that use interface height diffusion and MEKE for diffusivities
or viscosities where USE_GM_WORK_BUG is not set explicitly.  There are changes
to the MOM_parameter_doc files.
  Changed the default value of MEKE_ALPHA_RHINES and MEKE_ALPHA_EADY from 0.05
to 0.0, following the pattern for the defaults for other MEKE parameters.  All
answers in the MOM6-examples test suite are bitwise identical, but this will
change answers in some test cases that use MEKE for diffusivities or viscosities
where MEKE_ALPHA_RHINES or MEKE_ALPHA_EADY are not set explicitly.  There are
changes to the MOM_parameter_doc files.
  Changed the default value of USE_LAND_MASK_FOR_HVISC to True.  All answers in
the MOM6-examples test suite are bitwise identical, but this could change
answers in some test cases where USE_LAND_MASK_FOR_HVISC is not set explicitly.
There are changes to the MOM_parameter_doc files.
  Changed the default value of INTERPOLATE_RES_FN to false.  All answers in the
MOM6-examples test suite are bitwise identical, but this will change answers in
some test cases that use a resolution function to scale the viscosities or
diffusivities if INTERPOLATE_RES_FN is not set explicitly.  There are changes to
the MOM_parameter_doc files.
  Changed the default value of REMAP_UV_USING_OLD_ALG to False.  All answers in
the MOM6-examples test suite are bitwise identical, but this could change
answers in some test cases with ALE remapping where REMAP_UV_USING_OLD_ALG is
not set explicitly. There are changes to the MOM_parameter_doc files.
  Set the default for COORD_CONFIG (to "none").  Because this had previously
been mandatory, all answers are bitwise identical in all cases, but there are
changes in the MOM_parameter_doc files.
  Set defaults for THICKNESS_CONFIG (to "uniform"), and for INITIAL_U_CONST and
INITIAL_V_CONST (to 0 m/s).  Because these had previously been mandatory, all
answers are bitwise identical in all cases, but there are changes in the
MOM_parameter_doc files.
  Changed the default value of FIX_USTAR_GUSTLESS_BUG to True and the default of
USE_NET_FW_ADJUSTMENT_SIGN_BUG to false.  All answers in the MOM6-examples test
suite are bitwise identical, but this could change answers in some test case
where these parameters are not set explicitly. There are changes to the
MOM_parameter_doc files.
  Set defaults for WIND_CONFIG and BUOY_CONFIG to "zero".  Because these had
previously been mandatory, all answers are bitwise identical in all cases, but
there are changes in the MOM_parameter_doc files.
  Changed the parameter to specify the staggering of wind variables in input
files to drive ocean only runs from WINDSTRESS_STAGGER to WIND_STAGGER, with
a default of "C".  This is now consistent with the equivalent parameter name and
default used in the coupled runs.  WINDSTRESS_STAGGER has been obsoleted, and
a new optional warning_val argument has been added to obsolete_char, patterned
after the warning arguments to the obsolete parameter routines for other types.
All answers in the MOM6-examples test suite are bitwise identical, but it is
possible for ocean-only cases reading in A-grid wind stresses to give a fatal
error if their parameters are not updated, and there are changes to the
MOM_parameter_doc files.
  Set the default value for KD to 0 m2 s-1, and the default value for
KD_KAPPA_SHEAR_0 to the greater of KD and 1e-7 m2 s-1.  Because Kd did not
previously have a default, this can not change answers, but the new default for
KD_KAPPA_SHEAR_0 (which had previously been Kd or 1e-7 m2 s-1 if KD is not set)
could change answers is KD_KAPPA_SHEAR_0 is not set explicitly and KD is set
explicitly to a value that is less than 1e-7 m2 s-1.  All answers in the
MOM-examples test suite are bitwise identical, but there are changes to the
MOM_parameter_doc files.
  Set the default value of S_REF uniformly to 35 ppt.  In some cases this had
been the default before, but in others there was no default and this was a
mandatory parameter, so the answers do not change, but there are changes to the
MOM_parameter_doc files.
  Changed the default for MIN_SALINITY to 0 ppt from 0.01 ppt.  This could
change answers in cases where MIN_SALINITY is not set explicitly and the
solution has salinities that get below 0.01 ppt.  All answers are bitwise
identical in the MOM6-examples test cases, but there are changes to the
MOM_parameter_doc files.
  Set the default value of FLUXCONST to 0 m/day.  Because there was previously
no default and this was a mandatory parameter, the answers do not change, but
there are changes to the MOM_parameter_doc files.
  Changed the default value of Z_INIT_REMAP_OLD_ALG to False.  All answers in
the MOM6-examples test suite are bitwise identical, but this could change
answers in some test cases that use MOM_temp_salt_initialize_from_Z where
Z_INIT_REMAP_OLD_ALG is not set explicitly.  There are changes to the
MOM_parameter_doc files.
  Changed the default for REPORT_UNUSED_PARAMS to true.  All answers are bitwise
identical, but there can be changes in model output and there will be changes to
the MOM_parameter_doc.debugging files.
  Changed the default value of FIX_UNSPLIT_DT_VISC_BUG to true.  Also added
missing log_version to the three initialize_dyn routines.  All answers in the
MOM6-examples test suite are bitwise identical, but this will change answers in
test cases using one of the unsplit time stepping schemes if
FIX_UNSPLIT_DT_VISC_BUG is not set explicitly.  There are changes to the
MOM_parameter_doc files.
  Changed the default values of GRID_ROTATION_ANGLE_BUGS and
USE_TRIPOLAR_GEOLONB_BUG to false.  All answers in the MOM6-examples test suite
are bitwise identical, but this will change answers in test cases with the SIS2
sea ice model if these parameters are not set explicitly.  There are changes to
the MOM_parameter_doc and SIS_parameter_doc files.
@Hallberg-NOAA Hallberg-NOAA changed the title Update defaults MOM6: +(*)Changed the defaults for 36 parameters Jun 8, 2020
Copy link
Collaborator

@adcroft adcroft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this can't be evaluated until #1129 is handled.

  Explicitly set parameters in the tc MOM_input files so that the answers in
the regression test cases (perhaps apart from tc4) will not be changed by the
changing defaults in the MOM6 code.
@Hallberg-NOAA
Copy link
Collaborator Author

The pipeline testing on the PR after the recent updates has been triggered at https://gitlab.gfdl.noaa.gov/ogrp/MOM6/pipelines/10540.

@codecov-commenter
Copy link

Codecov Report

Merging #1127 into dev/gfdl will decrease coverage by 0.02%.
The diff coverage is 61.60%.

Impacted file tree graph

@@             Coverage Diff              @@
##           dev/gfdl    #1127      +/-   ##
============================================
- Coverage     45.99%   45.97%   -0.03%     
============================================
  Files           215      215              
  Lines         69577    69438     -139     
============================================
- Hits          32000    31922      -78     
+ Misses        37577    37516      -61     
Impacted Files Coverage Δ
config_src/solo_driver/MESO_surface_forcing.F90 0.00% <0.00%> (ø)
config_src/solo_driver/user_surface_forcing.F90 0.00% <0.00%> (ø)
src/ALE/MOM_regridding.F90 31.63% <0.00%> (ø)
src/core/MOM_continuity.F90 63.88% <ø> (ø)
src/framework/MOM_file_parser.F90 69.23% <ø> (+0.61%) ⬆️
...nitialization/MOM_tracer_initialization_from_Z.F90 0.00% <0.00%> (ø)
...rc/parameterizations/vertical/MOM_diabatic_aux.F90 68.31% <ø> (+5.68%) ⬆️
...rameterizations/vertical/MOM_regularize_layers.F90 6.63% <0.00%> (ø)
...rc/parameterizations/vertical/MOM_tidal_mixing.F90 10.51% <0.00%> (ø)
src/tracer/MOM_neutral_diffusion.F90 74.21% <0.00%> (ø)
... and 46 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fd09cf6...570cf19. Read the comment docs.

@marshallward marshallward merged commit 2179c88 into mom-ocean:dev/gfdl Jun 9, 2020
@Hallberg-NOAA Hallberg-NOAA mentioned this pull request Jun 9, 2020
@Hallberg-NOAA Hallberg-NOAA deleted the update_defaults branch July 30, 2021 18:45
Hallberg-NOAA added a commit to Hallberg-NOAA/MOM6 that referenced this pull request Feb 24, 2023
  Restored an else that was inadvertently deleted as a part of code clean up in
MOM-ocean/MOM6 PR mom-ocean#1127 on June 5, 2020.  This bug causes bulkmixedlayer to be
called twice (with cumulative effects) when 0. < ML_MIX_FIRST < 1., and not to
be called at all when ML_MIX_FIRST = 1.  This bug only applies to cases where
the bulk mixed layer is enabled by setting BULKMIXEDLAYER=True and
USE_REGRIDDING=False (i.e., in layered mode configurations with active
thermodynamics), however because the default value of ML_MIX_FIRST = 0, this bug
does not appear to be used in any active test cases, and it went undetected when
it was introduced.  All answers in the MOM6-examples test suite are bitwise
identical, but this could change answers in some cases.
marshallward pushed a commit to NOAA-GFDL/MOM6 that referenced this pull request Mar 3, 2023
  Restored an else that was inadvertently deleted as a part of code clean up in
MOM-ocean/MOM6 PR mom-ocean#1127 on June 5, 2020.  This bug causes bulkmixedlayer to be
called twice (with cumulative effects) when 0. < ML_MIX_FIRST < 1., and not to
be called at all when ML_MIX_FIRST = 1.  This bug only applies to cases where
the bulk mixed layer is enabled by setting BULKMIXEDLAYER=True and
USE_REGRIDDING=False (i.e., in layered mode configurations with active
thermodynamics), however because the default value of ML_MIX_FIRST = 0, this bug
does not appear to be used in any active test cases, and it went undetected when
it was introduced.  All answers in the MOM6-examples test suite are bitwise
identical, but this could change answers in some cases.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants