Skip to content

HDF5Schema - API! - ⚠️ Make the Euler-Lagrange matrix output optional and off by default - #493

Merged
matt-pharr merged 10 commits into
developfrom
feature/optional-el-matrix-output
Oct 29, 2026
Merged

matt-pharr merged 10 commits into
developfrom
feature/optional-el-matrix-output

Conversation

@d-burg

@d-burg d-burg commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Release note

  • Audience: users
  • Numerical impact: none (harness @ 8d2eca4)
  • Migration: the ForceFreeStates/EulerLagrangeMatrices group is no longer written by default. Set write_el_matrices = true in [ForceFreeStates] to restore it.

The Euler-Lagrange matrix group is a diagnostic that nothing reads back, and it dominates the output: 98 of 104 MB on a DIII-D n = 1 Riccati run. It is now opt-in, which takes that run's gpec.h5 from 104.8 MB to 5.8 MB with no change in runtime.

Changes

  • ForceFreeStatesControl.write_el_matrices (default false) gates the EulerLagrangeMatrices/{Ideal,Kinetic} group. It needs write_outputs_to_HDF5 = true.
  • No readers change. Nothing in src/, the analysis and plotting code, the regression harness, the examples or the tests reads the group; the HDF5 metadata table skips paths that are absent.
  • Tests:
    • the schema test opts in on an ideal deck and checks the group's metadata;
    • the kinetic torque-response test opts in, checks that EulerLagrangeMatrices/Kinetic/f0 is written, and runs the metadata walk over the kinetic set, so the kinetic writer keeps its coverage;
    • a default run omits the group.
  • Docs: the option is in stability.md and workflow.md, and hdf5-conventions.md names both opt-in gates (gal_basis_output for Basis/, write_el_matrices for the matrices).

Regression report

Latest SDCC fanout rerun: develop 7817f0e7a vs 8d2eca4a5 — 21 cases; no changed comparable quantities; harness exit 0. Full report and limitations. gal_resistive_pe has all eight quantities missing on both refs and provides no numerical validation. Earlier reports are retained below. The previous run, regress --cases diiid_n1,solovev_n1 --refs 6fc89d021,d068e2d97 --force on feynman, left all 53 diiid_n1 and all 22 solovev_n1 quantities unchanged.

On feynman at 8d2eca4a5: runtests_torque_response.jl (45), runtests_h5_schema.jl (6, 17) and runtests_fullruns.jl (22) pass.

Changes since the review

  • Develop merged (295063146). One docs conflict, in hdf5-conventions.md: develop's removal of Match/ from the Galerkin entry is kept, with this PR's "write_el_matrices-gated" added.
  • 8d2eca4a5: the kinetic test coverage above, the corrected option docstring (the full letter set A, B, C, D, E, H, F, K, G; each matrix is numpert_total × numpert_total at every ψ), and the conventions-row wording.

Notes for reviewers


🤖 Generated with Claude Code

d-burg and others added 4 commits September 23, 2026 12:29
…d off by default

The ForceFreeStates/EulerLagrangeMatrices group holds the ideal A-K matrices,
and on a kinetic run the kinetic set, sampled on the psi grid. Each is
mpert x mpert x npsi complex, so the group scales as mpert^2 times npsi and
dominates the output: 98 of 104 MB on a DIII-D n=1 Riccati run, and far more
at higher mode counts or finer grids.

Nothing in the code reads the group back; it is a diagnostic for inspecting the
coefficient system. Gate it behind a new write_el_matrices control, default
false, which takes that run's gpec.h5 from 104.8 MB to 5.8 MB. Runtime is
unchanged (17.52 s vs 17.50 s, min of five warm runs).

Set write_el_matrices = true in [ForceFreeStates] to restore the group.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… document it

The schema test now opts into write_el_matrices so the metadata contract still
covers the group, and checks the default is off. Move the conventions-table
entry into the ForceFreeStates row, flag the opt-in in workflow.md, and trim
run-specific figures from the field docstring and write-site comment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a default run omits the group

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ig reference

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@d-burg d-burg self-assigned this Oct 2, 2026
@github-actions github-actions Bot added api Config key, output dataset or exported name changed changed-results Results move or an interface breaks - read before upgrading labels Oct 2, 2026
@d-burg d-burg changed the title HDF5Schema - API! - Make the Euler-Lagrange matrix output optional and off by default HDF5Schema - API! - ⚠️ Make the Euler-Lagrange matrix output optional and off by default Oct 5, 2026
d-burg and others added 2 commits October 28, 2026 15:41
…l-matrix-output

# Conflicts:
#	docs/development/hdf5-conventions.md
… the opt-in path and correct the option's docstring

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@matt-pharr

Copy link
Copy Markdown
Collaborator

@d-burg — completed the requested full SDCC fanout against develop 7817f0e7a, testing head 8d2eca4a5.

Result: no changes in comparable quantities; harness exit code 0, with no run failures.

  • All tracked quantities are unchanged in 20 cases, including both Riccati builds, the three SLAYER cases, GGJ, the extracted Galerkin cases, kinetic/error-field cases and the multi-n cases.
  • gal_resistive_pe: all eight quantities are missing on both refs and provide no numerical validation.
  • This is a numerical regression comparison; the report does not measure the claimed HDF5 file-size reduction.

Environment: Julia 1.12.6, x86_64 Linux, CI manifest 4c9d54fa pinned at both refs, partition sirius. 21 cases / 42 tasks. Matching allocations at each ref: 2 Julia threads / 1 BLAS thread normally; diiid_error_field uses 16 / 8. The precompiled Riccati case was compared in the same build mode at both refs. Each PR's own harness case definitions were used.

./regress_fanout.sh --refs 7817f0e7a,8d2eca4a5 --harness-ref 8d2eca4a5 --name pr493_8d2eca4a5_vs_7817f0e7a_20261028

SDCC report: /home/ITER/pharrm/Projects/GPEC_dev/regress-fanout/runs/pr493_8d2eca4a5_vs_7817f0e7a_20261028/report.txt; report job 1299409.

Full regression report (21 cases)

================================================================
Case: diiid_error_field — DIII-D-like error-field assessment, n=1: ErrorFields stage with the NTV-limited correction couplings
================================================================

Regression Report: diiid_error_field
============================================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 16 threads/8 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 16 threads/8 BLAS, jit build
--------------------------------------------------------------------------------------------
Quantity                                         7817f0e7a     8d2eca4a5     Diff     Status
--------------------------------------------------------------------------------------------
EFC overlap per kAt                              [1 elem]      [1 elem]      0.0e+00  OK    
EFC whole-field NTV torque per kAt² [N·m]        [1 elem]      [1 elem]      0.0e+00  OK    
EFC residual-field NTV torque per kAt² [N·m]     [1 elem]      [1 elem]      0.0e+00  OK    
EFC reference rotation ω_ref [rad/s]             [1 elem]      [1 elem]      0.0e+00  OK    
EFC rotation-scan shifts [rad/s]                 [9 elem]      [9 elem]      0.0e+00  OK    
EFC residual torque against rotation [N·m/kAt²]  [9 elem]      [9 elem]      0.0e+00  OK    
dominant-coupling singular values                [3 elem]      [3 elem]      0.0e+00  OK    
|delta_nominal| of coil set 1                    1.406930e-06  1.406930e-06  0.0e+00  OK    
|Σ δ_as_designed| of the error-field coils       1.358875e-18  1.358875e-18  0.0e+00  OK    
Monte Carlo mean |δ| of the error-field coils    4.701300e-05  4.701300e-05  0.0e+00  OK    
Runtime (s)                                      258.0s        248.8s                 --    
============================================================================================
Summary: 10 unchanged


================================================================
Case: diiid_multi_n — DIII-D-like equilibrium, n = 1, 2, ideal + perturbed equilibrium
================================================================

