-
Notifications
You must be signed in to change notification settings - Fork 65
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
*+Correct oblique OBC restarts #219
*+Correct oblique OBC restarts #219
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 |
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
Gaea regression: https://gitlab.gfdl.noaa.gov/ogrp/MOM6/-/pipelines/17209 ✔️ |
…date_16may2022 (*)Merge MOM6/main from 16 May 2022
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: