Home / Docs-Technical WhitePaper / 39-EFT.WP.Plasma.Confinement v1.0
Appendix C. Dataset Cards & Pipeline Cards
I. Purpose & Coverage (Mandatory)
- Define the Plasma Confinement Dataset Card (v1.0) and Pipeline Card (v1.0) fields, templates, and checks, covering the full flow: I10 binding → S30 equilibrium → S40 stability → S50 waves/deposition/arrival → S60 GC/neoclassical → S70 transport closures → S80 Edge/SOL → M10 synthetic diagnostics & assimilation → QA → release.
- Unified arrival 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 )
- SI units. Hard release gates: check_dim=pass, power closure, topology consistency, stability gates, and two-dialect T_arr agreement.
II. Naming & Versioning
- dataset_id / pipeline_id: PC-[topic]-[index] (e.g., PC-DS-001, PC-PIPE-001).
- Versioning: semver (e.g., 1.0.0); attach a sha256 to each artifact and major input.
- Fingerprints: created_at (ISO 8601), toolchain, env_lock.
III. Dataset Card (v1.0, Plasma field set)
Field | Req. | Type | Notes |
|---|---|---|---|
dataset_id / version / source | ✓ | str | Unique / semver / `measurement |
geometry/coils/binding | ✓ | obj | I10 binding & references |
equilibrium{psi,q,metrics} | ✓ | obj | GS solution & coordinates/metrics |
stability{δW_min,Δ',D_S,D_M} | ✓ | obj | Energy principle / tearing / local indicators |
waves{n_eff,rays,alpha_abs,P_dep,arrival} | ✓ | obj | Dispersion / rays / deposition / arrival |
gc_nc{D_nc,χ_nc,J_bs} | — | obj | Neoclassical coefficients |
transport{D,χ,fluxes(Γ,Q,Π_ψ)} | ✓ | obj | Closures & fluxes |
edge_sol{profiles_1D,q_t,R,Y,L_z} | — | obj | Edge/SOL & target heat flux |
diagnostics{H_blocks,windows,AF/PF,Δt_sync} | ✓ | obj | Operators / spectral windows / calibration |
qa_gates | ✓ | obj | Results for check_dim/power_closure/topology/stability/Tarr_dual |
hashes/created_at/toolchain | ✓/—/— | obj | 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"
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)
- Standard stages: build(I10) → GS(S30) → stability(S40) → waves(S50) → gc_nc(S60) → transport(S70) → edge_sol(S80) → synth_obs+assim(M10) → qa → export.
- Env-lock: record OS/interpreter/dependencies/container digest & hardware; unified units; provide RNG seeds.
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. QA Gates & Consistency Checks (unified record)
qa_gates:
check_dim: "pass"
power_closure: "pass"
topology: "pass" # q(ψ)/LCFS/X consistent
stability:
deltaW_min: ">0"
DeltaPrime: "<=0"
DS_DM: "both>0"
Tarr_dual:
diff_s: 2.0e-08
u_Tarr_s:9.0e-08
pass: true
VI. Audit Trail & Release Manifest (templates)
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"
hashes:
dataset_card: "sha256:..."
pipeline_card: "sha256:..."
env_lock: "sha256:..."
audit: "sha256:..."
VII. Equivalence & Repro Metrics (thresholds & pseudocode)
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
# 1) Two-dialect T_arr
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
VIII. Suggested Release Directory Layout
/release/
dataset_card.yaml
pipeline_card.yaml
env_lock.yaml
audit_manifest.yaml
qa_report.json
artifacts/
i10_binding.yaml
eq/
psi.nc
q.nc
waves/
n_eff.tbl
rays.json
alpha.tbl
Pdep.nc
nc/
Dnc.tbl
Chinc.tbl
Jbs.tbl
trans/
D.nc
chi.nc
fluxes.nc
edge/
s.npy
profiles.nc
IX. Error Codes (Unified Returns)
errors:
E_BAD_UNITS: "Unit or dimensional mismatch"
E_POWER_CLOSURE: "Power closure failure"
E_TOPOLOGY_FAIL: "Topology consistency failure (LCFS/X/separatrix)"
E_STABILITY_FAIL: "Stability gates not satisfied (δW/Δ'/D_S/D_M)"
E_TARR_MISMATCH: "Two-dialect T_arr mismatch"
E_EQUIV_FAIL: "Equivalence thresholds not met"
E_ENVLOCK_FAIL: "Env-lock reconstruction failed or fingerprint mismatch"
E_QA_FAIL: "QA gate failed"
X. Compliance Bundle (one-shot, copy-ready)
dataset_card: { ... per §III template ... }
pipeline_card: { ... per §IV template ... }
env_lock: { ... per §IV template ... }
qa_gates: { ... per §V template ... }
audit_manifest: { ... per §VI template ... }
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"]
hashes: {dataset_card:"sha256:...", pipeline_card:"sha256:...", env_lock:"sha256:...", audit:"sha256:..."}
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"}
XI. Release Hard Gates (Summary)
gates passed; two-dialect T_arr agreement; all equivalence thresholds ε_psi/ε_q/ε_Pdep/ε_Tarr/ε_Dχ/ε_qt satisfied; dataset_card/pipeline_card/env_lock/audit_manifest complete with sha256.stability consistent; topology satisfied; power closurecheck_dim=pass;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/