Skip to content

BUG FIX - Preserve complete field-line integration failure diagnostics - #354

Merged
logan-nc merged 2 commits into
PrincetonUniversity:developfrom
krystophny:fix/fieldline-diagnostic-upstream-20261023
Oct 24, 2026
Merged

logan-nc merged 2 commits into
PrincetonUniversity:developfrom
krystophny:fix/fieldline-diagnostic-upstream-20261023

Conversation

@krystophny

Copy link
Copy Markdown
Collaborator

Preserve the field-line integration failure diagnostic when a step count exceeds its old fixed-width field. The existing64-character internal buffer could itself overflow while reporting a solver failure.

This layer changes only the message capacity/format and adds a native formatter regression. Retains the accepted personal GPEC PR1 repair.

Native qualification used the complete production union: focused checks passed in3361934 (2/2 in8.253s), followed by full native Make with the owning GNU debug flags. Continuation3361977 completed fresh ideal/kinetic and the remaining resistive/reconstruction stages under53 pinned runtime libraries. Reconstruction relative error0.006969 is below the unchanged0.02 tolerance and curl passed. Independent source/binary/compiler/runtime pre/post checks passed. The original3361934 wrapper status remains failed because RMATCH deliberately emits RPEC termination and closes globalsol.bin; this native product contract was verified rather than relabelled generic normal termination. Exact union tree equals qualified543b87f0; no private inputs or weakened gates.

The focused native driver compiles the production declaration, FORMAT and WRITE and checks the full10000-step/512-surface diagnostic. The code path was separately qualified without changing the field-line solver.

This draft targets the external Fortran GPEC upstream develop branch. Qualification receipts above refer to the complete maintained-fork union, which also includes independent message/output-state fixes, rather than claiming an independent full-stage run of this upstream-only branch. Public analytic input only; no private campaign fixture. Chris retains upstream review and promotion.

Chris&AI

Fork-PR: #1
Cherry-picked-from: 3df0b5c, bb3f02a
(cherry picked from commit c1d9fa6)
Keep the field-line diagnostic fix but defer the new source-extracting
test architecture until after the v1.6 release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@logan-nc
logan-nc marked this pull request as ready for review October 24, 2026 13:52
@logan-nc
logan-nc self-requested a review October 24, 2026 13:52

@logan-nc logan-nc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving the field-line diagnostic fix. The old CHARACTER(64) buffer was one character too short for the 65-character message from FORMAT(a,i4,a,es10.3,a,i3), so the step-limit error path crashed with a runtime I/O error instead of reporting the failure. The CHARACTER(128) + i0 change fixes this without touching the solver.

I pushed 7bb7ef6 removing regression/test/test_direct_error_message.py. As with recent PRs, we're not bringing in new test architecture (here, a test that regex-extracts and recompiles Fortran source) right before the v1.6 release. We're happy to revisit testing approaches after the release.

@logan-nc logan-nc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small and correct so lets get it in now.
I removed the big test for this minor detail.

@logan-nc logan-nc self-assigned this Oct 24, 2026
@logan-nc logan-nc added the bug label Oct 24, 2026
@logan-nc
logan-nc merged commit b227689 into PrincetonUniversity:develop Oct 24, 2026
7 checks passed
@logan-nc logan-nc mentioned this pull request Oct 24, 2026
27 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants