Repository navigation
v1.6.0 release #350
Copy link
Copy link
Closed
Milestone
Description
Tracking issue for the v1.6.0 release. This is planned as the last minor release of the Fortran 1.x series; new feature work moves to the Julia 2.x code. @matt-pharr, this is where we coordinate: please comment here on anything in the plan.
develop is close to releasable. I read every PR and direct commit since v1.5.7 and ran every example on feynman (gfortran -O3, a -fcheck=all build, and develop's binaries on v1.5.7's example decks). That review turned up the fixes below.
Before the release branch (milestone v1.6.0)
- INSTALL - CLEANUP - Remove dangling deps/src/harvest gitlink #346 Remove the dangling
deps/src/harvestgitlink. It breaksgit submodule status/initandclone --recursiveon fresh clones. - RDCON - BUG FIX - Accept coil in gal_output for v1.5 rdcon.in files #347 Accept
coil%rpec_flagin&GAL_OUTPUTagain, with a deprecation warning. Every v1.5.7rdcon.infailed with a namelist error. - ALL - CLEANUP - v1.6 pre-release fixes to templates, I/O, thread stacks and docs #348 Pre-release cleanup:
- fix
slayer.intemplates; - remove the leftover
chi1print; - document
enstep; - fix two docs warnings;
- fix the PENTRC worker-thread stack overflow that segfaulted kinetic DCON on
solovev_kinetic; - remove the spurious RMATCH
imap errorprint; - set
ascii_flagin the a10 example.
- fix
- PENTRC - BUG FIX - Use the evaluated fnml value in the RLAR kappa integral #349 RLAR torque was zero or garbage since v1.5.6. This changes results.
- GPEC - BUG FIX - Honor reg_flag in pmodb divergence output #340 GPEC pmodb divergence honours
reg_flag=f. - GPEC - BUG FIX - Use each point's Jacobian in pmodb diagnostics #343 GPEC pmodb diagnostic uses the current Jacobian.
- PENTRC - BUG FIX - Recover full CGL curvature from perpendicular field strength #342 PENTRC
fcglused half the curvature term since 2015. This changesfcglresults. - PENTRC, GPEC - BUG FIX - Form the pmodb perpendicular displacement from xi^psi and xi^s and read its drive #341 PENTRC pmodb reader. GPEC's
Bdivxi_perpoutput stays unreliable at resonant m (see Known limitations). - DOCS - BUG FIX - State pmodb displacement gauges and prove consumer contracts #339 pmodb gauge docs (derivation scripts left out of the release).
- GPEC - BUG FIX - Use each surface's own R for |grad psi| in xbnormal #356 GPEC
xbnormaluses each surface's own R (replaces BUG FIX - Preserve geometry across resonant-field diagnostics #353). - BUG FIX - Preserve complete field-line integration failure diagnostics #354 EQUIL field-line integration failure message is printed in full.
- Growth rate calculation functionality added to gslayer.f #173 SLAYER growth rates.
- PENTRC - BUG FIX - Conjugate the bounce-averaged W vectors so the kinetic EL matrices see the physical perturbation #357 PENTRC kinetic Euler-Lagrange matrices conjugate the bounce-averaged W vectors (changes kinetic DCON/GPEC results on up-down asymmetric equilibria).
Decisions to settle here
- Draft PRs. Rule (see comment below): a PR is in 1.6.0 only if it is ready for review and on this milestone by Fri Oct 24. Otherwise it waits.
- @krystophny: DOCS - BUG FIX - State pmodb displacement gauges and prove consumer contracts #339, GPEC - BUG FIX - Honor reg_flag in pmodb divergence output #340, PENTRC, GPEC - BUG FIX - Form the pmodb perpendicular displacement from xi^psi and xi^s and read its drive #341, PENTRC - BUG FIX - Recover full CGL curvature from perpendicular field strength #342, GPEC - BUG FIX - Use each point's Jacobian in pmodb diagnostics #343, BUG FIX - Preserve complete field-line integration failure diagnostics #354 merged; BUG FIX - Preserve geometry across resonant-field diagnostics #353 replaced by GPEC - BUG FIX - Use each surface's own R for |grad psi| in xbnormal #356; GPEC - NEW FEATURE - Emit optional perturbed Boozer and Hamada field strength #344 and BUG FIX - Keep delivered direct-chart radii on their input flux surfaces #355 closed.
- @StuartBenjamin: STRIDE - BUGFIX - Split the axis interval into at least 8 pieces #325, RDCON - BUGFIX - Fill the netcdf cell grid whatever the Galerkin output flags #327, DCON, RDCON, STRIDE - BUGFIX - Keep the dmlim qlim within qhigh #328, EQUIL - BUGFIX - Sample every direct-equilibrium surface at the common straight-fieldline angles #329, EQUIL - BUGFIX - Bound grid_type original by psilow and psihigh #335, STRIDE: banded LU for the Δ′ boundary value problem #351, RDCON: free each Galerkin element matrix once it is assembled (LU) #352 reviewed and merged. Symmetrize STRIDE Δ matrices #191 closed.
- @d-burg: Growth rate calculation functionality added to gslayer.f #173 merged.
- Release notes. Final draft in the comment below (Oct 24). @matt-pharr approved an earlier version. It has an "Upgrade notes" section (new build system; binary formats changed, so DCON/RDCON → RMATCH → GPEC must be rerun; renamed inputs and outputs) ahead of Adds/Changes/Fixes. Lines carry no PR numbers, as in earlier releases.
- Version number. Several changes are major-grade under
docs/releases.rst(old binary files can't be reused). Decided: 1.6.0, since 2.x is reserved for Julia; the Upgrade notes carry the incompatibilities. - Docs publishing.
make ghpagesforce-pushesgh-pages. Decided: publish frommasterright after tagging.
Release steps (GitFlow release branch, as for v1.4.0 and v1.5.0)
- All milestone PRs merged into
develop - Cut
release-1.6.0fromdevelop(at e695e59) - Version bump commit (cb97129):
docs/conf.py(version='1.6',release='1.6.0') and the v1.6.0 entry indocs/releases.rst - Run CI on the branch (run 40129923377, gfortran and ifort green) (
gh workflow run make_test.yml --ref release-1.6.0). PRs tomasterdon't trigger CI. -
release-1.6.0merged intomasterwith--no-ff(68f4e3d; Release v1.6.0 #358) - Release published: https://github.com/PrincetonUniversity/GPEC/releases/tag/v1.6.0 (tag
v1.6.0on 68f4e3d, created withgh release create) - Check that a fresh
masterbuild printsv1.6.0(the version comes fromgit describe) - PR
release-1.6.0→develop, merged with a merge commit (Merge release-1.6.0 into develop #359, 5499124) - Delete
release-1.6.0 - Publish the docs (gh-pages 31ac754)
After the release
Reminders for work outside this repository:
- Module installs: feynman
gpec/1.6, GA (omega/iris), PPPL portal, NERSC, SNU. - Tell the OMFIT GPEC module maintainers about:
- the
rpec_flagnamelist move; dcon_kin_threadsandpentrc_threads;bin_vacandout_ahg2msc;- renamed outputs (
w_isl_v_crit,b_*_vacuum,gpec_singfldcolumns,rdcon_output_n#.nc).
- the
- Announce to users.
Known limitations (not fixed in 1.6.0)
- RDCON Galerkin Delta' is unconverged at outer and edge surfaces.
- RMATCH
auto_connectis broken. - SLAYER:
delta_n_pis hardcoded;- the ~10× DIII-D threshold discrepancy is unresolved.
- PENTRC:
clarhas no shear term inomega_D. - GPEC: the pmodb
Bdivxi_perpoutput is unreliable for resonant and window-edge m (PENTRC, GPEC - BUG FIX - Form the pmodb perpendicular displacement from xi^psi and xi^s and read its drive #341). - CI checks only that runs complete. There are no numerical regression checks.
🤖 Generated with Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
logan-nc commentedon Oct 21, 2026
@krystophny @StuartBenjamin and @d-burg currently have draft PRs. If you want these into v1.6 please finish them and mark them as ready for review (not draft). Assign a reviewer and add it to this milestone. Goal is to release next week before APS so get it on the list this week or it won't get included. Thanks for all your dev work here but don't hurt yourself/us pushing big messy changes... long live GPEC 2.0 😉
logan-nc commentedon Oct 21, 2026
@matt-pharr here is the draft v1.6.0 release notes section for
docs/releases.rst. Does it look good to you? Corrections, missing items, or wording changes welcome.Updated Oct 24: final for the release branch. Adds #325, #327, #328, #329, #335, #339, #341, #351, #352, #354, #356, #357 and the SLAYER growth rates of #173. The "Results that change" section is removed, Fixes lines describe the fix rather than the old behavior, fixes to SLAYER code that is new in 1.6 are not listed, and lines carry no PR numbers.
matt-pharr commentedon Oct 21, 2026
Looks good to me! Nothing stands out to me as missing here.
krystophny commentedon Oct 21, 2026
#340, #341, #342 and #343 are ready for review and on the v1.6.0 milestone. Each is now the minimal source fix without new tests or CI targets; the regression checks and FortSym derivations are on linked evidence branches. #341 and #342 change PENTRC results (numbers in the PR bodies). #339 (pmodb gauge docs) and #344 (new perturbed Boozer/Hamada |B| output) stay out of 1.6; the #344 feature would go to the Julia 2.x code instead. Nothing else from me for 1.6.0.
Chris&AI
krystophny commentedon Oct 22, 2026
#341: I went for the GPEC-side fix.
gpout_pmodbnow forms the perpendicular displacement from (ξ^ψ, ξ^s) (cbf20c0), the output format is unchanged, and the identity residual at resonant m drops from 49–175 to below 2e-3. PENTRC's integrated divx and dB/B move by 1–4 % relative to develop. Numbers and derivation are in the PR. It is ready for re-review for 1.6.0.Chris&AI
logan-nc commentedon Oct 23, 2026
@StuartBenjamin @d-burg, last call: I plan to make the v1.6.0 release on the plane home tomorrow.
Please wrap up your draft PRs before then. For each one, either:
Open drafts:
Anything still in draft when I cut the release will not be in 1.6.0.
StuartBenjamin commentedon Oct 23, 2026
Done: I re-opened the PRs, they're all legit bug fixes I've been running thousands of calculations on