From da940c4a97a6a923d5a0c88734f7254f593cb07f Mon Sep 17 00:00:00 2001
From: Antonia Frank <antonia.frank@epfl.ch>
Date: Wed, 21 Aug 2024 17:55:56 +0200
Subject: [PATCH] Add mask for nans to interpos call in ids_summary since it
 made the interpolation fail

---
 matlab/TCV_IMAS/tcv_get_ids_summary.m | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/matlab/TCV_IMAS/tcv_get_ids_summary.m b/matlab/TCV_IMAS/tcv_get_ids_summary.m
index 7fc129ec..bda11cc2 100644
--- a/matlab/TCV_IMAS/tcv_get_ids_summary.m
+++ b/matlab/TCV_IMAS/tcv_get_ids_summary.m
@@ -234,9 +234,6 @@ global_quantities.r0.dim = [];global_quantities.r0.t=[]; global_quantities.r0.di
 global_quantities.r0.units = 'm';
 global_quantities.r0.data_fullpath = ['gdat(b0).r0'];
 global_quantities_desc.r0 = [params_eff.data_request ' ; ' global_quantities.r0.data_fullpath];
-% $$$ params_eff.data_request = 'tau_tot';
-% $$$ global_quantities.tau_energy = gdat(params_summary.shot,params_eff);
-% $$$ global_quantities_desc.tau_energy = [params_eff.data_request ' ; ' global_quantities.tau_energy.data_fullpath];
 params_eff.data_request = 'vloop';
 global_quantities.v_loop = gdat(params_summary.shot,params_eff);
 tensvloop=-1e3;
@@ -253,8 +250,12 @@ for i=1:numel(global_quantities_fieldnames)
   if ~any(strcmp(global_quantities_fieldnames{i},special_fields))
     if ~isstruct(ids_summary.global_quantities.(global_quantities_fieldnames{i}).value) && ...
         ~isempty(global_quantities.(global_quantities_fieldnames{i}).data)
-      ids_summary.global_quantities.(global_quantities_fieldnames{i}).value = interpos(21, ...
-          global_quantities.(global_quantities_fieldnames{i}).t,global_quantities.(global_quantities_fieldnames{i}).data, ...
+      % setup mask to get rid of nans
+      mask = ~isnan(global_quantities.(global_quantities_fieldnames{i}).data);
+      % interpolate quantity on ids_summary.time
+      ids_summary.global_quantities.(global_quantities_fieldnames{i}).value = ...
+        interpos(21,global_quantities.(global_quantities_fieldnames{i}).t(mask),...
+        global_quantities.(global_quantities_fieldnames{i}).data(mask), ...
           ids_summary.time);
       ids_summary.global_quantities.(global_quantities_fieldnames{i}).source = ['gdat request: ' global_quantities_desc.(global_quantities_fieldnames{i})];
     elseif ~isempty(global_quantities.(global_quantities_fieldnames{i}).data)
-- 
GitLab