; ; Plots the observed SLP, TEMP and PREC signals that go with the observed ; summer SLP modes. The signals are the regression coefficients between SLP ; anomalies, TEMP anomalies and PREC % anomalies, and the normalised (over ; 1961-90) principal component timeseries of each mode. ; FOR SLP, IT IS THE CORRELATION NOT REGRESSION COEFF. ; docol=1 ; 0=B&W 1=color dops=1 ; 0=screen (though can do PS manually), 1=individual PS file per mode ; restore,filename='obs_stp_modes.idlsave' ; slparp,temparp,precarp,modets,timey,nyr,nvar,varname ; gslp,gtemp,gprec,nretain ; if dops eq 0 then begin loadct,39 multi_plot,nrow=3,ncol=3,layout='large' if !d.name eq 'X' then begin window,ysize=850 !p.font=-1 endif else begin !p.font=0 device,/helvetica,/bold,font_size=12 endelse if docol eq 0 then begin def_1color,10,color='palegrey' def_1color,20,color='mdgrey' def_1color,21,color='black' def_1color,22,color='black' endif else begin def_1color,10,color='vlgreen' def_1color,20,color='mdgrey' def_1color,21,color='deepblue' def_1color,22,color='red' endelse endif ; map=def_map(/npolar) & map.limit(0)=15. labels=def_labels(/off) sm=def_sm() & sm.thresh=0.1 coast=def_coast(/get_device) & coast.double=0 & coast.fill=1 coast.fillcolor=10 ; ;nretain=4 ;kretain=[1,2,6,8] nretain=nretain < 9 kretain=indgen(nretain) kpve=[11,11,9,8,7,7,6,6] for jretain = 0 , nretain-1 do begin iretain=kretain(jretain) titn=string(iretain+1,format='(I1)') tit1=' '+string(kpve(iretain),format='(I2)')+'%' ; if dops ne 0 then begin ploton,1 loadct,39 multi_plot,nrow=3,ncol=3,layout='large' if !d.name eq 'X' then begin window,ysize=850 !p.font=-1 endif else begin !p.font=0 device,/helvetica,/bold,font_size=12 endelse if docol eq 0 then begin def_1color,10,color='palegrey' def_1color,20,color='mdgrey' def_1color,21,color='black' def_1color,22,color='black' endif else begin def_1color,10,color='vlgreen' def_1color,20,color='mdgrey' def_1color,21,color='deepblue' def_1color,22,color='red' endelse endif ; ; Timeseries first ; pause yyy=reform(modets(*,iretain)) ; plot,timey,yyy,$ ; /xstyle,xtitle='Year',$ ; ytitle='Normalised amplitude',ymargin=[10,10],$ ; title='Summer mode #'+titn+tit1 ; oplot,!x.crange,[0.,0.],linestyle=1 ; filter_cru,10.,/nan,tsin=yyy,tslow=tslow ; oplot,timey,tslow,thick=5 ; ; Now plot SLP pattern ; fd=reform(slparp(*,*,iretain)) levs=findgen(8)*0.1+0.2 levs=[-reverse(levs),levs] nlev=n_elements(levs) c_labels=replicate(1,nlev) c_thick=[replicate(2.,nlev/2),replicate(5.,nlev/2)] if docol eq 1 then c_thick=replicate(4.,nlev) c_colors=[replicate(21,nlev/2),replicate(22,nlev/2)] ; sm.on=1 ; inter_confd,fd,gslp.xlon,gslp.ylat,$ coast=coast,map=map,labels=labels,sm=sm,$ levels=levs,c_thick=c_thick,c_labels=c_labels,/follow,/hi_on,$ miss_grey='white',c_colors=c_colors ; !p.ticklen=0.03 lon_polar,map=map,[-150.,-120,-60,-30,30,60,120,150],/dotick ; normtop=convert_coord(map.limit(1),map.limit(0),/data,/to_normal) yr=!y.region yloc=normtop(1)+0.3*(yr(1)-normtop(1)) xloc=0.5*total(!x.region) xyouts,xloc,yloc,/normal,align=0.5,$ '(a) Mode #'+titn+tit1 ; xyouts,xloc,yr(0),/normal,align=0.5,$ ; 'Correlations',charsize=!p.charsize*0.7 ; ; Now plot TEMP pattern ; fd=reform(temparp(*,*,iretain)) levs=findgen(8)*0.1+0.1 levs=[-reverse(levs),levs] nlev=n_elements(levs) c_labels=replicate(1,nlev) if docol eq 0 then begin c_thick=[replicate(2.,nlev/2),replicate(5.,nlev/2)] ; c_linestyle=[0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0] c_linestyle=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] endif else begin c_thick=[5,5,5,5,5,5,5,2,2,5,5,5,5,5,5,5] c_linestyle=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] endelse c_colors=[replicate(21,nlev/2),replicate(22,nlev/2)] ; sm.on=1 ; inter_confd,fd,gtemp.xlon,gtemp.ylat,$ coast=coast,map=map,labels=labels,sm=sm,$ levels=levs,c_thick=c_thick,c_labels=c_labels,/follow,/hi_on,$ miss_grey='white',c_linestyle=c_linestyle,c_colors=c_colors ; !p.ticklen=0.03 lon_polar,map=map,[-150.,-120,-60,-30,30,60,120,150],/dotick ; normtop=convert_coord(map.limit(1),map.limit(0),/data,/to_normal) yr=!y.region yloc=normtop(1)+0.3*(yr(1)-normtop(1)) xloc=0.5*total(!x.region) xyouts,xloc,yloc,/normal,align=0.5,'(b)' ; xyouts,xloc,yr(0),/normal,align=0.5,$ ; 'Correlations',charsize=!p.charsize*0.7 ; ; Now plot PREC pattern ; fd=reform(precarp(*,*,iretain)) levs=findgen(8)*0.1+0.1 levs=[-reverse(levs),levs] nlev=n_elements(levs) c_labels=replicate(1,nlev) if docol eq 0 then begin c_thick=[replicate(2.,nlev/2),replicate(5.,nlev/2)] ; c_linestyle=[0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0] c_linestyle=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] endif else begin c_thick=[5,5,5,5,5,5,5,2,2,5,5,5,5,5,5,5] c_linestyle=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] endelse c_colors=[replicate(21,nlev/2),replicate(22,nlev/2)] ; sm.on=1 ; inter_confd,fd,gprec.xlon,gprec.ylat,$ coast=coast,map=map,labels=labels,sm=sm,$ levels=levs,c_thick=c_thick,c_labels=c_labels,/follow,/hi_on,$ miss_grey='white',c_linestyle=c_linestyle,c_colors=c_colors ; !p.ticklen=0.03 lon_polar,map=map,[-150.,-120,-60,-30,30,60,120,150],/dotick ; normtop=convert_coord(map.limit(1),map.limit(0),/data,/to_normal) yr=!y.region yloc=normtop(1)+0.3*(yr(1)-normtop(1)) xloc=0.5*total(!x.region) xyouts,xloc,yloc,/normal,align=0.5,'(c)' ; xyouts,xloc,yr(0),/normal,align=0.5,$ ; 'Correlations',charsize=!p.charsize*0.7 ; if dops ne 0 then begin plotoff if docol eq 0 then ctit='' else ctit='_col' spawn,'mv idl.ps1 holpt2_fig'+$ strcompress(string(jretain+11,format='(I2)'),/remove_all)+$ 'abc'+ctit+'.ps' endif ; endfor ; end