From 98f78fb7f43dd7df081dea169b66d7bf44abf951 Mon Sep 17 00:00:00 2001
From: Olivier Sauter <olivier.sauter@epfl.ch>
Date: Thu, 14 Jun 2018 07:41:14 +0000
Subject: [PATCH] small bugs fixed and use spline interpolation for
 rho(Thomson) to maintain precision

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@10170 d63d8f72-b253-0410-a779-e742ad2e26cf
---
 crpptbx/JET/gdat_jet.m | 7 ++++++-
 crpptbx/TCV/gdat_tcv.m | 7 +++----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/crpptbx/JET/gdat_jet.m b/crpptbx/JET/gdat_jet.m
index e5eccc52..5a17ffba 100644
--- a/crpptbx/JET/gdat_jet.m
+++ b/crpptbx/JET/gdat_jet.m
@@ -1349,8 +1349,13 @@ elseif strcmp(mapping_for_jet.method,'switchcase')
       params_eff.data_request = {'ppf','bolo','tobu'};
       rad_bulk2=gdat_jet(shot,params_eff);
       gdat_data.rad_bulk_u = rad_bulk2.data;
-      gdat_data.rad_bulk_avg = 0.5.*(rad_bulk1.data+rad_bulk2.data);
       gdat_data.rad_bulk_t = rad_bulk1.t;
+      if numel(rad_bulk1.data) == numel(rad_bulk2.data)
+        gdat_data.rad_bulk_avg = 0.5.*(rad_bulk1.data+rad_bulk2.data);
+      else
+        abc=interpos(rad_bulk2.t,rad_bulk2.data,gdat_data.rad_bulk_t,-0.1);
+        gdat_data.rad_bulk_avg = 0.5.*(rad_bulk1.data+abc);
+      end
     end
     gdat_data.t = rad.t;
     gdat_data.dim{1} = gdat_data.t;
diff --git a/crpptbx/TCV/gdat_tcv.m b/crpptbx/TCV/gdat_tcv.m
index 5623d3e2..be0d65bc 100644
--- a/crpptbx/TCV/gdat_tcv.m
+++ b/crpptbx/TCV/gdat_tcv.m
@@ -1148,8 +1148,8 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         itpsitdi=iround_os(psitdi.dim{3},gdat_data.t(it));
         psirz=psitdi.data(:,:,itpsitdi);
         %psiscatvol0=interp2(rmesh,zmesh,psirz',0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),'spline'); % faster with interpos
-        %psiscatvol0=interpos2Dcartesian(rmesh,zmesh,psirz,0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),-0.1,-0.1);
-        psiscatvol0=interp2(rmesh,zmesh,psirz',0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),'linear');
+        psiscatvol0=interpos2Dcartesian(rmesh,zmesh,psirz,0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),-0.1,-0.1);
+        %psiscatvol0=interp2(rmesh,zmesh,psirz',0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),'linear');
         psiscatvol.data(it,:)=psiscatvol0;
         % since take closest psi(R,Z) from psitdi, should also take closest for psi_max and not interpolating
         itpsiaxis = iround_os(psiaxis.dim{1},gdat_data.t(it));
@@ -1380,7 +1380,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
     else
       for i=1:length(gdat_data.gdat_params.source)
         gdat_data.gdat_params.source{i} = lower(gdat_data.gdat_params.source{i});
-        if ~any(strmatch(gdat_data.gdat_params.sourc{i},elower(sources_avail)))
+        if ~any(strmatch(gdat_data.gdat_params.source{i},lower(sources_avail)))
           if gdat_data.gdat_params.nverbose>=1
             warning(['source = ' gdat_data.gdat_params.source{i} ' not expected with data_request= ' data_request_eff])
           end
@@ -1390,7 +1390,6 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
     % always start from ohmic so can use this time as base time since should yield full shot
     % get ohmic power simply from vloop*Ip (minus sign for TCV), neglect dWp/dt could add it later, see chie_tcv_to_nodes
     % thus should take it from conf if present
-    
     mdsopen(shot);
     ptot_ohm = tdi('\results::conf:ptot_ohm');
     if ~isempty(ptot_ohm.data) && ~ischar(ptot_ohm.data) && ~isempty(ptot_ohm.dim)
-- 
GitLab