Add restart fields for SPLIT_BOTTOM_STRESS#1098
Conversation
breichl
commented
Apr 30, 2026
- This address issue SPLIT_BOTTOM_STRESS = True breaks restart reproducibility #1097 by registering taux_bot and tauy_bot as restart parameters.
- It was tested to now restart reproduce in a 12 hour global run of OM5 with split_RK2 dynamics.
- The same code has been added to split_RK2b dynamics since it appears the same problem would likely be encountered, the new version was verified to restart reproduce across the same test with SPLIT_RK2B = True.
- Bugfix flags are not included since the previous version was not reproducible. It likely is not used by any other groups, since the error would likely have been previously caught if it was.
- taux_bot and tauy_bot need to be in the restart file when using SPLIT_BOTTOM_STRESS, but they presently are not. - This commit adds them to the restart files in MOM_dynamics_split_RK2.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev/gfdl #1098 +/- ##
=========================================
Coverage 38.66% 38.66%
=========================================
Files 274 274
Lines 92529 92537 +8
Branches 17870 17868 -2
=========================================
+ Hits 35772 35776 +4
- Misses 50050 50056 +6
+ Partials 6707 6705 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Registers bottom-stress fields as restart variables to restore restart reproducibility when SPLIT_BOTTOM_STRESS = True in split-explicit dynamics (RK2 and RK2b), addressing issue #1097.
Changes:
- Allocate
taux_bot/tauy_botin the restart-registration routines for RK2 and RK2b. - Conditionally register
taux_bot/tauy_botas restart fields whenSPLIT_BOTTOM_STRESSis enabled. - Adjust deallocation patterns to match the new allocation site.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
src/core/MOM_dynamics_split_RK2.F90 |
Adds allocation + conditional restart registration for bottom stress fields; adjusts cleanup. |
src/core/MOM_dynamics_split_RK2b.F90 |
Mirrors RK2 changes for RK2b, adding bottom stress restart registration and updating allocation/deallocation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- As suggest by R. Hallberg and copilot, the ALLOC_ macros should not have been used on taux/y_bot, so it has been replaced with explicit allocate statements. - Fixed some minor formatting issues caught by copilot.
Hallberg-NOAA
left a comment
There was a problem hiding this comment.
I have carefully examined the revised changes, and I am convinced that they are correct. This can be merged in once the pipeline test has passed.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Pipeline tests passed: https://gitlab.gfdl.noaa.gov/ogrp/mom6ci/MOM6/-/pipelines/30742 |