*+Correct oblique OBC restarts#219
Merged
marshallward merged 5 commits intoOct 25, 2022
Merged
Conversation
Codecov Report
@@ Coverage Diff @@
## dev/gfdl #219 +/- ##
============================================
- Coverage 37.72% 37.18% -0.54%
============================================
Files 263 263
Lines 71834 73035 +1201
Branches 13385 13608 +223
============================================
+ Hits 27098 27161 +63
- Misses 39728 40859 +1131
- Partials 5008 5015 +7
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Member
Author
|
Upon further assessment, it now appears that this PR will correct all of the known problems with cases with OBCs not reproducing across restarts. As a result, after this PR is merged in #208 can be closed. |
Added separate restart variables for some of the oblique OBC restart variables at north-south or east-west faces. Before this fix, some of the full 3-d arrays for restarts were being overwritten for oblique OBC segments that join at adjacent corners on the north-east side of tracer points, as is noted in github.com/NOAA-GFDL/issues/208. The discussion surrounding this issue confirms that there are cases using oblique OBCs (like some North-West Atlantic cases) that do not past the restart reproducibility tests. Some halo updates were also corrected, in accordance with the introduction of these new variables and their proper staggering locations. In a number of places, the proper case-sensitive horizontal indexing convention, as described in github.com/NOAA-GFDL/MOM6/wiki/Code-style-guide#soft-case-convention, is now being used. This commit also corrected the comments describing a number of the variables in the OBC_segment_type to make it clearer where they are discretized. This changes the names of oblique OBC-related variables in the restart files, but since the previous version did not reproduce across restarts, there does not seem to be any point in retaining those incorrect answers. All answers in the MOM6-examples test suite are bitwise identical, but this will change (fix) solutions with oblique OBCs and OBC_RAD_VEL_WT < 1.
Added two new arrays (OBCmaskCu and OBCmaskCv) to the ocean_grid_type and dyn_horgrid_type to mask out values over land or at open boundary condition points. Without open boundary conditions, these arrays are identical to mask2dCu and mask2dCv. These arrays are used in some of the lateral parameterization modules to zero out certain gradient-dependent fluxes at open boundary points. With these changes, the Bering test case solutions no longer exhibit any dependence on whether DEBUG_OBC is true or false or the value of OBC_SILLY_THICK, so this commit should help to address some of the issues discussed in github.com/NOAA-GFDL/issues/208. All answers are bitwise identical in the MOM6-examples test cases, but they change for some other tests that use open boundary conditions more extensively, and there are new arrays in some transparent types.
Eliminated OBC arguments that are no longer used by three internal routines in MOM_lateral_mixing_coeffs. All answers are bitwise identical.
f86d8d5 to
70a9e15
Compare
marshallward
approved these changes
Oct 25, 2022
Member
|
Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/17209 ✔️ |
adcroft
pushed a commit
to adcroft/MOM6
that referenced
this pull request
Dec 7, 2022
…date_16may2022 (*)Merge MOM6/main from 16 May 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR includes a series of commits that correct the fact that the model was
not reproducing across restarts with OBLIQUE open boundary conditions, as is
discussed extensively at github.com//issues/208. Unfortunately,
MOM6 is not yet reproducing answers when the OBLIQUE_TAN OBCs. The primary
changes are:
reusing the same variables for fields that are not co-located
dyn_horgrid_type to mask out values over land or at OBC points
outside the physical domain, as demonstrated by the new invariance of the
ESMG Bering test case to changes in the value of OBC_SILLY_THICK
All answers in the MOM6-examples test suite are bitwise identical, but this
will change (fix) solutions with oblique OBCs and OBC_RAD_VEL_WT < 1. In those
cases where the answers change, they were not reproducing across restarts of had
solutions that depended on arbitrary values from outside of the domain, so there
were no defensible solutions to presever. The commits included in this PR
include: