% atlas_test plots somedata from teh WHP/SAC Atlas % examples of accessing and plotting variables from GHC Atlas %T. Joyce, Oct. 2004 load ghc_pr.mat; %this is the atlas file load topo t0=squeeze(dataT_pr(:,:,1)); %get 2-D array of sea surface temperature figure(1) clf orient tall subplot(211) pcolor(lon,lat,t0) shading flat hold on ci=[-1000 -3000 -5000]; %depth (m) contour intervals caxis([-2 32]); contour(lon,lat,topo(10:180,:),ci,'k') colorbar('vert') ylabel('latitude','fontsize',14) title('WHP/SAC Temperature (p=0)','fontsize',14) s0=squeeze(dataS_pr(:,:,1)); subplot(212) pcolor(lon,lat,s0) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([31.5 38.5]); colorbar('vert') xlabel('longitude','fontsize',14) ylabel('latitude','fontsize',14) title('WHP/SAC Salinity (p=0)','fontsize',14) t1=squeeze(dataT_pr(:,:,22)); figure(2) clf orient tall subplot(211) pcolor(lon,lat,t1) shading flat hold on ci=[-1000 -3000 -5000]; contour(lon,lat,topo(10:180,:),ci,'k') caxis([-2 12]); colorbar('vert') ylabel('latitude','fontsize',14) title('WHP/SAC Temperature (p=1000)','fontsize',14) s1=squeeze(dataS_pr(:,:,22)); subplot(212) pcolor(lon,lat,s1) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([34 36]); colorbar('vert') xlabel('longitude','fontsize',14) ylabel('latitude','fontsize',14) title('WHP/SAC Salinity (p=1000)','fontsize',14) figure(3) clf %global plot of neutral density at surface and at 1000 dbar orient tall subplot(212) g0=squeeze(dataG_pr(:,:,1)); %neutral density at surface g1=squeeze(dataG_pr(:,:,22)); %neutral density at 1000 dbar pcolor(lon,lat,g1) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([26.5 28.5]); colorbar('vert') xlabel('longitude','fontsize',14) ylabel('latitude','fontsize',14) title('WHP/SAC Gamma-N (p=1000)','fontsize',14) subplot(211) pcolor(lon,lat,g0) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([20 27]); colorbar('vert') ylabel('latitude','fontsize',14) title('WHP/SAC Gamma-N (p=0)','fontsize',14) %now we want to interpolate S onto a gamma-n surface and plot gn=[26.5 26.8 27.3 27.95]; %this is good for [EDW NPIW AAIW/MedW MedW/LSW] for ilat=1:length(lat); for ilon=1:length(lon); %inner loop for making calculations like geopotential anomaly, %potential temperature, etc. for klev=1:length(gn) gg=[];pg=[]; gg=squeeze(dataG_pr(ilat,ilon,:)); sg=squeeze(dataS_pr(ilat,ilon,:)); ii=find(isfinite(gg)); plevs=length(ii); gg=gg(ii); [ggs,jj]=unique(gg);% need to remove gamma-n inversions sg=sg(ii); sgs=sg(jj); pg=press(ii); pgs=pg(jj); % plevs=length(gg); % display([' working on gamma-n level of ',num2str(gn(klev))]) if(plevs<=1) si(ilat,ilon,klev)=nan; pi(ilat,ilon,klev)=nan; elseif(max(gg)gn(klev)) si(ilat,ilon,klev)=nan; pi(ilat,ilon,klev)=nan; else pi(ilat,ilon,klev)=interp1(ggs,pgs,gn(klev),'linear'); si(ilat,ilon,klev)=interp1(pg,sg,pi(ilat,ilon,klev),'linear'); end end end end figure(4) clf orient tall subplot(211) sg1=squeeze(si(:,:,4)); %plot LSW pg1=squeeze(pi(:,:,4)); pcolor(lon,lat,pg1) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([0 3000]); colorbar('vert') ylabel('latitude','fontsize',14) title('WHP/SAC Pressure (\Gamma_n=27.95), LSW','fontsize',14) subplot(212) pcolor(lon,lat,sg1) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([34.5 35.5]); colorbar('vert') xlabel('longitude','fontsize',14) ylabel('latitude','fontsize',14) title('WHP/SAC Salinity (\Gamma_n=27.95)','fontsize',14) figure(5) clf orient tall subplot(211) sg1=squeeze(si(:,:,3)); %plot AAIW pg1=squeeze(pi(:,:,3)); pcolor(lon,lat,pg1) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([0 1500]); colorbar('vert') ylabel('latitude','fontsize',14) title('WHP/SAC Pressure (\Gamma_n=27.3, AAIW/MW)','fontsize',14) subplot(212) pcolor(lon,lat,sg1) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([34 36]); colorbar('vert') xlabel('longitude','fontsize',14) ylabel('latitude','fontsize',14) title('WHP/SAC Salinity (\Gamma_n=27.3)','fontsize',14) figure(6) clf orient tall subplot(211) sg1=squeeze(si(:,:,2));% plot NPIW pg1=squeeze(pi(:,:,2)); pcolor(lon,lat,pg1) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([0 1000]); colorbar('vert') ylabel('latitude','fontsize',14) title('WHP/SAC Pressure (\Gamma_n=26.8, NPIW)','fontsize',14) subplot(212) pcolor(lon,lat,sg1) shading flat hold on contour(lon,lat,topo(10:180,:),ci,'k') caxis([34 36]); colorbar('vert') xlabel('longitude','fontsize',14) ylabel('latitude','fontsize',14) title('WHP/SAC Salinity (\Gamma_n=26.8)','fontsize',14) % now plot a north/south section of salinity and potrential temperature, followed by a theta/S diagram for the section jlon=190; %this is 160W, from the Aluetians to Antartica jj=find(lon==jlon); s190=squeeze(dataS_pr(:,jj,:)); t190=squeeze(dataT_pr(:,jj,:)); g190=squeeze(dataG_pr(:,jj,:)); % need to loop thru latitude now to calculate potential temperature %should REALLY convert to t68 temperature scale before doing this! for ilat=1:length(lat) th190(ilat,:)=sw_ptmp(s190(ilat,:)',t190(ilat,:)',press,0)'; % d200(ilat,:)=sw_dpth(press,lat(ilat)); %this is the depth from pressure end %plot against mean depth of pressure surfaces for section figure(7) orient tall sci=33:.2:36; thci=-2:2:28; subplot(211) contourf(lat',press,s190',sci,'k') axis ij colorbar title('Salinity at 170W','fontsize',14) ylabel('pressure, dbar') subplot(212) contourf(lat',press,th190',thci,'k') axis ij title('\theta at 170W','fontsize',14) ylabel('pressure, dbar') xlabel('latitude') colorbar %finally, plot a potential temperature/salinity diagram for the above section figure(8) clf i1=find(lat>60); i2=find(lat<-60); i3=find(lat>=-60 & lat<=60); ss1=s190(i1,:);th1=th190(i1,:); ss2=s190(i2,:);th2=th190(i2,:); ss3=s190(i3,:);th3=th190(i3,:); plot(ss1(1,:),th1(1,:),'bo',ss2(10,:),th2(10,:),'cx',ss3(1,:),th3(1,:),'r.') legend('Arctic(>60^oN)','Antarct.(<60^oS','all else',2) hold on plot(ss1,th1,'bo',ss2,th2,'cx',ss3,th3,'r.') %axis square grid xlabel('Salinity','fontsize',14) ylabel('Potential Temp., ^oC','fontsize',14) title('\theta/S diagram for 170W','fontsize',14) break %this part is to make print files of the above figures figure(1) print -depsc2 atlas_fig1.eps -tiff print -dtiff atlas_fig1.tif figure(2) print -depsc2 atlas_fig2.eps -tiff print -dtiff atlas_fig2.tif figure(3) print -depsc2 atlas_fig3.eps -tiff print -dtiff atlas_fig3.tif figure(4) print -depsc2 atlas_fig4.eps -tiff print -dtiff atlas_fig4.tif figure(5) print -depsc2 atlas_fig5.eps -tiff print -dtiff atlas_fig5.tif figure(6) print -depsc2 atlas_fig6.eps -tiff print -dtiff atlas_fig6.tif figure(7) print -depsc2 atlas_fig7.eps -tiff print -dtiff atlas_fig7.tif figure(8) print -depsc2 atlas_fig8.eps -tiff print -dtiff atlas_fig8.tif