Regression Report: diiid_multi_n
=================================================================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
-----------------------------------------------------------------------------------------------------------------
Quantity                                                      7817f0e7a        8d2eca4a5        Diff       Status
-----------------------------------------------------------------------------------------------------------------
total energy Re(et[1])                                        -5.750527e-01    -5.750527e-01    0.0e+00    OK    
total energy (all)                                            [58 elem]        [58 elem]        0.0e+00    OK    
ODE steps (saved)                                             628              628              0.0e+00    OK    
mpert                                                         29               29               0.0e+00    OK    
npert                                                         2                2                0.0e+00    OK    
toroidal mode label of each mode index (checksum)             8d8d42b8832d...  8d8d42b8832d...  identical  OK    
permeability diagonal P~_ii (all n blocks)                    [58 elem]        [58 elem]        0.0e+00    OK    
forcing b~ (root-area-weighted), n = 1, 2                     [58 elem]        [58 elem]        0.0e+00    OK    
response b~ (root-area-weighted), n = 1, 2                    [58 elem]        [58 elem]        0.0e+00    OK    
PE plasma energy (sum over n)                                 2.936559e+00     2.936559e+00     0.0e+00    OK    
PE vacuum energy (sum over n)                                 3.113946e+00     3.113946e+00     0.0e+00    OK    
PE surface energy (sum over n)                                3.523427e+00     3.523427e+00     0.0e+00    OK    
PE toroidal torque sum_n -2n Im(Phi_n' Lambda_nn^-1 Phi_n)/4  1.820337e-06     1.820337e-06     0.0e+00    OK    
resonant n per row (rows sorted by psi across n)              [7 elem]         [7 elem]         0.0e+00    OK    
resonant m per row                                            [7 elem]         [7 elem]         0.0e+00    OK    
resonant area-weighted field b^r per row                      [7 elem]         [7 elem]         0.0e+00    OK    
island half-widths per row                                    [7 elem]         [7 elem]         0.0e+00    OK    
Chirikov parameter per row                                    [7 elem]         [7 elem]         0.0e+00    OK    
forcing-driven Delta' per row                                 [7 elem]         [7 elem]         0.0e+00    OK    
Runtime (s)                                                   208.8s           207.6s                      --    
=================================================================================================================
Summary: 19 unchanged


================================================================
Case: diiid_n1 — DIII-D-like equilibrium, n=1, ideal + perturbed equilibrium
================================================================

Regression Report: diiid_n1
=================================================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
-------------------------------------------------------------------------------------------------
Quantity                                      7817f0e7a        8d2eca4a5        Diff       Status
-------------------------------------------------------------------------------------------------
total energy Re(et[1])                        8.006122e-01     8.006122e-01     0.0e+00    OK    
total energy Im(et[1])                        7.924882e-05     7.924882e-05     0.0e+00    OK    
plasma energy Re(ep[1])                       -1.372261e+00    -1.372261e+00    0.0e+00    OK    
vacuum energy Re(ev[1])                       2.172874e+00     2.172874e+00     0.0e+00    OK    
vacuum matrix min eigenvalue                  1.873975e-01     1.873975e-01     0.0e+00    OK    
plasma energy (all)                           [35 elem]        [35 elem]        0.0e+00    OK    
vacuum energy (all)                           [35 elem]        [35 elem]        0.0e+00    OK    
total energy (all)                            [35 elem]        [35 elem]        0.0e+00    OK    
ODE steps (saved)                             788              788              0.0e+00    OK    
ODE steps (total)                             783              783              0.0e+00    OK    
q0                                            1.204212e+00     1.204212e+00     0.0e+00    OK    
q95                                           4.781723e+00     4.781723e+00     0.0e+00    OK    
beta_t                                        1.327024e-02     1.327024e-02     0.0e+00    OK    
beta_n                                        1.372511e+00     1.372511e+00     0.0e+00    OK    
internal inductance li1                       8.842268e-01     8.842268e-01     0.0e+00    OK    
internal inductance li2                       7.080757e-01     7.080757e-01     0.0e+00    OK    
internal inductance li3                       7.304340e-01     7.304340e-01     0.0e+00    OK    
poloidal beta betap1                          6.680739e-01     6.680739e-01     0.0e+00    OK    
poloidal beta betap2                          5.349836e-01     5.349836e-01     0.0e+00    OK    
poloidal beta betap3                          5.518764e-01     5.518764e-01     0.0e+00    OK    
# singular surfaces                           5                5                0.0e+00    OK    
singular psi locations                        [5 elem]         [5 elem]         0.0e+00    OK    
singular q values                             [5 elem]         [5 elem]         0.0e+00    OK    
current beta betaj                            4.236480e-01     4.236480e-01     0.0e+00    OK    
plasma volume                                 1.829472e+01     1.829472e+01     0.0e+00    OK    
plasma current                                1.152130e+00     1.152130e+00     0.0e+00    OK    
mpert                                         35               35               0.0e+00    OK    
npert                                         1                1                0.0e+00    OK    
toroidal field bt0                            2.006573e+00     2.006573e+00     0.0e+00    OK    
wall field bwall                              3.880145e-01     3.880145e-01     0.0e+00    OK    
aspect ratio                                  2.845746e+00     2.845746e+00     0.0e+00    OK    
elongation kappa                              1.708322e+00     1.708322e+00     0.0e+00    OK    
q profile (checksum)                          6da947d0754e...  6da947d0754e...  identical  OK    
pressure profile (checksum)                   c9c6ca4072ca...  c9c6ca4072ca...  identical  OK    
Mercier D_I profile (checksum)                26babbe22505...  26babbe22505...  identical  OK    
resistive interchange D_R profile (checksum)  c46830151a0b...  c46830151a0b...  identical  OK    
ballooning Delta' profile (checksum)          c27c6779804a...  c27c6779804a...  identical  OK    
island half-widths                            [5 elem]         [5 elem]         0.0e+00    OK    
Chirikov parameter                            [5 elem]         [5 elem]         0.0e+00    OK    
||resonant area-weighted field||              5.288412e-04     5.288412e-04     0.0e+00    OK    
dominant-coupling singular values             [3 elem]         [3 elem]         0.0e+00    OK    
|forcing overlap with dominant mode|          1.411553e-04     1.411553e-04     0.0e+00    OK    
|delta_nominal| of coil set 1                 7.034649e-05     7.034649e-05     0.0e+00    OK    
||ddelta/d(shift)|| over coil sets            1.245448e-04     1.245448e-04     0.0e+00    OK    
||ddelta/d(tilt)|| over coil sets             4.177341e-07     4.177341e-07     0.0e+00    OK    
PE plasma energy                              3.320466e+00     3.320466e+00     0.0e+00    OK    
PE vacuum energy                              3.174319e+00     3.174319e+00     0.0e+00    OK    
PE surface energy                             5.508585e+00     5.508585e+00     0.0e+00    OK    
PE toroidal torque                            1.119354e-04     1.119354e-04     0.0e+00    OK    
NTV torque FGAR [N·m]                         5.480614e-01     5.480614e-01     0.0e+00    OK    
NTV kinetic energy dW FGAR [J]                8.163291e-02     8.163291e-02     0.0e+00    OK    
Runtime (s)                                   244.7s           243.8s                      --    
||forcing b~|| (root-area-weighted)           4.683171e-04     4.683171e-04     0.0e+00    OK    
resonant area-weighted field b^r              [5 elem]         [5 elem]         0.0e+00    OK    
=================================================================================================
Summary: 53 unchanged


================================================================
Case: diiid_n1_riccati — DIII-D-like equilibrium, n=1, Riccati integrator Δ' matrix
================================================================

Regression Report: diiid_n1_riccati
============================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
----------------------------------------------------------------------------
Quantity                       7817f0e7a      8d2eca4a5      Diff     Status
----------------------------------------------------------------------------
delta prime (BVP diagonal)     [5 elem]       [5 elem]       0.0e+00  OK    
delta prime (raw side-major)   [10 elem]      [10 elem]      0.0e+00  OK    
edge coil response delta_coil  [10 elem]      [10 elem]      0.0e+00  OK    
total energy Re(et[1])         8.031971e-01   8.031971e-01   0.0e+00  OK    
plasma energy Re(ep[1])        -1.368534e+00  -1.368534e+00  0.0e+00  OK    
vacuum energy Re(ev[1])        2.171732e+00   2.171732e+00   0.0e+00  OK    
total energy (all)             [35 elem]      [35 elem]      0.0e+00  OK    
# singular surfaces            5              5              0.0e+00  OK    
singular psi locations         [5 elem]       [5 elem]       0.0e+00  OK    
singular q values              [5 elem]       [5 elem]       0.0e+00  OK    
ODE steps (saved)              93             93             0.0e+00  OK    
ODE steps (total)              2631           2631           0.0e+00  OK    
mpert                          35             35             0.0e+00  OK    
npert                          1              1              0.0e+00  OK    
q0                             1.204212e+00   1.204212e+00   0.0e+00  OK    
q95                            4.781723e+00   4.781723e+00   0.0e+00  OK    
beta_n                         1.372511e+00   1.372511e+00   0.0e+00  OK    
Runtime (s)                    202.9s         205.5s                  --    
============================================================================
Summary: 17 unchanged


================================================================
Case: diiid_n1_riccati_precompiled — DIII-D-like equilibrium, n=1, Riccati integrator Δ' matrix, precompiled build
================================================================

Regression Report: diiid_n1_riccati_precompiled
============================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, aot build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, aot build
----------------------------------------------------------------------------
Quantity                       7817f0e7a      8d2eca4a5      Diff     Status
----------------------------------------------------------------------------
delta prime (BVP diagonal)     [5 elem]       [5 elem]       0.0e+00  OK    
delta prime (raw side-major)   [10 elem]      [10 elem]      0.0e+00  OK    
edge coil response delta_coil  [10 elem]      [10 elem]      0.0e+00  OK    
total energy Re(et[1])         8.031971e-01   8.031971e-01   0.0e+00  OK    
plasma energy Re(ep[1])        -1.368534e+00  -1.368534e+00  0.0e+00  OK    
vacuum energy Re(ev[1])        2.171732e+00   2.171732e+00   0.0e+00  OK    
total energy (all)             [35 elem]      [35 elem]      0.0e+00  OK    
# singular surfaces            5              5              0.0e+00  OK    
singular psi locations         [5 elem]       [5 elem]       0.0e+00  OK    
singular q values              [5 elem]       [5 elem]       0.0e+00  OK    
ODE steps (saved)              93             93             0.0e+00  OK    
ODE steps (total)              2631           2631           0.0e+00  OK    
mpert                          35             35             0.0e+00  OK    
npert                          1              1              0.0e+00  OK    
q0                             1.204212e+00   1.204212e+00   0.0e+00  OK    
q95                            4.781723e+00   4.781723e+00   0.0e+00  OK    
beta_n                         1.372511e+00   1.372511e+00   0.0e+00  OK    
Runtime (s)                    25.9s          25.2s                   --    
============================================================================
Summary: 17 unchanged


================================================================
Case: diiid_slayer_n1 — DIII-D-like H-mode equilibrium, n=1, SLAYER tearing-mode analysis (uncoupled per-surface, AMR, validity-gated)
================================================================

Regression Report: diiid_slayer_n1
=========================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
-------------------------------------------------------------------------
Quantity                            7817f0e7a  8d2eca4a5  Diff     Status
-------------------------------------------------------------------------
SLAYER surface indices              [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER poloidal m                   [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER toroidal n                   [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER minor radius rs              [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER r-based shear                [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER Lundquist S                  [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER D_norm                       [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER P_perp                       [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER tauk                         [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER iota_e                       [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER Q_e                          [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER Q_i                          [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER Q_root [2/1,3/1,4/1]         [3 elem]   [3 elem]   0.0e+00  OK    
SLAYER ω_Hz [2/1,3/1,4/1]           [3 elem]   [3 elem]   0.0e+00  OK    
SLAYER γ_Hz [2/1,3/1,4/1]           [3 elem]   [3 elem]   0.0e+00  OK    
SLAYER no_root flags [2/1,3/1,4/1]  [3 elem]   [3 elem]   0.0e+00  OK    
SLAYER enabled flag                 1          1          0.0e+00  OK    
Runtime (s)                         234.2s     232.2s              --    
=========================================================================
Summary: 17 unchanged


================================================================
Case: diiid_slayer_n1_chi_perp_e — DIII-D-like H-mode equilibrium, n=1, SLAYER tearing-mode analysis with P_perp_model = chi_perp_e
================================================================

Regression Report: diiid_slayer_n1_chi_perp_e
=========================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
-------------------------------------------------------------------------
Quantity                            7817f0e7a  8d2eca4a5  Diff     Status
-------------------------------------------------------------------------
SLAYER surface indices              [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER poloidal m                   [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER toroidal n                   [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER minor radius rs              [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER r-based shear                [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER Lundquist S                  [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER D_norm                       [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER P_perp                       [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER tauk                         [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER iota_e                       [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER Q_e                          [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER Q_i                          [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER Q_root [2/1,3/1,4/1]         [3 elem]   [3 elem]   0.0e+00  OK    
SLAYER ω_Hz [2/1,3/1,4/1]           [3 elem]   [3 elem]   0.0e+00  OK    
SLAYER γ_Hz [2/1,3/1,4/1]           [3 elem]   [3 elem]   0.0e+00  OK    
SLAYER no_root flags [2/1,3/1,4/1]  [3 elem]   [3 elem]   0.0e+00  OK    
SLAYER enabled flag                 1          1          0.0e+00  OK    
Runtime (s)                         237.1s     241.4s              --    
=========================================================================
Summary: 17 unchanged


================================================================
Case: diiid_slayer_n1_coupled — DIII-D-like H-mode equilibrium, n=1, SLAYER coupled multi-surface determinant with kinetic-file E×B rotation (reuses the n=1 deck via overrides)
================================================================

Regression Report: diiid_slayer_n1_coupled
==================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
------------------------------------------------------------------
Quantity                     7817f0e7a  8d2eca4a5  Diff     Status
------------------------------------------------------------------
SLAYER tauk                  [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER q_shift               [6 elem]   [6 elem]   0.0e+00  OK    
SLAYER coupled Q_root        [1 elem]   [1 elem]   0.0e+00  OK    
SLAYER coupled ω             [1 elem]   [1 elem]   0.0e+00  OK    
SLAYER coupled γ             [1 elem]   [1 elem]   0.0e+00  OK    
SLAYER coupled no_root flag  [1 elem]   [1 elem]   0.0e+00  OK    
SLAYER enabled flag          1          1          0.0e+00  OK    
Runtime (s)                  235.4s     231.7s              --    
==================================================================
Summary: 7 unchanged


================================================================
Case: diiid_truncation_n1 — DIII-D-like, n=1, psihigh=0.9999 with the resistive-layer overlap cap binding (truncation only)
================================================================

Regression Report: diiid_truncation_n1
====================================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
------------------------------------------------------------------------------------
Quantity                               7817f0e7a      8d2eca4a5      Diff     Status
------------------------------------------------------------------------------------
layer-overlap cap applied              1              1              0.0e+00  OK    
layer-overlap psilim                   9.985081e-01   9.985081e-01   0.0e+00  OK    
first overlapping surface index        7              7              0.0e+00  OK    
diffusive-resistive layer widths (Δψ)  [7 elem]       [7 elem]       0.0e+00  OK    
qlim                                   6.200000e+00   6.200000e+00   0.0e+00  OK    
psilim                                 9.949767e-01   9.949767e-01   0.0e+00  OK    
mpert                                  37             37             0.0e+00  OK    
# singular surfaces                    5              5              0.0e+00  OK    
singular q values                      [5 elem]       [5 elem]       0.0e+00  OK    
singular psi locations                 [5 elem]       [5 elem]       0.0e+00  OK    
plasma energy Re(ep[1])                -1.372379e+00  -1.372379e+00  0.0e+00  OK    
total energy Re(et[1])                 8.005437e-01   8.005437e-01   0.0e+00  OK    
Runtime (s)                            196.0s         193.2s                  --    
====================================================================================
Summary: 12 unchanged


================================================================
Case: efit_fixedbdy_separatrix — Fixed-boundary EFIT (box hugs LCFS), Newton separatrix-find regression
================================================================

Regression Report: efit_fixedbdy_separatrix
=======================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
-----------------------------------------------------------------------
Quantity                    7817f0e7a     8d2eca4a5     Diff     Status
-----------------------------------------------------------------------
psio (total poloidal flux)  3.344390e-01  3.344390e-01  0.0e+00  OK    
q0                          1.155202e+00  1.155202e+00  0.0e+00  OK    
q95                         5.741022e+00  5.741022e+00  0.0e+00  OK    
beta_t                      3.945172e-05  3.945172e-05  0.0e+00  OK    
beta_n                      1.009505e-01  1.009505e-01  0.0e+00  OK    
Runtime (s)                 47.4s         47.9s                  --    
=======================================================================
Summary: 5 unchanged


================================================================
Case: gal_resistive_diiid — DIII-D-like, n=1, RDCON outer-region Galerkin Δ′ with rpec coil columns (delta_coil)
================================================================

Regression Report: gal_resistive_diiid
====================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
--------------------------------------------------------------------
Quantity                 7817f0e7a     8d2eca4a5     Diff     Status
--------------------------------------------------------------------
gal # singular surfaces  4             4             0.0e+00  OK    
gal singular q values    [4 elem]      [4 elem]      0.0e+00  OK    
gal PEST3 Δ diagonal     [4 elem]      [4 elem]      0.0e+00  OK    
||gal Δ′ matrix||        2.302048e+03  2.302048e+03  0.0e+00  OK    
||gal Δ_coil block||     1.581714e+01  1.581714e+01  0.0e+00  OK    
gal D_I per surface      [4 elem]      [4 elem]      0.0e+00  OK    
gal α per surface        [4 elem]      [4 elem]      0.0e+00  OK    
||gal inner-layer Δ||    1.474577e+06  1.474577e+06  0.0e+00  OK    
||gal match cout||       3.048397e-02  3.048397e-02  0.0e+00  OK    
||gal match bpen||       1.206218e+00  1.206218e+00  0.0e+00  OK    
gal match residual       1.709610e-16  1.709610e-16  0.0e+00  OK    
Runtime (s)              190.0s        188.9s                 --    
====================================================================
Summary: 11 unchanged


================================================================
Case: gal_resistive_diiid_galinner — DIII-D-like, n=1, Galerkin Δ′ matched with the Galerkin inner-layer backend
================================================================

Regression Report: gal_resistive_diiid_galinner
====================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
--------------------------------------------------------------------
Quantity                 7817f0e7a     8d2eca4a5     Diff     Status
--------------------------------------------------------------------
gal # singular surfaces  4             4             0.0e+00  OK    
gal singular q values    [4 elem]      [4 elem]      0.0e+00  OK    
gal PEST3 Δ diagonal     [4 elem]      [4 elem]      0.0e+00  OK    
||gal Δ′ matrix||        2.302048e+03  2.302048e+03  0.0e+00  OK    
||gal Δ_coil block||     1.581714e+01  1.581714e+01  0.0e+00  OK    
gal D_I per surface      [4 elem]      [4 elem]      0.0e+00  OK    
gal α per surface        [4 elem]      [4 elem]      0.0e+00  OK    
||gal inner-layer Δ||    1.474566e+06  1.474566e+06  0.0e+00  OK    
||gal match cout||       3.048397e-02  3.048397e-02  0.0e+00  OK    
||gal match bpen||       1.206218e+00  1.206218e+00  0.0e+00  OK    
gal match residual       1.872671e-16  1.872671e-16  0.0e+00  OK    
Runtime (s)              190.1s        193.1s                 --    
====================================================================
Summary: 11 unchanged


================================================================
Case: gal_resistive_pe — DIII-D-like, n=1, DRIVEN/RPEC: gal-matched resistive ξ → PerturbedEquilibrium (coil-driven singular coupling)
================================================================

Regression Report: gal_resistive_pe
==========================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
----------------------------------------------------------
Quantity                7817f0e7a  8d2eca4a5  Diff  Status
----------------------------------------------------------
rational q values       N/A        N/A        N/A   N/A   
island half-widths      N/A        N/A        N/A   N/A   
Chirikov parameter      N/A        N/A        N/A   N/A   
||resonant b field||    N/A        N/A        N/A   N/A   
resonant b field (all)  N/A        N/A        N/A   N/A   
penetrated b field      N/A        N/A        N/A   N/A   
PE Δ' per surface       N/A        N/A        N/A   N/A   
||C resonant b field||  N/A        N/A        N/A   N/A   
Runtime (s)             194.3s     197.4s           --    
==========================================================
Summary: 8 missing/N/A


================================================================
Case: ggj_ray_q500i — GGJ inner-layer :ray backend, q=4 surface, Q = 500i (beyond :galerkin)
================================================================

Regression Report: ggj_ray_q500i
===============================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
---------------------------------------------------------------
Quantity            7817f0e7a     8d2eca4a5     Diff     Status
---------------------------------------------------------------
Re(Δ₊ interchange)  2.472007e+00  2.472007e+00  0.0e+00  OK    
Im(Δ₊ interchange)  1.335402e+01  1.335402e+01  0.0e+00  OK    
Re(Δ₋ tearing)      1.374966e-01  1.374966e-01  0.0e+00  OK    
Im(Δ₋ tearing)      7.427542e-01  7.427542e-01  0.0e+00  OK    
Runtime (s)         22.7s         22.9s                  --    
===============================================================
Summary: 4 unchanged


================================================================
Case: ggj_reference — GGJ inner-layer Galerkin solver, Glasser & Wang 2020 Eq. 55 with physical τ_A, τ_R, 1 kHz rotation (Q ≈ 0.22i)
================================================================

Regression Report: ggj_reference
=================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
-----------------------------------------------------------------
Quantity            7817f0e7a      8d2eca4a5      Diff     Status
-----------------------------------------------------------------
Re(Δ₊ interchange)  1.225728e+03   1.225728e+03   0.0e+00  OK    
Im(Δ₊ interchange)  2.064823e+04   2.064823e+04   0.0e+00  OK    
Re(Δ₋ tearing)      -5.345663e+00  -5.345663e+00  0.0e+00  OK    
Im(Δ₋ tearing)      2.592091e+01   2.592091e+01   0.0e+00  OK    
Runtime (s)         11.2s          10.8s                   --    
=================================================================
Summary: 4 unchanged


================================================================
Case: solovev_kinetic_calculated — Solovev, n=1, kinetic_source=calculated, kinetic_factor=1.0, 50/50 D-T multi-ion kinetic matrices, mode-converged band (delta_m=8, mpert=32); pressure-consistent kinetic.dat (n·T tied to the Solovev P₀≈4.27e4 Pa).
================================================================

Regression Report: solovev_kinetic_calculated
================================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
--------------------------------------------------------------------------------
Quantity                           7817f0e7a      8d2eca4a5      Diff     Status
--------------------------------------------------------------------------------
vacuum energy Re(ev[1])            1.054739e+01   1.054739e+01   0.0e+00  OK    
q0                                 1.900003e+00   1.900003e+00   0.0e+00  OK    
NTV fgar quadrature torque [N·m]   2.267351e-03   2.267351e-03   0.0e+00  OK    
||xi_clebsch_alpha||               6.041963e-01   6.041963e-01   0.0e+00  OK    
total energy Re(et[1])             1.828278e+00   1.828278e+00   0.0e+00  OK    
total energy Im(et[1])             -1.326607e+00  -1.326607e+00  0.0e+00  OK    
plasma energy Re(ep[1])            -8.719112e+00  -8.719112e+00  0.0e+00  OK    
ODE steps (saved)                  608            608            0.0e+00  OK    
# singular surfaces                2              2              0.0e+00  OK    
boundary-response torque [N·m]     2.285518e-03   2.285518e-03   0.0e+00  OK    
singular psi locations             [2 elem]       [2 elem]       0.0e+00  OK    
total energy (all)                 [32 elem]      [32 elem]      0.0e+00  OK    
ODE steps (total)                  607            607            0.0e+00  OK    
mpert                              32             32             0.0e+00  OK    
q95                                3.147422e+00   3.147422e+00   0.0e+00  OK    
||Jb_theta_reg||                   3.945600e-03   3.945600e-03   0.0e+00  OK    
Runtime (s)                        235.9s         231.5s                  --    
T_xe applied-forcing torque [N·m]  2.285518e-03   2.285518e-03   0.0e+00  OK    
||dxi_clebsch_psi/dpsi||           3.791914e+00   3.791914e+00   0.0e+00  OK    
singular q values                  [2 elem]       [2 elem]       0.0e+00  OK    
npert                              1              1              0.0e+00  OK    
================================================================================
Summary: 20 unchanged


================================================================
Case: solovev_kinetic_multiion — Solovev n=1, ideal + PE + multi-ion NTV (D + T + electron summed)
================================================================

Regression Report: solovev_kinetic_multiion
==========================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
--------------------------------------------------------------------------
Quantity                     7817f0e7a      8d2eca4a5      Diff     Status
--------------------------------------------------------------------------
NTV total (D+T+imp+e) [N·m]  3.141767e+01   3.141767e+01   0.0e+00  OK    
NTV Deuterium [N·m]          1.973730e+01   1.973730e+01   0.0e+00  OK    
NTV Tritium [N·m]            2.046293e+01   2.046293e+01   0.0e+00  OK    
NTV electron [N·m]           -8.782557e+00  -8.782557e+00  0.0e+00  OK    
total energy Re(et[1])       1.090560e-02   1.090560e-02   0.0e+00  OK    
# singular surfaces          2              2              0.0e+00  OK    
Runtime (s)                  228.0s         225.1s                  --    
==========================================================================
Summary: 6 unchanged


================================================================
Case: solovev_kinetic_ntv — Solovev analytical equilibrium, n=1, ideal + PE + NTV torque quadrature
================================================================

Regression Report: solovev_kinetic_ntv
======================================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
--------------------------------------------------------------------------------------
Quantity                                   7817f0e7a     8d2eca4a5     Diff     Status
--------------------------------------------------------------------------------------
NTV torque fgar [Re, Im]                   [1 elem]      [1 elem]      0.0e+00  OK    
NTV ψ quadrature evaluations               45            45            0.0e+00  OK    
fluid CGL energy fcgl [J]                  1.552303e+01  1.552303e+01  0.0e+00  OK    
root-area-weighted total energy Re(et[1])  1.090560e-02  1.090560e-02  0.0e+00  OK    
# singular surfaces                        2             2             0.0e+00  OK    
singular psi locations                     [2 elem]      [2 elem]      0.0e+00  OK    
q0                                         1.900006e+00  1.900006e+00  0.0e+00  OK    
Runtime (s)                                225.3s        223.6s                 --    
======================================================================================
Summary: 7 unchanged


================================================================
Case: solovev_kinetic_nuzero — Solovev, n=1, kinetic_source=calculated, nutype=zero (collisionless energy integral), 50/50 D-T multi-ion kinetic matrices, mode-converged band (delta_m=8, mpert=32). Reuses the calculated example deck via override; pressure-consistent kinetic.dat.
================================================================

Regression Report: solovev_kinetic_nuzero
======================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
----------------------------------------------------------------------
Quantity                 7817f0e7a      8d2eca4a5      Diff     Status
----------------------------------------------------------------------
vacuum energy Re(ev[1])  1.058613e+01   1.058613e+01   0.0e+00  OK    
q0                       1.900003e+00   1.900003e+00   0.0e+00  OK    
total energy Re(et[1])   2.290965e+00   2.290965e+00   0.0e+00  OK    
total energy Im(et[1])   -1.564546e+00  -1.564546e+00  0.0e+00  OK    
plasma energy Re(ep[1])  -8.295163e+00  -8.295163e+00  0.0e+00  OK    
ODE steps (saved)        608            608            0.0e+00  OK    
# singular surfaces      2              2              0.0e+00  OK    
singular psi locations   [2 elem]       [2 elem]       0.0e+00  OK    
total energy (all)       [32 elem]      [32 elem]      0.0e+00  OK    
ODE steps (total)        607            607            0.0e+00  OK    
mpert                    32             32             0.0e+00  OK    
q95                      3.147422e+00   3.147422e+00   0.0e+00  OK    
Runtime (s)              233.7s         237.5s                  --    
singular q values        [2 elem]       [2 elem]       0.0e+00  OK    
npert                    1              1              0.0e+00  OK    
======================================================================
Summary: 14 unchanged


================================================================
Case: solovev_multi_n — Solovev analytical equilibrium, multi-n, ideal stability
================================================================

Regression Report: solovev_multi_n
=================================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
---------------------------------------------------------------------------------
Quantity                      7817f0e7a        8d2eca4a5        Diff       Status
---------------------------------------------------------------------------------
total energy Re(et[1])        -2.134718e+00    -2.134718e+00    0.0e+00    OK    
total energy Im(et[1])        1.968592e-10     1.968592e-10     0.0e+00    OK    
vacuum matrix min eigenvalue  1.730832e+00     1.730832e+00     0.0e+00    OK    
plasma energy (all)           [70 elem]        [70 elem]        0.0e+00    OK    
vacuum energy (all)           [70 elem]        [70 elem]        0.0e+00    OK    
total energy (all)            [70 elem]        [70 elem]        0.0e+00    OK    
ODE steps (saved)             56               56               0.0e+00    OK    
ODE steps (total)             1044             1044             0.0e+00    OK    
q0                            1.900006e+00     1.900006e+00     0.0e+00    OK    
q95                           3.147422e+00     3.147422e+00     0.0e+00    OK    
# singular surfaces           3                3                0.0e+00    OK    
singular psi locations        [3 elem]         [3 elem]         0.0e+00    OK    
mpert                         35               35               0.0e+00    OK    
npert                         2                2                0.0e+00    OK    
q profile (checksum)          2340b888d410...  2340b888d410...  identical  OK    
Runtime (s)                   202.3s           199.4s                      --    
=================================================================================
Summary: 15 unchanged


================================================================
Case: solovev_n1 — Solovev analytical equilibrium, n=1, ideal stability
================================================================

Regression Report: solovev_n1
=================================================================================
Ref 1: 7817f0e7a  @ 7817f0e7a (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
Ref 2: 8d2eca4a5  @ 8d2eca4a5 (2026-10-28)
       env: julia 1.12.6, x86_64-linux-gnu, manifest 4c9d54fa (pinned), 2 threads/1 BLAS, jit build
---------------------------------------------------------------------------------
Quantity                      7817f0e7a        8d2eca4a5        Diff       Status
---------------------------------------------------------------------------------
total energy Re(et[1])        1.090560e-02     1.090560e-02     0.0e+00    OK    
total energy Im(et[1])        1.350301e-10     1.350301e-10     0.0e+00    OK    
plasma energy Re(ep[1])       -1.041640e+01    -1.041640e+01    0.0e+00    OK    
vacuum energy Re(ev[1])       1.042730e+01     1.042730e+01     0.0e+00    OK    
vacuum matrix min eigenvalue  2.170703e+00     2.170703e+00     0.0e+00    OK    
plasma energy (all)           [32 elem]        [32 elem]        0.0e+00    OK    
vacuum energy (all)           [32 elem]        [32 elem]        0.0e+00    OK    
total energy (all)            [32 elem]        [32 elem]        0.0e+00    OK    
ODE steps (saved)             287              287              0.0e+00    OK    
ODE steps (total)             285              285              0.0e+00    OK    
q0                            1.900006e+00     1.900006e+00     0.0e+00    OK    
q95                           3.147422e+00     3.147422e+00     0.0e+00    OK    
beta_t                        4.621027e-02     4.621027e-02     0.0e+00    OK    
beta_n                        3.217775e+00     3.217775e+00     0.0e+00    OK    
# singular surfaces           2                2                0.0e+00    OK    
singular psi locations        [2 elem]         [2 elem]         0.0e+00    OK    
singular q values             [2 elem]         [2 elem]         0.0e+00    OK    
mpert                         32               32               0.0e+00    OK    
npert                         1                1                0.0e+00    OK    
q profile (checksum)          2340b888d410...  2340b888d410...  identical  OK    
pressure profile (checksum)   108b947087e6...  108b947087e6...  identical  OK    
ca_left (checksum)            b7a5bbc5f549...  b7a5bbc5f549...  identical  OK    
Runtime (s)                   207.3s           214.5s                      --    
=================================================================================
Summary: 22 unchanged

Third-party human review and approval are required before merge.

@d-burg
d-burg marked this pull request as ready for review October 29, 2026 01:26
@matt-pharr
matt-pharr merged commit 219b871 into develop Oct 29, 2026
4 of 6 checks passed
@matt-pharr
matt-pharr deleted the feature/optional-el-matrix-output branch October 29, 2026 12:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api Config key, output dataset or exported name changed changed-results Results move or an interface breaks - read before upgrading

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants