HomeDocs-Technical WhitePaper39-EFT.WP.Plasma.Confinement v1.0

Chapter 15 — Data & Reproducibility (DataSpec / Methods.Repro)


I. Chapter Objectives & Structure

  1. Objective: Define the Plasma Confinement data contract, data/pipeline cards, and audit-trail exports; lock environments and equivalence thresholds so the equilibrium/stability/waves/GC/transport/edge chain across S20-/S30-/S40-/S50-/S60-/S70-/S80-/I10-/M10- is reproducible, auditable, and releasable under a unified data dialect.
  2. Structure: Data contract → Fields & templates → Pipeline card & env-lock → Repro workflow → Audit trail & release → Falsifiability → Compliance templates → Cross-chapter closure.
  3. Shared arrival-time dialect (two equivalent forms; path/measure explicit; record delta_form):
    • Constant-factored: T_arr = ( 1 / c_ref ) * ( ∫ n_eff d ell )
    • General: T_arr = ( ∫ ( n_eff / c_ref ) d ell )

II. Data Contract (Plasma increments)


III. Dataset Card (v1.0, Plasma fields)

Field

Req.

Notes

dataset_id / version / source

Unique / semver / `measurement

geometry/coils/binding

I10- artifacts & binding

equilibrium{psi,q}

GS solution & metric/grid refs

stability{δW_min,Δ',D_S,D_M}

Energy principle/tearing/local criteria

waves{n_eff,rays,alpha_abs,P_dep,T_arr}

Dispersion/rays/deposition/arrival

gc_nc{D_nc,χ_nc,J_bs}

Neoclassical coefficients

transport{D,χ,Γ,Q,Π_ψ}

Fluxes & closure outputs

edge_sol{profiles_1D,q_t,R,Y,L_z}

Edge/SOL & target heat flux

diagnostics{H_blocks,windows,AF/PF,Δt_sync}

Operators/windows/calibration

qa_gates

check_dim/power_closure/topology/stability/Tarr_dual

hashes/created_at/toolchain

✓/—/—

Integrity & traceability

Minimal template (copy-ready)

dataset_card:

dataset_id: "PC-DS-001"

version: "1.0.0"

source: "simulation"

geometry_ref: "GEOM-COIL-0001"

binding_ref: "I10-PC-0001"

equilibrium:

psi: "/eq/psi.nc"

q: "/eq/q.nc"

metrics: "/eq/coords_boozer.nc"

stability:

deltaW_min_J: 2.6e3

DeltaPrime: -0.4

D_S_profile: "/stab/DS.tbl"

D_M_profile: "/stab/DM.tbl"

waves:

n_eff_tbl: "/waves/n_eff.tbl"

rays_json: "/waves/rays.json"

alpha_abs: "/waves/alpha.tbl"

P_dep_Wm3: "/waves/Pdep.nc"

arrival:

form: "n_over_c" # or "one_over_c_times_n"

gamma: "explicit"

measure: "d_ell"

c_ref: 299792458.0

Tarr_s: 3.08e-06

u_Tarr_s: 9.0e-08

delta_form: "n_over_c"

gc_nc:

D_nc_m2s: "/nc/Dnc.tbl"

chi_nc_m2s: "/nc/Chinc.tbl"

J_bs_Am2: "/nc/Jbs.tbl"

transport:

D_m2s: "/trans/D.nc"

chi_m2s: "/trans/chi.nc"

fluxes: "/trans/fluxes.nc" # Γ, Q, Π_ψ

edge_sol:

s_grid_m: "/edge/s.npy"

profiles_1D: "/edge/profiles.nc"

q_t_MWm2: 7.3

R: 0.94

Y_tbl: "/impurity/Y.tbl"

Lz_tbl: "/impurity/Lz.tbl"

diagnostics:

H_blocks: [ "ECE_transfer", "Reflect_phase", "Mag_inversion", "IR_heatflux" ]

windows: "/diag/windows.yaml"

AF: "/cal/AF_antenna.yaml"

PF: "/cal/PF_probe.yaml"

dt_sync_s: 1.0e-08

qa_gates:

check_dim: "pass"

power_closure: "pass"

topology: "pass"

stability: {deltaW_min:">0", DeltaPrime:"<=0"}

Tarr_dual: {diff_s: 2.0e-08, u_Tarr_s: 9.0e-08, pass: true}

hashes:

files:

- {path:"/eq/psi.nc", sha256:"..."}

- {path:"/waves/Pdep.nc", sha256:"..."}

created_at: "2025-09-16T10:00:00Z"

toolchain: {simstack_plasma:"1.0.0", kernels:"0.9.3"}


IV. Pipeline Card (v1.0) & Env-Lock (v1.0)

pipeline_card:

pipeline_id: "PC-PIPE-001"

version: "1.0.0"

steps:

- {id:"i10_build", cmd:"i10_bind --geom GEOM-COIL-0001 --out /artifacts/i10.yaml"}

- {id:"gs", cmd:"solve_gs --binding /artifacts/i10.yaml --out /eq"}

- {id:"stability", cmd:"stab_energy --eq /eq --out /stab"}

- {id:"waves", cmd:"waves_run --eq /eq --disp /cfg/disp.json --out /waves"}

- {id:"gc_nc", cmd:"neoclassical --eq /eq --out /nc"}

- {id:"transport", cmd:"transport_run --eq /eq --nc /nc --out /trans"}

- {id:"edge_sol", cmd:"edge_sol --geom /artifacts/i10.yaml --out /edge"}

- {id:"synth", cmd:"synth_obs --H /cfg/H.yaml --windows /diag/windows.yaml --out /obs"}

- {id:"assim", cmd:"assimilate --R /cov/R.h5 --B /cov/B.h5 --obs /obs --out /assim"}

- {id:"qa", cmd:"qa_check --dataset /assim/dataset_card.yaml"}

- {id:"export", cmd:"export_cards --out /release"}

env_lock:

os: {name:"Ubuntu", version:"22.04"}

interpreter: {name:"Python", version:"3.11.6"}

packages:

- {name:"numpy", version:"1.26.4", hash:"sha256:..."}

- {name:"scipy", version:"1.13.1", hash:"sha256:..."}

- {name:"netCDF4",version:"1.6.5", hash:"sha256:..."}

container: {image:"registry/pc-simstack:1.0.0", digest:"sha256:..."}

hardware: {cpu:"x86_64", gpu:"none", ram_GB:64}

seeds: {global: 20250916}


V. Reproducibility Workflow (Methods.Repro, execution dialect)


VI. Audit Trail & Release

audit_manifest:

run_id: "RUN-PC-2025-09-16-001"

toolchain: {simstack_plasma:"1.0.0", kernels:"0.9.3"}

diffs: {params_changed:["closure.table","AF_update"], reason:"calibration refresh"}

seeds: {global: 20250916}

qa:

check_dim: "pass"

power_closure: "pass"

topology: "pass"

stability: "pass"

Tarr_dual: "pass"

logs: "/logs/run_001.txt"

release_manifest:

normative_refs: ["EFT.WP.Core.DataSpec v1.0","Methods.Repro v1.0"]

artifacts:

- "/release/dataset_card.yaml"

- "/release/pipeline_card.yaml"

- "/release/env_lock.yaml"

- ["/release/audit_manifest.yaml","/release/qa_report.json"]

hashes:

dataset_card: "sha256:..."

pipeline_card: "sha256:..."

env_lock: "sha256:..."

audit: "sha256:..."


VII. Falsifiability (Repro)

  1. R-PC-1 (Arrival mismatch): |T_arr(n_over_c) − T_arr(one_over_c_times_n)| > u(T_arr).
  2. R-PC-2 (Power/topology/stability failure): any hard gate fails.
  3. R-PC-3 (Equivalence failure): reproduced vs published curves exceed gates:
    • ε_psi = max |psi^{rep} − psi^{pub}| / |psi^{pub}| > ε_psi_gate
    • ε_q = max |q^{rep} − q^{pub}| > ε_q_gate
    • ε_Pdep = |∫P_dep^{rep} − ∫P_dep^{pub}| / ∫P_dep^{pub} > ε_Pdep_gate
    • ε_Tarr = max |T_arr^{rep} − T_arr^{pub}| > ε_Tarr_gate
    • ε_Dχ = max |log(D,χ)^{rep} − log(D,χ)^{pub}| > ε_Dχ_gate
    • ε_qt = max |q_t^{rep} − q_t^{pub}| / q_t^{pub} > ε_qt_gate
  4. R-PC-4 (Env not reproducible/audit missing): cannot rebuild env_lock or missing key hashes/logs.
  5. R-PC-5 (Operator/covariance mismatch): version/dimension mismatch in H/R/B causes QA failure.

VIII. Compliance Bundle (copy-ready)

Equivalence & consistency checks (pseudocode)

# 1) Two-dialect arrival

T1 = (1/c_ref) * trapz(n_eff*dl)

T2 = trapz((n_eff/c_ref)*dl)

assert abs(T1 - T2) <= u_Tarr

# 2) Power closure

Pdep = integrate(P_dep_grid)

assert abs(P_in - P_ref - P_rad - P_wall - Pdep) <= u_power

# 3) Topology/Stability

assert max_abs(q_rep - q_pub) <= q_gate and max_rel(psi_rep, psi_pub) <= eps_psi_gate

assert deltaW_min > 0 and DeltaPrime <= 0

# 4) Transport/Neoclassical

assert r2_score(log(D_rep), log(D_pub)) >= R2_gate

assert r2_score(log(chi_rep), log(chi_pub)) >= R2_gate

# 5) Edge/SOL target heat flux

assert max_rel(qt_rep, qt_pub) <= eps_qt_gate

Suggested thresholds (dataset-specific)

equivalence_gates:

eps_psi_gate: 0.03

eps_q_gate: 0.05

eps_Pdep_gate: 0.05

eps_Tarr_gate: 0.05e-6

eps_Dχ_gate: 0.10

eps_qt_gate: 0.10

R2_gate: 0.85

u_power: 0.07*Pin


IX. Cross-Chapter Links & Closure


Copyright & License (CC BY 4.0)

Copyright: Unless otherwise noted, the copyright of “Energy Filament Theory” (text, charts, illustrations, symbols, and formulas) belongs to the author “Guanglin Tu”.
License: This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0). You may copy, redistribute, excerpt, adapt, and share for commercial or non‑commercial purposes with proper attribution.
Suggested attribution: Author: “Guanglin Tu”; Work: “Energy Filament Theory”; Source: energyfilament.org; License: CC BY 4.0.

First published: 2025-11-11|Current version:v5.1
License link:https://creativecommons.org/licenses/by/4.0/