Dynamic ice sheet/shelf restart reproducibility bug fix - #1179
Open
OlgaSergienko wants to merge 1 commit into
Open
Dynamic ice sheet/shelf restart reproducibility bug fix#1179OlgaSergienko wants to merge 1 commit into
OlgaSergienko wants to merge 1 commit into
Conversation
…with the `data_override` for `shelf_sfc_mass_flux`. It updat es four files in the FMS cap, MOM core, and ice-shelf components so that state required immediately after a restart is preserved and the current ice-shelf geometry is used by MOM. Specifically, this PR: * Passes the cap forcing structure through `initialize_MOM` to `initialize_ice_shelf`, while deferring initialization of state-dependent shelf flux fields until their normal initialization point. * Registers and restores the dynamic-ice-shelf surface mass flux accumulation field. This prevents its valid restart value from being overwritten before it is first consumed. * Registers and restores the coupled-grounding running totals (`OD_rt`, `ground_frac_rt`, and their count), as well as the elapsed interval since the last ice-shelf velocity solve. These fields determine the next coupled-grounding average and velocity update, respectively. * Marks the first post-restart frazil adjustment so that the ice-sheet share of frazil is not removed twice from the restored surface state. * Synchronizes MOM's shelf-area fraction with the fraction updated during dynamic ice-shelf flux calculations, so ALE remapping uses current geometry after every step. * Bounds the shelf-area fraction by one when it is initialized or queried, and uses the current flux-calculation time when overriding shelf surface mass fluxes. The added restart fields allow a restarted dynamic-ice-shelf calculation to continue from the same internal state as an uninterru pted calculation. They change results only where the previous restart path lost or reused state incorrectly; new runs and restart -free integrations are unchanged. No runtime parameters or public configuration options are added. The restart file gains fields for dynamic ice-shelf runs; missin g fields from older restart files retain the existing fresh-start defaults where applicable. Restart reproducibility requires SIS2 parameter `APPLY_MASKS_AFTER_RESTART = False`. Note that an AI tool was used in making this contribution.
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 fixes restart reproducibility for the dynamic ice sheet when used with the
data_overrideforshelf_sfc_mass_flux. It updates four files in the FMS cap, MOM core, and ice-shelf components so that state required immediately after a restart is preserved and the current ice-shelf geometry is used by MOM.Specifically, this PR:
initialize_MOMtoinitialize_ice_shelf, while deferring initialization of state-dependent shelf flux fields until their normal initialization point.OD_rt,ground_frac_rt, and their count), as well as the elapsed interval since the last ice-shelf velocity solve. These fields determine the next coupled-grounding average and velocity update, respectively.The added restart fields allow a restarted dynamic-ice-shelf calculation to continue from the same internal state as an uninterrupted calculation. They change results only where the previous restart path lost or reused state incorrectly; new runs and restart -free integrations are unchanged.
No runtime parameters or public configuration options are added. The restart file gains fields for dynamic ice-shelf runs; missing fields from older restart files retain the existing fresh-start defaults where applicable.
Restart reproducibility requires SIS2 parameter
APPLY_MASKS_AFTER_RESTART = False.Note that an AI tool was used in making this contribution.