Fix mEVP/aEVP: zero stress tensor before thin-ice cycle to prevent stale stress application#950
Open
patrickscholz wants to merge 2 commits into
Open
Fix mEVP/aEVP: zero stress tensor before thin-ice cycle to prevent stale stress application#950patrickscholz wants to merge 2 commits into
patrickscholz wants to merge 2 commits into
Conversation
…ale stress application stress_tensor_m and stress_tensor_a skip elements with low ice mass (msum <= 0.01) but leave sigma11/22/12 unchanged. stress2rhs_m uses a different skip condition (concentration < 0.01) and may not skip the same element. Stale stresses from when the ice was thicker are then applied to the momentum equation, causing spurious acceleration of nearly-vanished ice during summer decay. Explicitly zero the stress components before cycling so stress2rhs_m always applies zero contribution for elements below the mass threshold.
Contributor
Author
|
i will make a test run to this ! |
Contributor
Author
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.








Summary
Affects both mEVP and aEVP rheology variants. When an element's ice mass falls below the skip threshold, the stress tensor update is skipped but the old stress values are left in memory. A mismatched skip condition in
stress2rhs_mthen applies those stale stresses to the momentum equation, spuriously accelerating nearly-vanished ice. The fix explicitly zeros the stress components beforecycle-ing.The mismatch
The stress update and stress application use different skip conditions:
Ice mass and concentration do not go to zero simultaneously. During summer melt, an element can have:
msum <= 0.01 kg/m²) — stress update is skippedsum(a_ice) > 0.01) — stress application is not skippedThe result:
stress2rhs_mpicks upsigma11,sigma22,sigma12from a previous timestep when the ice was thicker, and applies them to the momentum RHS. The nearly-vanished ice is driven by stresses that no longer reflect its physical state.Impact by EVP variant
mEVP (
stress_tensor_m):alpha_evpis fixed, so stale stresses decay geometrically over sub-cycling iterations (det1 * sigmaeach step). The bug is present but self-damps over the EVP sub-cycle. Impact is localised and most visible during rapid summer decay.aEVP (
stress_tensor_a):alphais recomputed each sub-cycle from the currentpressure, which itself depends on ice conditions. As ice thins,alphachanges, making the stale stresses increasingly inconsistent with the current state. The bug is more persistent in aEVP because the relaxation rate is not fixed.Both variants are most affected during summer ice decay — thin, patchy ice where the mass and concentration thresholds diverge most strongly.
The fix
Zero
sigma11,sigma22,sigma12explicitly beforecycle-ing in both subroutines (src/ice_maEVP.F90):Applied identically to
stress_tensor_m(mEVP, line 141) andstress_tensor_a(aEVP, line 1064).stress2rhs_mthen contributes zero momentum tendency for those elements regardless of which concentration-based skip it uses — physically correct for nearly-vanished ice.Scope