From 4f61df785e2fb39033703152b83db5507b9a904c Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Tue, 26 Mar 2019 13:35:47 +0000 Subject: [PATCH] fix profiles_1d psi git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@11645 d63d8f72-b253-0410-a779-e742ad2e26cf --- crpptbx/AUG_IMAS/aug_get_ids_equilibrium.m | 7 ++++--- crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/crpptbx/AUG_IMAS/aug_get_ids_equilibrium.m b/crpptbx/AUG_IMAS/aug_get_ids_equilibrium.m index 710a5c3d..e931cbb3 100644 --- a/crpptbx/AUG_IMAS/aug_get_ids_equilibrium.m +++ b/crpptbx/AUG_IMAS/aug_get_ids_equilibrium.m @@ -247,6 +247,7 @@ profiles_1d.f = gdat(params_equilibrium.shot,'rbphi_rho','machine',machine); profiles_1d.phi = gdat(params_equilibrium.shot,'phi_tor','machine',machine); profiles_1d.pressure = gdat(params_equilibrium.shot,'pressure','machine',machine); % psi = gdat(params_equilibrium.shot,'psi_rho','machine',machine); % (could take from .x of any like rhotor and psi_axis, psi_edge from global_quantities) +profiles_1d.psi.data = temp_2d.equil.psi; profiles_1d.q = gdat(params_equilibrium.shot,'q_rho','machine',machine); profiles_1d.rho_tor = gdat(params_equilibrium.shot,'rhotor','machine',machine); %rho_tor_norm = gdat(params_equilibrium.shot,'rhotor_norm','machine',machine); % from rho_tor @@ -265,6 +266,7 @@ profiles_1d.volume = gdat(params_equilibrium.shot,'volume_rho','machine',machine profiles_1d_fieldnames = fieldnames(profiles_1d); special_fields = {'geometric_axis', 'rho_tor_norm', 'psi'}; % fields needing non-automatic treatments +special_fields = {'geometric_axis', 'rho_tor_norm'}; % fields needing non-automatic treatments for it=1:length(ids_equilibrium.time) for i=1:length(profiles_1d_fieldnames) if ~any(strcmp(profiles_1d_fieldnames{i},special_fields)) @@ -280,15 +282,14 @@ for it=1:length(ids_equilibrium.time) end end end - % special cases nrho = length(profiles_1d.rho_tor.x); ntime = length(temp.psi_axis.data); for it=1:length(ids_equilibrium.time) ids_equilibrium.time_slice{it}.profiles_1d.rho_tor_norm = ids_equilibrium.time_slice{it}.profiles_1d.rho_tor./ ... ids_equilibrium.time_slice{it}.profiles_1d.rho_tor(end); - ids_equilibrium.time_slice{it}.profiles_1d.psi = (1-profiles_1d.rho_tor.x.^2).*temp.psi_axis.data(it) + ... - global_quantities.psi_boundary.data(it); + % ids_equilibrium.time_slice{it}.profiles_1d.psi = temp.psi_axis.data(it) + ... + % profiles_1d.rho_tor.x(:,it).^2.*(global_quantities.psi_boundary.data(it)-temp.psi_axis.data(it)); end % diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m b/crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m index 4a35c83c..cff57510 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m @@ -241,8 +241,8 @@ ntime = length(temp.psi_axis.data); for it=1:length(ids_equilibrium.time) ids_equilibrium.time_slice{it}.profiles_1d.rho_tor_norm = ids_equilibrium.time_slice{it}.profiles_1d.rho_tor./ ... ids_equilibrium.time_slice{it}.profiles_1d.rho_tor(end); - ids_equilibrium.time_slice{it}.profiles_1d.psi = (1-profiles_1d.rho_tor.x.^2).*temp.psi_axis.data(it) + ... - global_quantities.psi_boundary.data(it); + ids_equilibrium.time_slice{it}.profiles_1d.psi = temp.psi_axis.data(it) + ... + profiles_1d.rho_tor.x.^2.*(global_quantities.psi_boundary.data(it)-temp.psi_axis.data(it)); end % -- GitLab