From d13d7d9293f3713b6fc58a0afbdb0099578e52a6 Mon Sep 17 00:00:00 2001
From: Olivier Sauter <olivier.sauter@epfl.ch>
Date: Wed, 30 Jan 2019 15:56:10 +0000
Subject: [PATCH] add profiles_1d

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@11355 d63d8f72-b253-0410-a779-e742ad2e26cf
---
 .../get_ids_equilibrium_fixed_boundary.m      | 27 ++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/crpptbx/TCV_IMAS/get_ids_equilibrium_fixed_boundary.m b/crpptbx/TCV_IMAS/get_ids_equilibrium_fixed_boundary.m
index 9223e759..02018326 100644
--- a/crpptbx/TCV_IMAS/get_ids_equilibrium_fixed_boundary.m
+++ b/crpptbx/TCV_IMAS/get_ids_equilibrium_fixed_boundary.m
@@ -268,4 +268,29 @@ profiles_1d.rho_volume_norm = gdat(params_equilibrium.shot,'rhovol');
 % triangularity_upper = gdat(params_equilibrium.shot,'triangularity_upper');
 profiles_1d.volume = gdat(params_equilibrium.shot,'volume_rho');
 
-keyboard
+profiles_1d_fieldnames = fieldnames(profiles_1d);
+special_fields = {'geometric_axis', 'rho_tor_norm', 'psi'}; % 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))
+      if ~isstruct(ids_equilibrium.time_slice{it}.profiles_1d.(profiles_1d_fieldnames{i}))
+        ids_equilibrium.time_slice{it}.profiles_1d.(profiles_1d_fieldnames{i}) = ...
+            profiles_1d.(profiles_1d_fieldnames{i}).data(:,it);
+      else
+        special_fields{end+1} = profiles_1d_fieldnames{i};
+      end
+    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 = ...
+      reshape(1-profiles_1d.rho_tor.x.^2,nrho,1)*reshape(temp.psi_axis.data,1,ntime) + ...
+      ones(nrho,1)*reshape(global_quantities.psi_boundary.data,1,ntime);
+end
+
-- 
GitLab