nx=120;ny=31;nz=29;n=nx*ny*nz; %xdata=nx;ydata=ny;zdata=nz;ndata=xdata*ydata*zdata xdata=90;ydata=21;zdata=29;ndata=xdata*ydata*zdata; xdata=90;ydata=21;zdata=29;ndata=xdata*ydata*zdata; %xdata=120;ydata=31;zdata=29;ndata=xdata*ydata*zdata; %xout=90;yout=21;zout=29;nout=xout*yout*zout; %iter=68; z=15; vars=['U' 'V' 'W' 'P' 'T']; vars=['U' 'V' 'W' 'T']; vars=['U' 'V' 'T']; U=find(vars=='U'); V=find(vars=='V'); %W=find(vars=='W'); %P=find(vars=='P'); T=find(vars=='T'); varnum= size(vars,2); if(0) filename=sprintf('%s','../da/00/assimilate/pickup.in') %filename=sprintf('%s%03i%s','../da/00/assimilate/pickup.',iter,'.out'); %filename=sprintf('%s','../da/foo/00/assimilate/pickup.0000016820.001.001.data') fid=fopen(filename,'r','ieee-be'); foo=fread(fid,13*ndata+ydata*xdata,'float64'); i=0;tru(:,:,:,U)=reshape(foo(i*ndata+1:(i+1)*ndata),[xdata ydata zdata]); i=3;tru(:,:,:,V)=reshape(foo(i*ndata+1:(i+1)*ndata),[xdata ydata zdata]); i=6;tru(:,:,:,W)=reshape(foo(i*ndata+1:(i+1)*ndata),[xdata ydata zdata]); i=7;tru(:,:,:,T)=reshape(foo(i*ndata+1:(i+1)*ndata),[xdata ydata zdata]); fclose(fid); end interval=100; %last=16800+200; last=17800; %last=16800+20*100; first=16800; %interval=10; %last=1000; %first=200; %for k=first:interval:last for k=1:200 iter=16800+(k-1)*100; if(0) filename=sprintf('%s%010i%s','pickup.',k,'.001.001.data') fid=fopen(filename,'r','ieee-be'); foo=fread(fid,13*ndata+ydata*xdata,'float64'); i=0;tru(:,:,:,U)=reshape(foo(i*ndata+1:(i+1)*ndata),[xdata ydata zdata]); i=3;tru(:,:,:,V)=reshape(foo(i*ndata+1:(i+1)*ndata),[xdata ydata zdata]); %i=6;tru(:,:,:,W)=reshape(foo(i*ndata+1:(i+1)*ndata),[xdata ydata zdata]); i=7;tru(:,:,:,T)=reshape(foo(i*ndata+1:(i+1)*ndata),[xdata ydata zdata]); fclose(fid); Up=tru(:,:,[5:5:25],U); Vp=tru(:,:,[5:5:25],V); Up(find(Up==0))=NaN; Vp(find(Vp==0))=NaN; Tp=tru(:,:,:,T); Tp(:,[1:5 7:19 21],:)=NaN; edge=20; step=1; method='nearest'; [u v]=cyl2cartuv(Up,Vp, -edge:step:edge, -edge:step:edge,method); t=cyl2cart(Tp, -edge:step:edge, -edge:step:edge,method); end %clear u,v u=0.0015*GU1(:,:,(5*(k-1)+1):(5*(k-1)+5)); v=0.0015*GV1(:,:,(5*(k-1)+1):(5*(k-1)+5)); %u=ones(27,37,5)./100; %v=ones(27,37,5)./100; if(1) iobsloc=[]; datavect=[]; loccount=0; [xout yout zout]=size(u) for j=1:zout u(:,:,j)=flipud(u(:,:,j)); for i=1:yout for h=1:xout % loccount=loccount+1; % if u(h,i,j) ~= nan if ~isnan(u(h,i,j)) datavect(end+1)=u(h,i,j); iobsloc(end+1)=((j*5)-1)*xout*yout+(i-1)*xout+h; end % if u(h,i,j) ~= nan end % h=1:xout end % i=1:yout end % j=1:zout [xout yout zout]=size(v); %for j=1:1 for j=1:zout v(:,:,j)=flipud(v(:,:,j)); for i=1:yout for h=1:xout % loccount=loccount+1; % if v(h,i,j) ~= nan if ~isnan(v(h,i,j)) datavect(end+1)=v(h,i,j); iobsloc(end+1)=xout*yout*zdata+((j*5)-1)*xout*yout+(i-1)*xout+h; end % if u(h,i,j) ~= nan end % h=1:xout end % i=1:yout end % j=1:zout end if(0) [xout yout zout]=size(t); for j=1:zout for i=1:yout for h=1:xout % loccount=loccount+1; % if t(h,i,j) ~= nan if ~isnan(t(h,i,j)) datavect(end+1)=t(h,i,j); iobsloc(end+1)=xout*yout*zdata*3+((j)-1)*xout*yout+(i-1)*xout+h; end % if u(h,i,j) ~= nan end % h=1:xout end % i=1:yout end % j=1:zout end [meep locsize]=size(iobsloc) [meep vectsize]=size(datavect) if (locsize ~= vectsize) locsize vectsize error('sizes wrong!') end mobsize=2*xout*yout*zdata+2*zdata*xout; iobsloc(end+1:mobsize)=999999999; datavect(end+1:mobsize)=999999999; if(1) %filename=sprintf('%s%010i%s','iobsloc.',iter,'.txt') filename=sprintf('%s%03i%s','iobsloc.',k,'.txt') fid = fopen(filename,'w'); fprintf(fid,'%i\n',iobsloc); fclose(fid); dtype='float64'; %filename=sprintf('%s%010i%s','obs.',iter,'.dat') filename=sprintf('%s%03i%s','obs.',k,'.dat') fid = fopen(filename,'w','ieee-be'); fwrite(fid,datavect,dtype); fclose(fid); end %for j=1:size(iobsloc) % sq=iobsloc(j) % zig=sq end