--- MITgcm_contrib/osse/utils/ensavg.m 2004/06/10 13:45:30 1.2 +++ MITgcm_contrib/osse/utils/ensavg.m 2004/07/01 13:48:05 1.8 @@ -1,41 +1,81 @@ -nx=120;ny=31;nz=29;n=nx*ny*nz;nens=30;iter=68; +nx=120;ny=31;nz=29;n=nx*ny*nz;nens=30; +%iter=68; z=15; - - -%filename=sprintf('%s','../00/assimilate/pickup.in') -filename=sprintf('%s%03i%s','../da/00/assimilate/pickup.',iter,'.out') -fid=fopen(filename,'r','ieee-be'); +disp=1; +disprms=0; +jpg=0; +vars=['U' 'V' 'W' 'P' '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); + + +%filename=sprintf('%s','../da/00/assimilate/pickup.in') +filename=sprintf('%s%03i%s','../da/00/assimilate/pickup.',iter,'.out'); +%filename=sprintf('%s','../da/i90/00/assimilate/pickup.0000016820.001.001.data') + fid=fopen(filename,'r','ieee-be'); foo=fread(fid,13*n+ny*nx,'float64'); -%s=0; mn(k+1)=mean(foo(s*n+1:s*n+n)); -i=0;truu=reshape(foo(i*n+1:(i+1)*n),[nx ny nz]); -i=3;truv=reshape(foo(i*n+1:(i+1)*n),[nx ny nz]); -i=6;truw=reshape(foo(i*n+1:(i+1)*n),[nx ny nz]); - +i=0;tru(:,:,:,U)=reshape(foo(i*n+1:(i+1)*n),[nx ny nz]); +i=3;tru(:,:,:,V)=reshape(foo(i*n+1:(i+1)*n),[nx ny nz]); +i=6;tru(:,:,:,W)=reshape(foo(i*n+1:(i+1)*n),[nx ny nz]); +i=7;tru(:,:,:,T)=reshape(foo(i*n+1:(i+1)*n),[nx ny nz]); +fclose(fid); for k=1:nens %k=0; +%filename=sprintf('%s%02i%s','../da/',k,'/assimilate/pickup.in') filename=sprintf('%s%02i%s%03i%s','../da/',k,'/assimilate/pickup.',iter,'.out') -%filename=sprintf('%s%02i%s','../',k,'/assimilate/pickup.in') +%filename=sprintf('%s%02i%s','../da/i90/',k,'/assimilate/pickup.0000016820.001.001.data') fid=fopen(filename,'r','ieee-be'); foo=fread(fid,13*n+ny*nx,'float64'); -%s=0; mn(k+1)=mean(foo(s*n+1:s*n+n)); -i=0;memu(:,k)=foo(i*n+1:(i+1)*n); -i=3;memv(:,k)=foo(i*n+1:(i+1)*n); -i=6;memw(:,k)=foo(i*n+1:(i+1)*n); fclose(fid); +filename=sprintf('%s%02i%s%03i%s','../da/',k,'/assimilate/pickup_nh.',iter,'.out') +fid=fopen(filename,'r','ieee-be'); +foonh=fread(fid,2*n,'float64'); +fclose(fid); +i=0;mem(:,U,k)=foo(i*n+1:(i+1)*n); +i=3;mem(:,V,k)=foo(i*n+1:(i+1)*n); +i=6;mem(:,W,k)=foo(i*n+1:(i+1)*n); +i=7;mem(:,T,k)=foo(i*n+1:(i+1)*n); +i=0;mem(:,P,k)=foonh(i*n+1:(i+1)*n); end -ensu(:,:,:)=reshape(mean(memu,2),[nx ny nz]); -ensv(:,:,:)=reshape(mean(memv,2),[nx ny nz]); -ensw(:,:,:)=reshape(mean(memw,2),[nx ny nz]); - -subplot(3,2,1);imagesc(truu(:,:,z)); -subplot(3,2,3);imagesc(truv(:,:,z)); -subplot(3,2,5);imagesc(truw(:,:,z)); - -subplot(3,2,2);imagesc(ensu(:,:,z)); -subplot(3,2,4);imagesc(ensv(:,:,z)); -subplot(3,2,6);imagesc(ensw(:,:,z)); -title(sprintf('%s%i','truth and ensemble mean after assim',iter)); +ens=reshape(mean(mem,3),[nx ny nz varnum]); +rms=reshape(std(mem,0,3),[nx ny nz varnum]); + +iterstr=sprintf('%i',iter); +if(disprms) + for i=1:varnum + figure(i);imagesc(rms(:,:,z,i));colorbar; + title(strcat(vars(i),' ensemble rms, iter ',iterstr)); + end +end + + +if (jpg) + for i=1:varnum + set(i,'PaperPositionMode', 'manual'); + set(i,'PaperPosition',[0.25 0.25 8 10.5]); + t=get(get(get(i,'CurrentAxes'),'Title'),'String'); + outfilename=sprintf('%s%s%i','rms',t(1),iter); + print('-djpeg', outfilename); + end +end + +if (disp) + subplot(4,2,1);imagesc(tru(:,:,z,U));colorbar; + subplot(4,2,3);imagesc(tru(:,:,z,V));colorbar; + subplot(4,2,5);imagesc(tru(:,:,z,W));colorbar; + subplot(4,2,7);imagesc(tru(:,:,z,T));colorbar; + + subplot(4,2,2);imagesc(ens(:,:,z,U));colorbar; + subplot(4,2,4);imagesc(ens(:,:,z,V));colorbar; + subplot(4,2,6);imagesc(ens(:,:,z,W));colorbar; + subplot(4,2,8);imagesc(ens(:,:,z,T));colorbar; + title(sprintf('%s%i','truth and ensemble mean after assim ',iter)); +end