Skip to content

Add real equilibrium (LCFS / flux-surface) plotting to the Sensors view #43

Description

@matt-pharr

The Sensors view had a synthetic LCFS/flux-surface overlay (mockEquilibrium)
that produced garbage; it's been removed. The overlay now draws only a real
backend equilibrium node — absent today, so nothing is shown (no plot trace, no
legend entry). The EquilibriumNode contract, the SensorsTab overlay code, the
time cursor, and the "equilibrium" toggle are all still wired — this issue is just
to supply the real data.

Options to source it from MDS (per shot, per timestep)

  • Full EFIT: fetch per-timestep EFIT ψ_N(R,Z) + boundary and serve as the
    equilibrium node (richest; heaviest).
  • Shape channels (lighter): DIII-D has channels for major/minor radius,
    elongation, triangularity (upper/lower), squareness, etc., and possibly the LCFS
    boundary itself. Reconstruct an approximate boundary from these for the overlay.

Wiring already in place

  • EquilibriumNode kind in contract.ts.
  • SensorsTab renders equilibrium.{r,z,psi_n,boundary,axis,levels} + time slider.
  • Just needs a real equilibrium builder in the service (time-parametrized).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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