--- MITgcm_contrib/osse/utils/ensavg.m 2004/06/16 15:29:50 1.5 +++ MITgcm_contrib/osse/utils/ensavg.m 2004/07/01 13:45:09 1.7 @@ -1,64 +1,64 @@ nx=120;ny=31;nz=29;n=nx*ny*nz;nens=30; %iter=68; z=15; -disp=0; +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') -fid=fopen(filename,'r','ieee-be'); +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]); for k=1:nens %k=0; -filename=sprintf('%s%02i%s%03i%s','../da/',k,'/assimilate/pickup.',iter,'.out') %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','../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); +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]); -ensp(:,:,:)=reshape(mean(memp,2),[nx ny nz]); +ens=reshape(mean(mem,3),[nx ny nz varnum]); +rms=reshape(std(mem,0,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]); - -if(disprms) iterstr=sprintf('%i',iter); -figure(1);imagesc(rmsu(:,:,z));colorbar; -title(strcat('U ensemble rms, iter ',iterstr)); -figure(2);imagesc(rmsv(:,:,z));colorbar; -title(strcat('V ensemble rms, iter ',iterstr)); -figure(3);imagesc(rmsw(:,:,z));colorbar; -title(strcat('W ensemble rms, iter ',iterstr)); -figure(4);imagesc(rmsp(:,:,z));colorbar; -title(strcat('Phi ensemble rms, iter ',iterstr)); +if(disprms) + for i=1:varnum + figure(i);imagesc(rms(:,:,z,i));colorbar; + title(strcat(vars(i),' ensemble rms, iter ',iterstr)); + end end -if (jgp) - for i=1:3 + +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'); @@ -68,12 +68,14 @@ 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; + 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