From f5e764f72b667de3badd3306e46d65d0cbb33234 Mon Sep 17 00:00:00 2001 From: Calin Date: Tue, 6 Oct 2026 12:35:03 -0400 Subject: [PATCH] Equilibrium - BUGFIX! - Place read_imas profiles on the stored psi grid --- src/Equilibrium/ReadEquilibrium.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Equilibrium/ReadEquilibrium.jl b/src/Equilibrium/ReadEquilibrium.jl index 755a91aca..cfaf05532 100644 --- a/src/Equilibrium/ReadEquilibrium.jl +++ b/src/Equilibrium/ReadEquilibrium.jl @@ -492,7 +492,9 @@ function read_imas(config::EquilibriumConfig, dd) ip_sign = ip_imas == 0 ? 1 : Int(sign(ip_imas)) nw = length(psi_1d) - psi_norm_grid = range(0.0, 1.0; length=nw) + psi_norm_grid = (psi_1d .- psi_axis) ./ (psi_boundary - psi_axis) + @assert all(diff(psi_norm_grid) .> 0) "read_imas: profiles_1d.psi must increase strictly from psi_axis to psi_boundary" + @assert 0 <= psi_norm_grid[1] && psi_norm_grid[end] <= 1 "read_imas: profiles_1d.psi must lie between psi_axis and psi_boundary" # Build equilibrium source terms for spline interpolation # abs(f_1d): F(ψ) can be negative depending on toroidal field direction convention;