--- MITgcm_contrib/osse/utils/ensavg.m 2004/06/12 22:15:40 1.4 +++ MITgcm_contrib/osse/utils/ensavg.m 2004/07/01 13:48:05 1.8 @@ -3,62 +3,79 @@ z=15; 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','../00/assimilate/pickup.in') -filename=sprintf('%s%03i%s','../da/00/assimilate/pickup.',iter,'.out') -fid=fopen(filename,'r','ieee-be'); +%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'); fclose(fid); filename=sprintf('%s%02i%s%03i%s','../da/',k,'/assimilate/pickup_nh.',iter,'.out') -%s=0; mn(k+1)=mean(foo(s*n+1:s*n+n)); fid=fopen(filename,'r','ieee-be'); foonh=fread(fid,2*n,'float64'); fclose(fid); -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); -i=0;memp(:,k)=foonh(i*n+1:(i+1)*n); +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]); -ensp(:,:,:)=reshape(mean(memp,2),[nx ny nz]); - +ens=reshape(mean(mem,3),[nx ny nz varnum]); -rmsu=reshape(std(memu,0,2),[nx ny nz]); -rmsv=reshape(std(memv,0,2),[nx ny nz]); -rmsw=reshape(std(memw,0,2),[nx ny nz]); -rmsp=reshape(std(memp,0,2),[nx ny nz]); +rms=reshape(std(mem,0,3),[nx ny nz varnum]); +iterstr=sprintf('%i',iter); if(disprms) -figure(1);imagesc(rmsu(:,:,z));colorbar;title('U ensemble rms'); -figure(2);imagesc(rmsv(:,:,z));colorbar;title('V ensemble rms'); -figure(3);imagesc(rmsw(:,:,z));colorbar;title('W ensemble rms'); -figure(4);imagesc(rmsp(:,:,z));colorbar;title('Phi ensemble rms'); + 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(3,2,1);imagesc(truu(:,:,z));colorbar; - subplot(3,2,3);imagesc(truv(:,:,z));colorbar; - subplot(3,2,5);imagesc(truw(:,:,z));colorbar; - - subplot(3,2,2);imagesc(ensu(:,:,z));colorbar; - subplot(3,2,4);imagesc(ensv(:,:,z));colorbar; - subplot(3,2,6);imagesc(ensw(:,:,z));colorbar; - title(sprintf('%s%i','truth and ensemble mean after assim',iter)); + 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