Repository navigation
Ice shelf edits from October 2026 on top of origin/dev/gfdl@3d479de+access+isf - #111
Draft
claireyung wants to merge 12 commits into
Draft
claireyung wants to merge 12 commits into
claireyung wants to merge 12 commits into
Conversation
… ice shelf melt-refreeze calculation
The ice shelf state (mass, area, thickness) were being saved and restored to a restart file, even in the case of static ice shelves where these fields don't change. However, the thickness mask field ISS%hmask was only being saved to the restart file for dynamic shelves. However, because the rest of the state was being restarted, there was no call to initialize_ice_thickness(). This meant that when using static shelves, ISS%hmask is only correct for the first run segment (a "new run"). Restarted segments would leave this field as 0, leading to incorrect dynamics.
The boundary layer used for the melt parameterisation must match the depth over which the forcing is applied. The only controls for these are global: HMIX_SFC_PROP/HMIX_UV_SFC_PROP control the boundary layer for computing the parameterisation, and MINIMUM_FORCING_DEPTH controls the depth over which the melt is applied. We introduce new optional parameters to applyBoundaryFluxesInOut() to modify IforcingDepthScale to use a different `shelf_forcing_depth` according to the fraction of the cell covered by ice shelf.
This is the analogue to MINIMUM_FORCING_DEPTH, applied under ice shelves. It is only read when an ice shelf coverage field is provided to the diabatic driver initialisation routine.
This only affects the path when using the non-legacy ALE diabatic driver. In this case, the frac_shelf_h array is passed through, and used to apply a different forcing depth as required.
This adds HMIX_SHELF_PROP and HMIX_UV_SHELF_PROP, which are analogues to the `SFC` parameters. These determine the boundary layer depth for near-shelf temperature, salinity and velocities, which are used for calculation of melt parameterisation.
This now takes frac_shelf_h into account when computing depth_ml used for calculating the surface state.
…NG_DEPTH to global values
2 of 4 tasks
Collaborator
Author
|
Edit: had a typo in the HMIX SHELF parameter setting defaults commit, have updated with another commit |
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.
@dougiesquire @angus-g thought this might be helpful for reference later
I think these are all the recent MOM6 changes we've added in the recent ice shelf config development, since Dougie made the
origin/dev/gfdl@3d479de+access+isfversion for us. They're also in this branch, which I was using for a test OM3 exe, but I was doing a bit of adding stuff and reverting so it's not as clean.Changes on top of previous desired ice shelf changes (#38) are: