; .r /nas/lina/Research/Trop_Warmings/progs/IDL/read_ncep_wind pro read_ncep_wind loadct,39 dirdata = '/nas/lina/Data/NCEP/uv_wind/' dirplots = '/nas/lina/Research/Trop_Warmings/plots/' dirweb = '/sdd/web/temp/lina/Trop_warmings/Time_evolution/' dirwebseas = '/sdd/web/temp/lina/Trop_warmings/Seasonal_cycle/' mes = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] start_day=julday(01,1,1959) end_day=julday(12,31,2009) lat = [-30,30] lon = [140,290] ufile = 'uwnd.mon.mean.nc' vfile = 'vwnd.mon.mean.nc' level=1000 get_ncep_winds,dirdata,ufile,vfile,start_day,end_day,lat,lon,level,u,v,dates,mask,useas,vseas,uanom,vanom,sseas,sanom,udet,vdet,lats,lons dim=size(u) ; To plot arrows ;------------------------------ ic = indgen(dim(1)/2)*2; ir = indgen(dim(2)/2)*2; lonip = lons(ic) latir = lats(ir) ;***************************************************** ; Plots ;***************************************************** set_plot,'ps' !p.font=0 !x.style=1 !y.style=1 !p.thick=1 pos_plot = [[0.0,0.9,0.25,1.0],[0.32,0.9,0.57,1.0],[0.64,0.9,0.89,1.0],$ [0.0,0.75,0.25,0.85],[0.32,0.75,0.57,0.85],[0.64,0.75,0.89,0.85],$ [0.0,0.6,0.25,0.7],[0.32,0.6,0.57,0.7],[0.64,0.6,0.89,0.7],$ [0.0,0.45,0.25,0.55],[0.32,0.45,0.57,0.55],[0.64,0.45,0.89,0.55]] pos_bar = [0.15,0.4,0.75,0.42] llat = [min(lats),max(lats)] llon = [min(lons),max(lons)] slimits = [llat(1),llon(0),llat(0),llon(1)] colorsP = 180+indgen(10)*5 colorsN = 110-indgen(10)*5 ;------------------------------------------------ ; Seasonal cycle ;------------------------------------------------ name = 'NCEP_wind_seas' device,filename=dirplots+name+'.ps',/color,ysize=25,yoffset=1,xsize=18 ; Wind vectors ;----------------------------------- for t=0,11 do begin map_set,0,180,/mercator,limit=slimits,charsize=0.9,/advance,position=pos_plot(*,t) velovect,useas(ic,ir,t),vseas(ic,ir,t),lonip,latir,/overplot,length=2 if t eq 11 then map_gridMD,thick=0.05,charsize=0.6,/box_axes,label=2,/no_grid map_continents,/coast,mlinethick=2,color=0 xyouts,200,35,mes(t) plots,[min(lon),max(lon)],[0,0],linestyle=1 plots,[-180,-180],[-30,30],linestyle=1 endfor ; Wind speed ;------------------------------------ tlevels = (indgen(20)+1)/2. tcolors = [reverse(colorsN),colorsP] ;fix(indgen(30)+8)*6 tnames = string(tlevels,format='(f4.1)') tnames(indgen(10)*2) = ' ' map_set,0,180,/mercator,limit=slimits,charsize=0.9,position=pos_plot(*,0) for t=0,11 do begin map_set,0,180,/mercator,limit=slimits,charsize=0.9,/advance,position=pos_plot(*,t) contour,sseas(*,*,t),lons,lats,/overplot,c_colors=reverse(tcolors),/cell_fill,levels=tlevels velovect,useas(ic,ir,t),vseas(ic,ir,t),lonip,latir,/overplot,length=2 if t eq 11 then map_gridMD,thick=0.05,charsize=0.6,/box_axes,label=2,/no_grid map_continents,/coast,mlinethick=2,color=0 xyouts,200,35,mes(t) ; if t eq 0 then xyouts,325,50,'EPW - Zonal wind Regressions',charsize=0.9 plots,[min(lon),max(lon)],[0,0],linestyle=1 plots,[-180,-180],[-30,30],linestyle=1 endfor ; Colorbar ;------------------------------------------------------------------------------------- !p.charsize=0.7 plot,indgen(n_elements(tlevels)),replicate(1,n_elements(tlevels)),$ position=pos_bar,/noerase,xstyle=4,ystyle=4,charsize=0.5 bar_plot,replicate(1,n_elements(tlevels)),colors=reverse(tcolors),$ /overplot,barspace=0.0005,/outline,barnames=tnames device,/close spawn,'ps2pdf '+dirplots+name+'.ps '+dirwebseas+name+'.pdf' ;------------------------------------------------ ; Time evolution ;------------------------------------------------ name = 'NCEP_windvec_anom' device,filename=dirplots+name+'.ps',/color,ysize=25,yoffset=1,xsize=18 years = indgen(dim(3)/12)+1959 udata = reform(uanom,dim(1),dim(2),dim(3)/12,12) vdata = reform(vanom,dim(1),dim(2),dim(3)/12,12) udim = size(udata) ; Wind vectors ;----------------------------------- for i=0,udim(3)-1 do begin map_set,0,180,/mercator,limit=slimits,charsize=0.9,position=pos_plot(*,0) for t=0,11 do begin map_set,0,180,/mercator,limit=slimits,charsize=0.9,/advance,position=pos_plot(*,t) velovect,udata(ic,ir,i,t),vdata(ic,ir,i,t),lonip,latir,/overplot,length=2 if t eq 11 then map_gridMD,thick=0.05,charsize=0.6,/box_axes,label=2,/no_grid if t eq 1 then xyouts,190,50,strtrim(string(fix(years(i))),2),charsize=1.1 map_continents,/coast,mlinethick=2,color=0 xyouts,200,35,mes(t) plots,[min(lon),max(lon)],[0,0],linestyle=1 plots,[-180,-180],[-30,30],linestyle=1 endfor endfor device,/close spawn,'ps2pdf '+dirplots+name+'.ps '+dirweb+name+'.pdf' ; Wind speed ;------------------------------------ name = 'NCEP_windspeed_anom' device,filename=dirplots+name+'.ps',/color,ysize=25,yoffset=1,xsize=18 tlevels = (indgen(10)+1)/2. tcolors = [reverse(colorsN),255,colorsP] ;fix(indgen(30)+8)*6 tnames = string([-reverse(tlevels),0,tlevels],format='(f4.1)') tnames(indgen(11)*2) = ' ' sdata = reform(sanom,dim(1),dim(2),12,dim(3)/12) for i=0,udim(4)-1 do begin map_set,0,180,/mercator,limit=slimits,charsize=0.9,position=pos_plot(*,0) for t=0,11 do begin map_set,0,180,/mercator,limit=slimits,charsize=0.9,/advance,position=pos_plot(*,t) contour,sdata(*,*,t,i),lons,lats,/overplot,c_colors=colorsP,/cell_fill,levels=tlevels contour,-sdata(*,*,t,i),lons,lats,/overplot,c_colors=colorsN,/cell_fill,levels=tlevels velovect,udata(ic,ir,t,i),vdata(ic,ir,i,t),lonip,latir,/overplot,length=2 if t eq 11 then map_gridMD,thick=0.05,charsize=0.6,/box_axes,label=2,/no_grid if t eq 1 then xyouts,190,50,strtrim(string(fix(years(i))),2),charsize=1.1 map_continents,/coast,mlinethick=2,color=0 xyouts,200,35,mes(t) ; if t eq 0 then xyouts,325,50,'EPW - Zonal wind Regressions',charsize=0.9 plots,[min(lon),max(lon)],[0,0],linestyle=1 plots,[-180,-180],[-30,30],linestyle=1 endfor ; Colorbar ;------------------------------------------------------------------------------------- !p.charsize=0.7 plot,indgen(n_elements(tcolors)),replicate(1,n_elements(tcolors)),$ position=pos_bar,/noerase,xstyle=4,ystyle=4,charsize=0.5 bar_plot,replicate(1,n_elements(tcolors)),colors=tcolors,$ /overplot,barspace=0.0005,/outline,barnames=tnames endfor device,/close spawn,'ps2pdf '+dirplots+name+'.ps '+dirweb+name+'.pdf' stop end