From 4957ac83838f0faf1e8a9ca60f0a0698d27e5c7b Mon Sep 17 00:00:00 2001
From: Antonia Frank <antonia.frank@epfl.ch>
Date: Fri, 11 Oct 2024 10:16:58 +0200
Subject: [PATCH] Update mhd from gdat_tcv

---
 matlab/TCV/gdat_tcv.m | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m
index 17933cee..95877123 100644
--- a/matlab/TCV/gdat_tcv.m
+++ b/matlab/TCV/gdat_tcv.m
@@ -2076,6 +2076,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
       n3=tdi('abs(mhdmode("LFS",3,1))');
       gdat_data.data_fullpath='abs(mhdmode("LFS",n,1));% for 1, 2, 3';
     else
+      % handle source input
       if isfield(gdat_data.gdat_params,'source') && ~isempty(gdat_data.gdat_params.source)
         if ~any(contains(mhd_source_list,lower(gdat_data.gdat_params.source)))
           t1=sprintf('bad source for mhd: ''%s'', should be either ',gdat_data.gdat_params.source);
@@ -2085,24 +2086,27 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
           return
         end
       else
+        % if no source input decide source based on average z_axis
         z_axis=gdat_tcv([],'z_axis');
         z_axis_av = 0.;
-        if numel(z_axis.data > 10) && isnumeric(z_axis.data)
-          z_axis_av = nanmean(z_axis.data([round(numel(z_axis.data)/3):round(numel(z_axis.data)*0.85)]));
+        if numel(z_axis.data) > 10 && isnumeric(z_axis.data)
+          z_axis_av = nanmean(z_axis.data(round(numel(z_axis.data)/3):round(numel(z_axis.data)*0.85)));
         end
         if z_axis_av > 0.12
-          gdat_data.gdat_params.source = '23';
+          gdat_data.gdat_params.source = '23'; % zaxis +23cm
         elseif z_axis_av < -0.12
-          gdat_data.gdat_params.source = '-23';
+          gdat_data.gdat_params.source = '-23'; % zaxis -23cm
         else
-          gdat_data.gdat_params.source = '0';
+          gdat_data.gdat_params.source = '0'; % zaxis = 0
         end
         t1=sprintf('source set to ''%s'', can be ',gdat_data.gdat_params.source);
         t2=sprintf('''%s'', ',mhd_source_list{1:end-1});
         t3=sprintf('or ''%s''',mhd_source_list{end});
-        disp(sprintf('%s %s %s',t1,t2,t3))
+        fprintf('%s %s %s',t1,t2,t3)
       end
-      if length(gdat_data.gdat_params.source)>=2 && strcmp(gdat_data.gdat_params.source(1:2),'23')
+
+      % load data dependent on source
+      if numel(gdat_data.gdat_params.source)>=2 && strcmp(gdat_data.gdat_params.source(1:2),'23')
         aaLFSz23_sect3=tdi('\atlas::DT196_MHD_001:channel_067');
         aaLFSz23_sect11=tdi('\atlas::DT196_MHD_001:channel_075');
         n1 = aaLFSz23_sect3;
@@ -2135,14 +2139,14 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
           % sect 11 180deg from sec 3
           aaHFSz0_sect3=tdi('\atlas::DT196_MHD_002:channel_034');
           aaHFSz0_sect11=tdi('\atlas::DT196_MHD_002:channel_038');
-          gdat_data.n1_HFS=aaHFSz0_sect11;
+          gdat_data.n1_HFS=aaHFSz0_sect3;
           gdat_data.n1_HFS.data = gdat_data.n1_HFS.data - aaHFSz0_sect11.data;
-          gdat_data.n2_HFS=aaHFSz0_sect11;
+          gdat_data.n2_HFS=aaHFSz0_sect3;
           gdat_data.n2_HFS.data = gdat_data.n2_HFS.data + aaHFSz0_sect11.data;
           gdat_data.data_fullpath=['\atlas::DT196_MHD_001:channel_083 -+ \atlas::DT196_MHD_001:channel_091 for n=1,2, LFS_sect3/11, z=0cm; _HFS' ...
                     ' same for HFS: MHD_002:channel_034-+MHD_002:channel_038'];
         end
-      elseif length(gdat_data.gdat_params.source)>=3 && strcmp(gdat_data.gdat_params.source(1:3),'-23')
+      elseif numel(gdat_data.gdat_params.source)>=3 && strcmp(gdat_data.gdat_params.source(1:3),'-23')
         aaLFSzm23_sect3=tdi('\atlas::DT196_MHD_002:channel_003');
         aaLFSzm23_sect3.data = - aaLFSzm23_sect3.data; % opposite polarity
         aaLFSzm23_sect11=tdi('\atlas::DT196_MHD_002:channel_011');
@@ -2153,7 +2157,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
         % n3=n1;
         gdat_data.data_fullpath=['\atlas::DT196_MHD_002:channel_003 -+ \atlas::DT196_MHD_002:channel_011 for n=1,2,' ...
             'LFS_sect_3/11, z=-23cm'];
-      elseif strcmp(lower(gdat_data.gdat_params.source(1:4)),'ltcc')
+      elseif strcmpi(gdat_data.gdat_params.source(1:4),'ltcc')
         switch lower(gdat_data.gdat_params.source)
           case {'ltcc', 'ltcc-dbpol'}
             % since other probes measure dbpol make "ltcc" default to ltcc-dbpol
@@ -2166,8 +2170,8 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
             aaLTCC=tdi('\atlas::dt132_ltcc_001:channel_003');
             gdat_data.data_fullpath='ltcc-dbtor: \atlas::dt132_ltcc_001:channel_003';
           otherwise
-            error(sprintf('case %s not known, choose between ltcc-dbpol(=ltcc), ltcc-dbrad or ltcc-dbtor', ...
-          lower(gdat_data.gdat_params.source)));
+            error('case %s not known, choose between ltcc-dbpol(=ltcc), ltcc-dbrad or ltcc-dbtor', ...
+          lower(gdat_data.gdat_params.source));
         end
         n1 = aaLTCC;
         n2.data = [];
-- 
GitLab