diff --git a/crpptbx/TCV/gdat_tcv.m b/crpptbx/TCV/gdat_tcv.m
index d76e045f789735223693812df8e54e6f6771a588..342257957c831897ae9263a6a5df44385f223a66 100644
--- a/crpptbx/TCV/gdat_tcv.m
+++ b/crpptbx/TCV/gdat_tcv.m
@@ -802,45 +802,45 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
       else
         gdat_data.gdat_params.source = '23';
       end      
-      if strcmp(gdat_data.gdat_params.source(1:2),'23')
+      if length(gdat_data.gdat_params.source)>=2 && strcmp(gdat_data.gdat_params.source(1:2),'23')
         aaLFSz23_sect3=tdi('\atlas::DT196_MHD_001:channel_067');
-        aaHFSz23_sect3=tdi('\atlas::DT196_MHD_002:channel_018');
+        aaLFSz23_sect11=tdi('\atlas::DT196_MHD_001:channel_075');
         n1 = aaLFSz23_sect3;
-        n1.data = aaLFSz23_sect3.data - aaHFSz23_sect3.data;
+        n1.data = aaLFSz23_sect3.data - aaLFSz23_sect11.data;
         n2 = aaLFSz23_sect3;
-        n2.data = aaLFSz23_sect3.data + aaHFSz23_sect3.data;
+        n2.data = aaLFSz23_sect3.data + aaLFSz23_sect11.data;
         n3=n1;
-        gdat_data.data_fullpath='\atlas::DT196_MHD_001:channel_067 -+ \atlas::DT196_MHD_002:channel_018 for n=1,2, sector3, z=23cm';
+        gdat_data.data_fullpath='\atlas::DT196_MHD_001:channel_067 -+ \atlas::DT196_MHD_001:channel_075 for n=1,2, LFS_sect_3/11, z=23cm';
         if strcmp(gdat_data.gdat_params.source,'23full')
-          % sect 11 180deg from sec 3
-          aaLFSz23_sect11=tdi('\atlas::DT196_MHD_001:channel_075');
+          % HFS from sec 3 and 11
+          aaHFSz23_sect3=tdi('\atlas::DT196_MHD_002:channel_018');
           aaHFSz23_sect11=tdi('\atlas::DT196_MHD_002:channel_022');
-          gdat_data.n1_11=aaLFSz23_sect11;
-          gdat_data.n1_11.data = gdat_data.n1_11.data - aaHFSz23_sect11.data;
-          gdat_data.n2_11=aaLFSz23_sect11;
-          gdat_data.n2_11.data = gdat_data.n2_11.data + aaHFSz23_sect11.data;
-          gdat_data.data_fullpath=['\atlas::DT196_MHD_001:channel_067 -+ \atlas::DT196_MHD_002:channel_018 for n=1,2, sector3, z=23cm; _11' ...
-                    ' same for sector 11: MHD_001:channel_075-+MHD_002:channel_022'];
+          gdat_data.n1_HFS=aaHFSz23_sect3;
+          gdat_data.n1_HFS.data = gdat_data.n1_HFS.data - aaHFSz23_sect11.data;
+          gdat_data.n2_HFS=aaHFSz23_sect3;
+          gdat_data.n2_HFS.data = gdat_data.n2_HFS.data + aaHFSz23_sect11.data;
+          gdat_data.data_fullpath=['\atlas::DT196_MHD_001:channel_067 -+ \atlas::DT196_MHD_001:channel_075 for n=1,2, LFS_sect_3/11, z=23cm; _HFS' ...
+                    ' same for sector HFS: MHD_002:channel_018-+MHD_002:channel_022'];
         end
       elseif strcmp(gdat_data.gdat_params.source(1),'0')
         aaLFSz0_sect3=tdi('\atlas::DT196_MHD_001:channel_083');
-        aaHFSz0_sect3=tdi('\atlas::DT196_MHD_002:channel_034');
+        aaLFSz0_sect11=tdi('\atlas::DT196_MHD_001:channel_091');
         n1 = aaLFSz0_sect3;
-        n1.data = aaLFSz0_sect3.data - aaHFSz0_sect3.data;
+        n1.data = aaLFSz0_sect3.data - aaLFSz0_sect11.data;
         n2 = aaLFSz0_sect3;
-        n2.data = aaLFSz0_sect3.data + aaHFSz0_sect3.data;
+        n2.data = aaLFSz0_sect3.data + aaLFSz0_sect11.data;
         n3=n1;
-        gdat_data.data_fullpath='\atlas::DT196_MHD_001:channel_083 -+ \atlas::DT196_MHD_002:channel_034 for n=1,2, sector3, z=0cm';
+        gdat_data.data_fullpath='\atlas::DT196_MHD_001:channel_083 -+ \atlas::DT196_MHD_001:channel_091 for n=1,2, LFS_sect_3/11, z=0cm';
         if strcmp(gdat_data.gdat_params.source,'0full')
           % sect 11 180deg from sec 3
-          aaLFSz0_sect11=tdi('\atlas::DT196_MHD_001:channel_091');
+          aaHFSz0_sect3=tdi('\atlas::DT196_MHD_002:channel_034');
           aaHFSz0_sect11=tdi('\atlas::DT196_MHD_002:channel_038');
-          gdat_data.n1_11=aaLFSz0_sect11;
-          gdat_data.n1_11.data = gdat_data.n1_11.data - aaHFSz0_sect11.data;
-          gdat_data.n2_11=aaLFSz0_sect11;
-          gdat_data.n2_11.data = gdat_data.n2_11.data + aaHFSz0_sect11.data;
-          gdat_data.data_fullpath=['\atlas::DT196_MHD_001:channel_083 -+ \atlas::DT196_MHD_002:channel_034 for n=1,2, sector3, z=0cm; _11' ...
-                    ' same for sector 11: MHD_001:channel_091-+MHD_002:channel_038'];
+          gdat_data.n1_HFS=aaHFSz0_sect11;
+          gdat_data.n1_HFS.data = gdat_data.n1_HFS.data - aaHFSz0_sect11.data;
+          gdat_data.n2_HFS=aaHFSz0_sect11;
+          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
 
@@ -1301,7 +1301,14 @@ elseif strcmp(mapping_for_tcv.method,'switchcase')
     end
     tracetdi=tdi(nodenameeff);
     if isempty(tracetdi.data) || isempty(tracetdi.dim) 
-      return
+      % try to run psitbxput
+      psitbxput_version = 1.3;
+      psitbxput(psitbxput_version,shot);
+      ishot = mdsopen(shot);
+      tracetdi=tdi(nodenameeff);
+      if isempty(tracetdi.data) || isempty(tracetdi.dim)
+        return
+      end
     end
     gdat_data.units = tracetdi.units;
     if strcmp(data_request,'volume')