diff --git a/crpptbx/TCV/gdat_tcv.m b/crpptbx/TCV/gdat_tcv.m index 892b34798f41e9892d58c59b9a409b867ccaedda..c4e39ca04ea6257a63e3e31af7062098294c5a6b 100644 --- a/crpptbx/TCV/gdat_tcv.m +++ b/crpptbx/TCV/gdat_tcv.m @@ -1108,7 +1108,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') % psiscatvol obtained from linear interpolation in fact so not quite ok near axis where psi is quadratic recompute_psiscatvol_always = 1; if liuqe_version==-1; recompute_psiscatvol_always = 1; end - if abs(zshift)<1e-5 && liuqe_matlab==0 && recompute_psiscatvol_always==0 + if all(abs(zshift)<1e-5) && liuqe_matlab==0 && recompute_psiscatvol_always==0 psi_max=gdat_tcv([],['\results::thomson' edge_str_dot ':psi_max' substr_liuqe],'nverbose',gdat_params.nverbose); psiscatvol=gdat_tcv([],['\results::thomson' edge_str_dot ':psiscatvol' substr_liuqe],'nverbose',gdat_params.nverbose); else @@ -1137,19 +1137,19 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') case length(psitdi.dim{3}) % ok case length(gdat_data.t) - zeffshift=interp1(psiscatvol.dim{1},zeffshift,psitdi.dim{3}); + zeffshift=interp1(gdat_data.t,zeffshift,psitdi.dim{3}); otherwise if (gdat_params.nverbose>=1); disp(' bad time dimension for zshift') - disp(['it should be 1 or ' num2str(length(psiscatvol.dim{1})) ' or ' num2str(length(psitdi.dim{3}))]) + disp(['it should be 1 or ' num2str(length(gdat_data.t)) ' or ' num2str(length(psitdi.dim{3}))]) end end for it=1:length(gdat_data.t) itpsitdi=iround_os(psitdi.dim{3},gdat_data.t(it)); psirz=psitdi.data(:,:,itpsitdi); - %psiscatvol0=griddata(rmesh,zmesh,psirz',0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),'cubic'); % faster with interpos + %psiscatvol0=interp2(rmesh,zmesh,psirz',0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),'spline'); % faster with interpos psiscatvol0=interpos2Dcartesian(rmesh,zmesh,psirz,0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),-0.1,-0.1); - psiscatvol0=griddata(rmesh,zmesh,psirz',0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),'linear'); + psiscatvol0=interp2(rmesh,zmesh,psirz',0.9*ones(size(zthom)),zthom-zeffshift(itpsitdi),'linear'); psiscatvol.data(it,:)=psiscatvol0; % since take closest psi(R,Z) from psitdi, should also take closest for psi_max and not interpolating itpsiaxis = iround_os(psiaxis.dim{1},gdat_data.t(it));