From 7de4e59c066a8d654d3338f9d4f98e86833a6c33 Mon Sep 17 00:00:00 2001
From: Olivier Sauter <olivier.sauter@epfl.ch>
Date: Sun, 27 Oct 2024 08:25:21 +0100
Subject: [PATCH] add r x_pts for TCV and ng within ngf call

---
 matlab/AUG/aug_requests_mapping.m |  7 +++++--
 matlab/D3D/d3d_requests_mapping.m |  4 +++-
 matlab/TCV/tcv_requests_mapping.m | 11 +++++++++++
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/matlab/AUG/aug_requests_mapping.m b/matlab/AUG/aug_requests_mapping.m
index 43a991fb..94e6f675 100644
--- a/matlab/AUG/aug_requests_mapping.m
+++ b/matlab/AUG/aug_requests_mapping.m
@@ -276,8 +276,11 @@ switch lower(data_request)
     mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ...
                     'gdat_tmp=gdat_aug(shot,params_eff);params_eff.data_request=''n_greenwald'';' ...
                     'gdat_tmp2=gdat_aug(shot,params_eff);ij=find(gdat_tmp2.data==0);gdat_tmp2.data(ij)=NaN;' ...
-                    'tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ...
-                    'gdat_tmp.data = gdat_tmp.data./(tmp_data2+1e-5);'];
+                    'if numel(gdat_tmp2.t)>1;tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ...
+                    'else;tmp_data2=gdat_tmp2.data;end;' ...
+                    'gdat_tmp.ng=gdat_tmp2;gdat_tmp.ng.data_t_nel=tmp_data2;' ...
+                    'gdat_tmp.data = gdat_tmp.data./(tmp_data2+1e-5);' ...
+                    'gdat_tmp.units='''';gdat_tmp.dimunits{1}=''s'';'];
 % $$$  case 'ni'
 % $$$   mapping.method = 'switchcase'; % especially since might have option fit, etc
   case 'pellet'
diff --git a/matlab/D3D/d3d_requests_mapping.m b/matlab/D3D/d3d_requests_mapping.m
index 84879d6f..90695505 100644
--- a/matlab/D3D/d3d_requests_mapping.m
+++ b/matlab/D3D/d3d_requests_mapping.m
@@ -254,7 +254,9 @@ switch lower(data_request)
     mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ...
                     'gdat_tmp=gdat_d3d(shot,params_eff);params_eff.data_request=''n_greenwald'';' ...
                     'gdat_tmp2=gdat_d3d(shot,params_eff);ij=find(gdat_tmp2.data==0);gdat_tmp2.data(ij)=NaN;' ...
-                    'tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ...
+                    'if numel(gdat_tmp2.t)>1;tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ...
+                    'else;tmp_data2=gdat_tmp2.data;end;' ...
+                    'gdat_tmp.ng=gdat_tmp2;gdat_tmp.ng.data_t_nel=tmp_data2;' ...
                     'gdat_tmp.data = gdat_tmp.data*1e6./(tmp_data2+1e-5);' ...
                     'gdat_tmp.units='''';gdat_tmp.dimunits{1}=''s'';'];
   case {'f2b', 'pcf2b'}
diff --git a/matlab/TCV/tcv_requests_mapping.m b/matlab/TCV/tcv_requests_mapping.m
index ce8a0144..b68d12da 100644
--- a/matlab/TCV/tcv_requests_mapping.m
+++ b/matlab/TCV/tcv_requests_mapping.m
@@ -297,6 +297,7 @@ switch lower(data_request)
                     'gdat_tmp2=gdat_tcv(shot,params_eff);ij=find(gdat_tmp2.data==0);gdat_tmp2.data(ij)=NaN;' ...
                     'if numel(gdat_tmp2.t)>1;tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ...
                     'else;tmp_data2=gdat_tmp2.data;end;' ...
+                    'gdat_tmp.ng=gdat_tmp2;gdat_tmp.ng.data_t_nel=tmp_data2;' ...
                     'gdat_tmp.data = gdat_tmp.data./(tmp_data2+1e-5);' ...
                     'gdat_tmp.units='''';gdat_tmp.dimunits{1}=''s'';'];
  case {'ec_data', 'aux', 'h_cd', 'nbi_data', 'ic_data', 'lh_data', 'ohm_data', 'bs_data'}
@@ -442,6 +443,11 @@ switch lower(data_request)
   mapping.expression = '\results::r_axis';
   mapping.expression = '\tcv_shot::top.results.equil_1.results:r_axis';
   mapping.expression = 'tcv_eq("r_axis","LIUQE.M")';
+ case {'r_xpts', 'rxpts', 'r_xpt'}
+  mapping.timedim = 2;
+  mapping.label = 'R\_Xpts';
+  mapping.method = 'tdiliuqe';
+  mapping.expression = 'tcv_eq("r_xpts","LIUQE.M")';
  case {'rtc','scd'}
   if strcmp('scd',lower(data_request)); error('********* should call with request****** ''rtc'''); end
   mapping.timedim = 1;
@@ -574,6 +580,11 @@ switch lower(data_request)
   mapping.expression = '\results::z_axis';
   mapping.expression = '\tcv_shot::top.results.equil_1.results:z_axis';
   mapping.expression = 'tcv_eq("z_axis","LIUQE.M")';
+ case {'z_xpts', 'zxpts', 'z_xpt'}
+  mapping.timedim = 2;
+  mapping.label = 'Z\_Xpts';
+  mapping.method = 'tdiliuqe';
+  mapping.expression = 'tcv_eq("z_xpts","LIUQE.M")';
   %
   % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   % extra TCV cases (not necessarily in official data_request name list)
-- 
GitLab