Skip to content

Rename remaining HDF5 groups to CamelCase + add CLAUDE.md naming convention #226

@logan-nc

Description

@logan-nc

Context

PR #225 restructured the edge_scan/ and vacuum/ groups of gpec.h5 into the new CamelCase schema:

  • edge_scan/*EdgeScan/* (power-norm default) and EdgeScan/XiNorm/* (ξ-space for benchmarking)
  • vacuum/ split into FreeBoundaryStability/ (energy matrices + eigenmode energies) and SurfaceGeometries/{Plasma,Wall}/{x,y,z}

The remaining top-level groups are still lowercase/abbreviated. They should be renamed for a consistent CamelCase schema.

Proposed renames

Current Proposed
equil/ Equilibrium/
info/ Info/
input/ Input/
integration/ EulerLagrangeSolutions/
kinetic/ Kinetic/
locstab/ LocalStability/
matrices/ Matrices/
singular/ SingularSurfaces/
splines/ Splines/

Already migrated (no change needed here): EdgeScan/, FreeBoundaryStability/, SurfaceGeometries/.

Scope of work

  1. Update the writer in src/GeneralizedPerturbedEquilibrium.jl to emit the new group names.
  2. Update every reader:
    • src/Analysis/ForceFreeStates.jl (stability plots)
    • src/Analysis/* (other analysis modules)
    • benchmarks/*.jl
    • test/runtests_fullruns.jl
    • regression-harness/cases/*.toml
    • scripts/*.jl
  3. Rebaseline any hard-coded numerical expectations if they were tied to old paths.
  4. Add a new "HDF5 naming conventions" section to CLAUDE.md so future Claude Code sessions emit consistent CamelCase group names from the start. Recommended content:
    • Top-level groups: CamelCase singular or plural noun (e.g. FreeBoundaryStability, SingularSurfaces)
    • Field names: snake_case (e.g. total_energy, eigenmode_energies)
    • Reserved subgroup names: XiNorm/ for ξ-space counterparts of Φ-space (power-norm) defaults
    • Physical point clouds live under SurfaceGeometries/<SurfaceName>/{x,y,z}
  5. Regenerate regression baselines on develop after the merge.

Why

The mixed schema (EdgeScan/ next to equil/ and integration/) is confusing for anyone inspecting gpec.h5. Tackling the remaining groups in a single focused PR keeps the migration easy to review and limits the blast radius of downstream tool breakage.

The CLAUDE.md addition is the key follow-up — without a codified convention, these renames will drift again the next time a new group is added.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions