Resolve #508 - #509
Draft
slopqueue[bot] wants to merge 1 commit into
Draft
Conversation
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.
Resolve GitHub issue #508: Silent trajectory corruption under symplectic-recovery storms (timestep starvation)
Issue body:
Summary
When the fixed-step symplectic integrator is starved of timestep resolution in a chart whose coordinate surfaces are far from flux surfaces, the recovery path degrades trajectories silently: markers accumulate thousands of recovery events per marker and produce physically wrong (excess) losses, while almost no
retry_exhaustedevents are reported and the run exits cleanly.Observed case
69fe8c364d55452ee203bbf06836510caafa7540, libneoe2b281b1bc9f9f48f9526622445e0b2c0f8a4984.npoiper2 = 256.retry_exhaustedevents total were surfaced. No warning or error otherwise.npoiper2 = 512(only changed parameter) recoveries drop to about 28 per marker and the excess loss disappears (424/8192).Problem
A recovery mechanism that fires thousands of times per marker is no longer recovering — it is integrating a different, wrong trajectory. The user gets no signal: exit codes, logs, and
retry_exhaustedcounts all look nominal.Suggested robustness improvements
recovery_storminstead of a physical loss/confined status).retry_exhaustedrather than resetting the retry budget.Full investigation record (private project, available on request):
runs/simple-production/map2disc-leak-investigation.mdin the JNME-D-26-00030 revision repository.Summary: Recovery Storm Detection (Issue #508)
Closes #508
slopqueue-task: 019fb70f317f-7493b7b1
The automated test gate failed, so this PR is a draft: