From ea84906b66564f61a08d0dc325bfd37ca843dbdc Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Tue, 17 Sep 2024 16:03:56 +0200 Subject: [PATCH] add interpos_nan to avoid NaNs automatically if not pre-checked --- matlab/TCV/gdat_tcv.m | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m index f528917d..60fba663 100644 --- a/matlab/TCV/gdat_tcv.m +++ b/matlab/TCV/gdat_tcv.m @@ -2567,8 +2567,8 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.dimunits{1} = 's'; gdat_data.units = 'W'; tension = -1e5; - vloop_smooth=interpos(-63,vloop.t,vloop.data,gdat_data.ohm.t,tension); - ip_t = interpos(21,ip.t,ip.data,gdat_data.ohm.t); + vloop_smooth=interpos_nan(-63,vloop.t,vloop.data,gdat_data.ohm.t,tension); + ip_t = interpos_nan(21,ip.t,ip.data,gdat_data.ohm.t); gdat_data.ohm.data = -vloop_smooth.*ip_t; % TCV has wrong sign for Vloop gdat_data.ohm.raw_data = -vloop.data.*ip_t; gdat_data.ohm.data_fullpath = 'from vloop*Ip, smoothed vloop in data, unsmoothed in raw_data'; @@ -2604,7 +2604,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.ec.label='P_{EC}'; gdat_data.ec.help = tracetdi.help; % add to main with linear interpolation and 0 for extrapolated values - gdat_data.data(:,end+1) = interpos(-21,gdat_data.ec.t,gdat_data.ec.data(:,end),gdat_data.t); + gdat_data.data(:,end+1) = interpos_nan(-21,gdat_data.ec.t,gdat_data.ec.data(:,end),gdat_data.t); gdat_data.x(end+1) = size(gdat_data.data,2); gdat_data.label{end+1}=gdat_data.ec.label; end @@ -2673,7 +2673,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.rad.label='P_{RAD}'; gdat_data.rad.help = tracetdi.help; % add to main with linear interpolation and 0 for extrapolated values - gdat_data.data(:,end+1) = interpos(-21,gdat_data.rad.t,gdat_data.rad.data(:,end),gdat_data.t); + gdat_data.data(:,end+1) = interpos_nan(-21,gdat_data.rad.t,gdat_data.rad.data(:,end),gdat_data.t); index_rad = size(gdat_data.data,2); gdat_data.x(end+1) = size(gdat_data.data,2); gdat_data.label{end+1}=gdat_data.rad.label; @@ -3108,7 +3108,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') psi_axis=gdat_tcv(shot,params_eff); params_eff.data_request='b0'; b0=gdat_tcv(shot,params_eff); - b0tpsi = interpos(21,b0.t,b0.data,psi_axis.t); %q_rho on same time base as psi_axis + b0tpsi = interpos_nan(21,b0.t,b0.data,psi_axis.t); %q_rho on same time base as psi_axis if isempty(psi_axis.data) || isempty(psi_axis.dim) || isempty(q_rho.data) || isempty(q_rho.dim) if (gdat_params.nverbose>=1); warning(['problems loading data for ' nodenameeff ' for data_request= ' data_request_eff]); end return @@ -3495,7 +3495,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') end % compute interpolation with tension provided for i=1:size(sxr.data,2) - gdat_data.data(i,:) = interpos(sxr.time,sxr.data(:,i),gdat_data.t,gdat_data.gdat_params.fit_tension); + gdat_data.data(i,:) = interpos_nan(sxr.time,sxr.data(:,i),gdat_data.t,gdat_data.gdat_params.fit_tension); end end gdat_data.r_x = sxr.geometry.xchord(gdat_data.x,:); @@ -3560,7 +3560,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') % invert index of time and channel (rho) gdat_data.data = mpx.(gdat_data.gdat_params.camera(1:3)).signal.data'; gdat_data.t = mpx.(gdat_data.gdat_params.camera(1:3)).signal.dim{1}; - gdat_data.dim{1} = interpos(21,mpx.top.rho.time,mpx.top.rho.rhopsi,gdat_data.t)'; + gdat_data.dim{1} = interpos_nan(21,mpx.top.rho.time,mpx.top.rho.rhopsi,gdat_data.t)'; gdat_data.dim{2} = mpx.(gdat_data.gdat_params.camera(1:3)).signal.dim{1}; gdat_data.x = gdat_data.dim{1}; gdat_data.(gdat_data.gdat_params.camera).data = gdat_data.data; @@ -3571,14 +3571,14 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') else gdat_data.data = mpx.signal.data'; gdat_data.t = mpx.signal.dim{1}; - gdat_data.dim{1} = interpos(21,mpx.top.rho.time,mpx.top.rho.rhopsi,gdat_data.t); + gdat_data.dim{1} = interpos_nan(21,mpx.top.rho.time,mpx.top.rho.rhopsi,gdat_data.t); gdat_data.dim{2} = mpx.(gdat_data.gdat_params.camera(1:3)).signal.dim{1}; % gdat_data.top.data = mpx.top.signal.data'; gdat_data.top.x = gdat_data.dim{1}; gdat_data.top.channel = mpx.top.signal.dim{2}; gdat_data.bottom.data = mpx.bot.signal.data; - gdat_data.bottom.x = interpos(21,mpx.bot.rho.time,mpx.bot.rho.rhopsi,gdat_data.t); + gdat_data.bottom.x = interpos_nan(21,mpx.bot.rho.time,mpx.bot.rho.rhopsi,gdat_data.t); gdat_data.bottom.channel = mpx.bottom.signal.dim{2}; gdat_data.(gdat_data.gdat_params.camera).channel = mpx.(gdat_data.gdat_params.camera(1:3)).signal.dim{2}; gdat_data.data_fullpath = ['MPX for ' gdat_data.gdat_params.camera ' camera in .data, "rho" in .x between [-1,1]' ... @@ -3849,7 +3849,7 @@ end if ~isempty(tracefirrat.data) && ~ischar(tracefirrat.data) && any(isfinite(tracefirrat.data)) ... && ~isempty(tracefirrat.dim) && ~isempty(tracefirrat.dim{1}) - firthomratio = interpos(21,tracefirrat.dim{1},tracefirrat.data,timebase); + firthomratio = interpos_nan(21,tracefirrat.dim{1},tracefirrat.data,timebase); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -4062,7 +4062,7 @@ switch numel(zshifteff) case 1 zshifteff=zshifteff * ones(size(t_th)); case numel(t_psi) - zshifteff=interpos(21,t_psi,zshifteff,t_th); + zshifteff=interpos_nan(21,t_psi,zshifteff,t_th); case numel(t_th) % ok otherwise -- GitLab