Repository navigation
Repo - REFACTOR! - Rename TOML config variables to descriptive spellings - #382
Open
priyanshlunia wants to merge 1 commit into
Open
priyanshlunia wants to merge 1 commit into
priyanshlunia wants to merge 1 commit into
Conversation
logan-nc
added a commit
that referenced
this pull request
Aug 17, 2026
Flips EquilibriumConfig.psihigh_from_layer_overlap to true and sets it explicitly, annotated, in all 17 decks. Kinetic profiles are wired via a [SLAYER] profile_file entry using each deck's OWN family file -- never a [KineticForces] block, which would flip needs_kinetic_profiles and change the auto-grid knot density, an unrelated results channel. A [SLAYER] section carrying only profile_file is inert: slayer_ctrl.enabled defaults false and the stage returns before running or writing anything. Deck sweep, equilibrium stage, all 17: MOVED DIIID-like_SLAYER 0.9995 -> 0.993281 MOVED DIIID-like_ideal 0.995 -> 0.993281 no-op DIIID gal_resistive, _pe 0.993 (already at the floor) no-op Solovev x5, LAR x4, a10 n/a DIIID-like_ideal_IMAS needs a runtime dd; flag left off anyway The analytic decks no-op exactly as predicted: limited plasmas with finite edge q, so the edge q-law fit is rejected and the two well-separated surfaces never overlap. LAR has no legitimate kinetic file, so those four no-op on the missing profiles instead. NOTE FOR REVIEW: on all four DIII-D decks the psiedge floor OVERRIDES the layer criterion. Each asks for ~0.9892 and each is held at the q=6 window top. The feature as configured therefore reduces to "clamp psihigh to the first rational surface outboard of psiedge"; the layer physics sets the domain nowhere in the shipped examples. IMAS deck keeps the flag off with a comment: its rerun path re-runs read_imas and must resolve the same psihigh on both passes (_validate_psi_nodes errors otherwise), which is what resolving a new domain changes; "imas" is also outside EFIT_KINDS so there is no separatrix clamp and no raw psi map. benchmarks/equil_psihigh_scan.jl now records the structured equilibrium_edge_quality verdict per point instead of a hand-rolled round-trip, captures et/ep/ev, and adds a gate-validation pass that fails loudly if any psihigh exists where the gate passes while the energies are already unusable. It forces the flag off so the ladder tests the psihigh it sets. docs: corrects a naming bug I introduced -- workflow.md called the variable dW_edge_scan_start, but that rename is an unmerged draft (PR #382) and the code says psiedge. Documents the floor, the cross-section dependency on [ForceFreeStates] psiedge, and that truncations are reported in mm as well as psi. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PSrf6JCViFfVzqzkQ66o6b
Collaborator
|
@priyanshlunia #363 and #364 were merged. Do you want to mark this as ready for review? It now has a lot of conflicts, but I suspect they are largely trivial. Please merge in the newest develop and ping us afterwards when it is ready for review. Is the assignee yourself? |
Keys and values whose names a reader cannot guess are renamed; guessable Fortran names (psilow, qhigh, mpsi, newq0, ...) are kept. - [Equilibrium] etol, r0exp, b0exp -> flux_surface_rtol, r0_norm, b0_norm; grid_type "ldp" -> "core_edge_packed" - [ForceFreeStates] psiedge -> dW_edge_scan_start; dmlim, set_psilim_via_dmlim -> rational_offset_fraction, truncate_at_rational_offset; ucrit -> renorm_threshold; mthvac, nzvac -> mtheta_vacuum, nzeta_vacuum; sing_order -> frobenius_order - [PerturbedEquilibrium] reg_spot -> regularization_width - [KineticForces] zi, mi, zimp, mimp -> ion_charge, ion_mass, impurity_charge, impurity_mass; nl -> bounce_harmonic_max; wdfac, nufac, divxfac -> magnetic_drift_factor, collisionality_factor, divxi_factor; *_xlmda -> *_pitch; f0type "jkp" -> "park" - [SLAYER] dc_type, dr_val, dgeo_val -> D_c_type, D_R, D_geo (as in the SLAYER HDF5 outputs); mu_i -> ion_mass; "rfitzp" -> "fitzpatrick" - [Wall] a splits into standoff_fraction (conformal, dee) and minor_radius (elliptical, mod_dee); aw, bw, cw, dw, tw -> half_thickness, elongation, center_offset, triangularity, corner_sharpness - [SOL_INPUT] e -> elongation; [LAR_INPUT]/[TJ_ANALYTIC_INPUT] lar_r0, lar_a, mtau -> r0, a, mtheta; TJ qc, pc, mu -> q0, p0, pressure_peaking - [[ForcingTerms.coil_set]] xnom/ynom/znom -> rotation_center_x/_y/_z; ncoil_gen merges into n_coils; nsec_gen -> points_per_coil; unknown coil_set keys are now an error - Unimplemented use_galgrid, nstep, diagnose_ca, diagnose and ksing join the existing deprecated-key lists Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PSrf6JCViFfVzqzkQ66o6b
logan-nc
force-pushed
the
docs/toml_variable_cleanup
branch
from
October 4, 2026 03:33
cab894a to
008edd9
Compare
logan-nc
marked this pull request as ready for review
October 4, 2026 03:34
logan-nc
removed their request for review
October 4, 2026 03:34
Collaborator
|
@priyanshlunia I rebuilt this branch on current develop and force-pushed it (your old head is
|
Collaborator
|
@d-burg @jhalpern30 @matt-pharr are you guys OK with doing this name change sweep now? |
This branch has not been deployed
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.
Release note
gpec.tomlkeys and values. The old spellings are not accepted.[Equilibrium]etol,r0exp,b0expflux_surface_rtol,r0_norm,b0_norm[Equilibrium]grid_type"ldp""core_edge_packed"[ForceFreeStates]dmlim,set_psilim_via_dmlimrational_offset_fraction,truncate_at_rational_offset[ForceFreeStates]psiedge,ucritdW_edge_scan_start,renorm_threshold[ForceFreeStates]mthvac,nzvac,sing_ordermtheta_vacuum,nzeta_vacuum,frobenius_order[PerturbedEquilibrium]reg_spotregularization_width[KineticForces]zi,mi,zimp,mimpion_charge,ion_mass,impurity_charge,impurity_mass[KineticForces]nl,atol_xlmda,rtol_xlmdabounce_harmonic_max,atol_pitch,rtol_pitch[KineticForces]wdfac,nufac,divxfacmagnetic_drift_factor,collisionality_factor,divxi_factor[KineticForces]f0type"jkp""park"[SLAYER]dc_type,dr_val,dgeo_val,mu_iD_c_type,D_R,D_geo(as in the SLAYER HDF5 outputs),ion_mass[SLAYER]D_c_type"rfitzp""fitzpatrick"[Wall]astandoff_fraction(conformal, dee) orminor_radius(elliptical, mod_dee)[Wall]aw,bw,cw,dw,twhalf_thickness,elongation,center_offset,triangularity,corner_sharpness[SOL_INPUT]eelongation[LAR_INPUT],[TJ_ANALYTIC_INPUT]lar_r0,lar_a,mtaur0,a,mtheta[TJ_ANALYTIC_INPUT]qc,pc,muq0,p0,pressure_peaking[[ForcingTerms.coil_set]]xnom,ynom,znomrotation_center_x,_y,_z[[ForcingTerms.coil_set]]ncoil_gen,nsec_genn_coils(shared with helical),points_per_coiluse_galgrid,nstep,diagnose_ca,diagnoseandksingwere never read or only half-implemented; they join the existing deprecated-key lists, so they are dropped with a warning. Unknown[[ForcingTerms.coil_set]]keys are now an error instead of being ignored.Closes #287.
What changed
psilow/psihigh,qlow/qhigh,mpsi,mtheta,newq0,singfac_min).dc_type/dr_val, the Wall shape formulas, KineticForces kernels); only the user-facing config fields change.fgar_flag…), which need a redesign rather than renames, and thegal_*Galerkin knobs.Regression report
Run at
4e6626a30(008edd9bconly fixes two test lines after it), 8 cases,develop(ea8bfc960) vs branch:The flagged
SLAYER γ_Hzis run-to-run noise in develop itself: two runs ofea8bfc960gave 191.711 and 191.478 Hz for the 2/1 root, and the branch runs land on one of those two values. Full test suite passes at008edd9bc.Redo of the original branch (old head
cab894a00) on current develop. Develop had already replaceduse_parallel/use_riccatiwith its ownintegratorenum, so those rows are gone.🤖 Generated with Claude Code
https://claude.ai/code/session_01PSrf6JCViFfVzqzkQ66o6b