diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m index 8ce621c5708f9a2b75df0b45afb5920ee67795b5..f528917d4766db1abe4807377f1a0328b8003a5e 100644 --- a/matlab/TCV/gdat_tcv.m +++ b/matlab/TCV/gdat_tcv.m @@ -2568,7 +2568,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.units = 'W'; tension = -1e5; vloop_smooth=interpos(-63,vloop.t,vloop.data,gdat_data.ohm.t,tension); - ip_t = interp1(ip.t,ip.data,gdat_data.ohm.t); + ip_t = interpos(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'; @@ -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 = interp1(b0.t,b0.data,psi_axis.t); %q_rho on same time base as psi_axis + b0tpsi = interpos(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 @@ -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} = interp1(mpx.top.rho.time,mpx.top.rho.rhopsi,gdat_data.t)'; + gdat_data.dim{1} = interpos(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} = interp1(mpx.top.rho.time,mpx.top.rho.rhopsi,gdat_data.t); + gdat_data.dim{1} = interpos(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 = interp1(mpx.bot.rho.time,mpx.bot.rho.rhopsi,gdat_data.t); + gdat_data.bottom.x = interpos(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 = interp1(tracefirrat.dim{1},tracefirrat.data,timebase); + firthomratio = interpos(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=interp1(t_psi,zshifteff,t_th); + zshifteff=interpos(21,t_psi,zshifteff,t_th); case numel(t_th) % ok otherwise diff --git a/matlab/TCV/tcv_requests_mapping.m b/matlab/TCV/tcv_requests_mapping.m index 824348abb9c6997c13fe4206e93a67bdc80ab41f..7ac36f74ed46c4592e3f2c931c6916b3aa1a3f5f 100644 --- a/matlab/TCV/tcv_requests_mapping.m +++ b/matlab/TCV/tcv_requests_mapping.m @@ -280,10 +280,12 @@ switch lower(data_request) mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ... 'gdat_tmp=gdat_tcv(shot,params_eff);params_eff.data_request=''ip'';' ... 'gdat_tmp2=gdat_tcv(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;' ... 'params_eff.data_request=''a_minor'';' ... 'gdat_tmp3=gdat_tcv(shot,params_eff);ij=find(gdat_tmp3.data==0);gdat_tmp3.data(ij)=NaN;' ... - 'tmp_data3=interp1(gdat_tmp3.t,gdat_tmp3.data,gdat_tmp.t,[],NaN);' ... + 'if numel(gdat_tmp3.t)>1;tmp_data3=interp1(gdat_tmp3.t,gdat_tmp3.data,gdat_tmp.t,[],NaN);' ... + 'else;tmp_data3=gdat_tmp3.data;end;' ... 'gdat_tmp.data = abs(tmp_data2*1e-6./pi./(tmp_data3.^2+1e-5));' ... 'ij=find(gdat_tmp.data<0 | gdat_tmp.data>4);gdat_tmp.data(ij)=NaN;gdat_tmp.data = gdat_tmp.data * 1e20;']; case {'ngf','greenwald_fraction','f_greenwald','ng_fraction'} @@ -293,7 +295,8 @@ switch lower(data_request) mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ... 'gdat_tmp=gdat_tcv(shot,params_eff);params_eff.data_request=''n_greenwald'';' ... 'gdat_tmp2=gdat_tcv(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.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'} diff --git a/matlab/TCV_IMAS/tcv_get_ids_summary.m b/matlab/TCV_IMAS/tcv_get_ids_summary.m index e24b4ee20f0e52a73dd2b1751032eda58bc3efc7..5bc8827a0b5156424da1422b1d71fca80eb90783 100644 --- a/matlab/TCV_IMAS/tcv_get_ids_summary.m +++ b/matlab/TCV_IMAS/tcv_get_ids_summary.m @@ -99,7 +99,7 @@ for i=1:numel(boundary_fieldnames) if ~any(strcmp(boundary_fieldnames{i},special_fields)) if ~isstruct(ids_summary.boundary.(boundary_fieldnames{i}).value) ids_summary.boundary.(boundary_fieldnames{i}).value = boundary.(boundary_fieldnames{i}).data; - ids_summary.boundary.(boundary_fieldnames{i}).value = interp1(boundary.(boundary_fieldnames{i}).t, ... + ids_summary.boundary.(boundary_fieldnames{i}).value = interpos(21,boundary.(boundary_fieldnames{i}).t, ... boundary.(boundary_fieldnames{i}).data,ids_summary.time,'linear',NaN); ids_summary.boundary.(boundary_fieldnames{i}).source = ['gdat request: ' boundary_desc.(boundary_fieldnames{i})]; else @@ -138,7 +138,7 @@ special_fields = {}; % fields needing non-automatic treatments for i=1:numel(gas_injection_rates_fieldnames) if ~any(strcmp(gas_injection_rates_fieldnames{i},special_fields)) if ~isstruct(ids_summary.gas_injection_rates.(gas_injection_rates_fieldnames{i}).value) - ids_summary.gas_injection_rates.(gas_injection_rates_fieldnames{i}).value = interp1( ... + ids_summary.gas_injection_rates.(gas_injection_rates_fieldnames{i}).value = interpos(21, ... gas_injection_rates.(gas_injection_rates_fieldnames{i}).t,gas_injection_rates.(gas_injection_rates_fieldnames{i}).data, ... ids_summary.time,'linear',NaN); ids_summary.gas_injection_rates.(gas_injection_rates_fieldnames{i}).source = ['gdat request: ' gas_injection_rates_desc.(gas_injection_rates_fieldnames{i})]; @@ -253,7 +253,7 @@ for i=1:numel(global_quantities_fieldnames) if ~any(strcmp(global_quantities_fieldnames{i},special_fields)) if ~isstruct(ids_summary.global_quantities.(global_quantities_fieldnames{i}).value) && ... ~isempty(global_quantities.(global_quantities_fieldnames{i}).data) - ids_summary.global_quantities.(global_quantities_fieldnames{i}).value = interp1( ... + ids_summary.global_quantities.(global_quantities_fieldnames{i}).value = interpos(21, ... global_quantities.(global_quantities_fieldnames{i}).t,global_quantities.(global_quantities_fieldnames{i}).data, ... ids_summary.time,'linear',NaN); ids_summary.global_quantities.(global_quantities_fieldnames{i}).source = ['gdat request: ' global_quantities_desc.(global_quantities_fieldnames{i})]; @@ -278,7 +278,7 @@ volume_average_fieldnames = fieldnames(volume_average); for i=1:numel(volume_average_fieldnames) if ~any(strcmp(volume_average_fieldnames{i},special_fields)) if ~isstruct(ids_summary.volume_average.(volume_average_fieldnames{i}).value) - ids_summary.volume_average.(volume_average_fieldnames{i}).value = interp1( ... + ids_summary.volume_average.(volume_average_fieldnames{i}).value = interpos(21, ... volume_average.(volume_average_fieldnames{i}).t,volume_average.(volume_average_fieldnames{i}).data, ... ids_summary.time,'linear',NaN); ids_summary.volume_average.(volume_average_fieldnames{i}).source = ['gdat request: ' volume_average_desc.(volume_average_fieldnames{i})];