clear all clc fname = 'initcd_votemper.nc'; fname_data = 'Temp_16_0000.nc'; z_data = 'domain_cfg.nc'; Tin=ncread(fname_data,'thetao'); xin=double(ncread(fname_data,'longitude')); yin=double(ncread(fname_data,'latitude')); zin=double(ncread(fname_data,'depth')); Tin=permute(Tin,[2 1 3]); Tout=double(ncread(fname,'votemper')); xout=double(ncread(fname,'x')); yout=double(ncread(fname,'y')); dzout=ncread(z_data,'e3t_0'); xout=repmat(xout,1,1,size(Tout,3)); yout=repmat(yout,1,1,size(Tout,3)); z=zeros(size(Tout,1),size(Tout,2),size(Tout,3)); for i=1:size(Tout,3) if i==1 z(:,:,i)=dzout(:,:,i); else z(:,:,i)=z(:,:,i-1)+dzout(:,:,i); end end zin(1)=0; zin(end)=max(z(:))+1; % parfor i=1:size(Tin,3) % i % Tin(:,:,i)=smooth2(Tin(:,:,i),100,100); % % end Tinterp=interp3(xin,yin,zin,Tin,xout,yout,z); ncid=netcdf.open(fname,'WRITE'); varid = netcdf.inqVarID(ncid,'votemper'); netcdf.putVar(ncid,varid,Tinterp)