print, 'Running waccm_mtm' ; waccmFilename = "/ptmp/joemci/WACCMOut/wa319_4x5_std.cam2.h1.1999-02-25-00000.nc" ; waccmFilename = "/waccm/liuh/ensmhr/djf_ensm_03.cam2.h1.1997-12-21-00000.nc" nFilesW = 31 waccmFiles = ["/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-01-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-02-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-03-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-04-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-05-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-06-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-07-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-08-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-09-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-10-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-11-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-12-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-13-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-14-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-15-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-16-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-17-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-18-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-19-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-20-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-21-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-22-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-23-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-24-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-25-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-26-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-27-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-28-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-29-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-30-00000.nc", $ "/aim/d/waccm/sminyear/12/wa319_2x_sminyear.cam2.h1.1951-12-31-00000.nc"] waccmFiles = ["/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-01-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-02-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-03-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-04-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-05-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-06-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-07-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-08-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-09-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-10-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-11-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-12-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-13-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-14-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-15-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-16-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-17-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-18-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-19-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-20-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-21-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-22-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-23-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-24-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-25-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-26-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-27-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-28-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-29-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-30-00000.nc", $ "/aim/d/waccm/sminyear/03/wa319_2x_sminyear.cam2.h1.1951-03-31-00000.nc"] ; ; Set the pressure levels to process ; nZ = 1 zNeeded = [285.0] nP = 1 ; ; Set number of times from each file to process ; ; nFT = 3 nFT = 2 ; Pres = [1.0,5.0,10.0,50.0,100.0,500.0] ; ; Set Latitude to process ; ; latNeeded = 20.0 ; ; Read first WACCM file to get dimensions of data time read ; ; nFirstDayW = 26 waccmFilename = waccmFiles[0] ; print, 'Reading first input file to get dimensions ' ncdf_waccm_read,waccmFilename,lonW,latW,lev3D,timeOutW,nXW,nYW,nZW,nTW,nameCnst,$ GEOPTH=zW,XWind=uNW,YWind=vNW,ZWind=wNW,TEMP=tNW ; ; Set number of total WACCM times to number of files since not able to read all points for 90 days ; ; nFilesW = 1 ; nTInAllW = nFilesW ; nTInAllW = nTW * nFilesW ; nFirstDayW = 26 ; nTAllW = 0 ; ; Loop over input WACCM files to accumlate in time ; ; tNAllW0 = FLTARR(nXW,nYW,nZW,nTInAllW) ; tNAllW6 = FLTARR(nXW,nYW,nZW,nTInAllW) ; uNAllW = FLTARR(nXW,nYW,nZW,nTInAllW) ; vNAllW = FLTARR(nXW,nYW,nZW,nTInAllW) ; zNAllW0 = FLTARR(nXW,nYW,nZW,nTInAllW) ; zNAllW6 = FLTARR(nXW,nYW,nZW,nTInAllW) ; FOR iFW = 0, nFilesW-1 DO BEGIN ; ; fileN = iFW + nFirstDayW ; fileNC = STRTRIM(fileN) ; waccmFilename = waccmFiles[iFW] ; ; print, 'Reading file ', waccmFilename ; ; ncdf_waccm_read,waccmFilename,lonW,latW,lev3D,timeOutW,nXW,nYW,nZW,nTW,nameCnst,$ ; GEOPTH=zW,XWind=uNW,YWind=vNW,ZWind=wNW,TEMP=tNW ; ; ; For time being only include 1st(UT0) and 3rd(UT6) time step of each day in analysis ; ; nTInW = 0 ; iTW = 0 ; FOR iTW = nTAllW,nTAllW+nTW-1 DO BEGIN ; ; IF iFW EQ nTAllW THEN $ ; tNAllW0[*,*,*,iFW] = tNW[*,*,*,0] ; IF iFW EQ nTAllW+2 THEN $ ; tNAllW6[*,*,*,iFW] = tNW[*,*,*,2] ; uNAllW[*,*,*,iFW] = uNW[*,*,*,nTInW] ; vNAllW[*,*,*,iFW] = vNW[*,*,*,nTInW] ; zNAllW0[*,*,*,iFW] = zW[*,*,*,0]/1000.0 ; zNAllW6[*,*,*,iFW] = zW[*,*,*,6]/1000.0 ; tNAllW[*,*,*,iTW] = tNW[*,*,*,nTInW] ; uNAllW[*,*,*,iTW] = uNW[*,*,*,nTInW] ; vNAllW[*,*,*,iTW] = vNW[*,*,*,nTInW] ; zAllW[*,*,*,iTW] = zW[*,*,*,nTInW] ; nTInW = nTInW + 1 ; ; ENDFOR ; ; nTAllW = nTAllW + 1 ; nTAllW = nTAllW + nTW ; ; ENDFOR ; nTAllW = 0 ; nTInAllW = nTW * nFilesW ; nTInAllW = 3 * nFilesW ; iTAllW = 0 ; ; tNAllW = FLTARR(nXW,nYW,nZW,nTInAllW) ; zNAllW = FLTARR(nXW,nYW,nZW,nTInAllW) ; ; Above does only UT 0 and UT 6. Will do all times here ; ; FOR iFW = 0, nFilesW-1 DO BEGIN ; ; waccmFilename = waccmFiles[iFW] ; ; print, 'Reading file ', waccmFilename ; ; ncdf_waccm_read,waccmFilename,lonW,latW,lev3D,timeOutW,nXW,nYW,nZW,nTW,nameCnst,$ ; GEOPTH=zW,XWind=uNW,YWind=vNW,ZWind=wNW,TEMP=tNW ; ; For time being only include 1st(UT0) through 3rd(UT6) time step of each day in analysis ; ; nTInW = 0 ; FOR iTW = nTAllW,nTAllW+nTW-1 DO BEGIN ; ; IF iTW LT nTAllW+nFT THEN BEGIN ; ; ; tNAllW[*,*,*,iTAllW] = tNW[*,*,*,nTInW] ; zNAllW[*,*,*,iTAllW] = zW[*,*,*,nTInW]/1000.0 ; iTAllW = iTAllW + 1 ; ; ENDIF ; ; nTInW = nTInW + 1 ; ; ENDFOR ; ; nTAllW = nTAllW + nTW ; ; ENDFOR ; ; Since only doing first nFT times from each input file set total number of times to iTAllW ; ; nTAllW = iTAllW print, 'Restoring input WACCM data' ; RESTORE, 'waccm_mtm_UT0-UT6.sav' RESTORE, 'waccm_mtm_UT18-UT21.sav' ; ; Find altitude level to process in WACCM data ; ; tZSubW0 = FLTARR(nXW,nYW,nZ,nTAllW) ; tZSubW6 = FLTARR(nXW,nYW,nZ,nTAllW) tZSubW = FLTARR(nXW,nTAllW) ; zPSubW = FLTARR(nXW,nYW,nZ,nTAllW) ; ; Find latitude index for latNeeded ; ; ltInd = WHERE(latW GE latNeeded - 1.0 AND latW LE latNeeded + 1.0) ; IF N_ELEMENTS(ltInd) GT 1 THEN BEGIN ; ; ltDiff = latW[ltInd] - latNeeded ; ltDiffMin = MIN(ltDiff) ; iLt = WHERE(latW EQ ltDiffMin) ; ; ENDIF ELSE IF ltInd[0] EQ -1 THEN BEGIN ; IF ltInd[0] EQ -1 THEN BEGIN ; ; MESSAGE, 'Cannot find latitude index in WACCM' ; ; ENDIF ELSE BEGIN ; ; iLt = ltInd[0] ; ; ENDELSE iLt = 58 ;20 degrees north latitude ; iLt = 32 ;30 degrees south latitude FOR iLn=0,nXW-1 DO BEGIN FOR iT = 0, nTAllW-1 DO BEGIN ; ; Find altitude index for UT 0Z ; ; zWLnLtT0 = zNAllW0[iLn,iLt,*,iT] ; zInd0 = WHERE(zWLnLtT0 GE 280.0 AND zWLnLtT0 LE 290.0) ; IF N_ELEMENTS(zInd0) GT 1 THEN BEGIN ; ; zDiff0 = zWLnLtT0[zInd0] - 275.0 ; zDiffMin0 = MIN(zDiff0) ; iZ0 = WHERE(zWLnLtT0 EQ 275.0 + zDiffMin0) ; ; ENDIF ELSE IF zInd0[0] EQ -1 THEN BEGIN ; IF zInd0[0] EQ -1 THEN BEGIN ; ; MESSAGE, 'Cannot find altitude index in WACCM' ; ; ENDIF ELSE BEGIN ; ; iZ0 = zInd0[0] ; ; ENDELSE ; ; print, 'UT0 Z index is ', iZ0, zWLnLtT0[iZ0] ; ; ; Find altitude index for this time ; zWLnLtT = zNAllW[iLn,iLt,*,iT] zInd = WHERE(zWLnLtT GE 275.0 AND zWLnLtT LE 295.0) IF zInd[0] EQ -1 THEN BEGIN MESSAGE, 'Cannot find altitude index in WACCM' ENDIF ELSE BEGIN iZ = zInd[0] ENDELSE ; print, 'index is ', iLn, iT, iZ, zWLnLtT[iZ-1] , zWLnLtT[iZ] , zWLnLtT[iZ+1] ENDFOR ;Time ; ; Here iLt and iZ are single indices ; tZSubW(iLn,*) = REFORM(tNAllW(iLn,iLt,iZ,*)) ENDFOR ;Longitude ; ENDFOR ;Latitude ; ENDFOR ;Altitude ; ; Need to convert from 0-360 longitude grid to -180.0 to 180.0 longitude grid ; nLonTemp = nXW+nXW/2 tZSubWTemp = FLTARR(nLonTemp,nTAllW) tZSubWOrig = tZSubW tZSubWTemp[0:nXW-1,*] = tZSubW[0:nXW-1,*] tZSubWTemp[nXW:nLonTemp-1,*] = tZSubW[0:nXW/2-1,*] tZSubW[0:nXW-1,*] = tZSubWTemp[nXW/2:nLonTemp-1,*] lonWOrig = lonW lonW = lonW - 180.0 ;lon,lat,level,time zAmp ; zAmp = FLTARR(nXW,nYW,nP,nTAllW) ; tAmp = FLTARR(nXW,nYW,nP,nTAllW) tWZonalMean = FLTARR(nTAllW) ; iLonMin = 36 ; iLonMax = 108 iLonMin = 72 iLonMax = 143 nT = 0 ; ; Find zonal mean for appropriate longitude range ; FOR iT=0,nTAllW-1 DO BEGIN tWZonalMean[iT] = MEAN(tZSubW[iLonMin:iLonMax,iT]) iLonMin = iLonMin - 18 IF iLonMin LT 0 THEN iLonMin = 144 + iLonMin iLonMax = iLonMax - 18 IF iLonMax EQ 125 THEN iLonMax = 126 ;account for one less point on end of lon array(index 143 is 177.5 degrees) IF iLonMax LT 0 THEN iLonMax = 144 + iLonMin nT = nT + 1 IF nT EQ nFT THEN BEGIN nT =0 ; iLonMin = 36 ; iLonMax = 108 iLonMin = 72 iLonMax = 143 ENDIF ENDFOR ; ; Need to calculate deviation from zonal mean for each day and time ; tWZonalMeanDev = FLTARR(nXW,nTAllW) FOR iLn=0,nXW-1 DO BEGIN FOR iT=0,nTAllW-1 DO BEGIN tWZonalMeanDev[iLn,iT] = tZSubW[iLn,iT] - tWZonalMean[iT] ENDFOR ENDFOR set_plot, 'ps' ; device, /color, filename='idl_tmt_UT00-UT06.ps' device, /color, filename='idl_tmt_UT18-UT21.ps' xTitle = ' Longitude (Degrees)' yTitle = 'Temperature Deviation from Zonal Mean (K) ; Title0 = ' Temperature Deviation from Zonal Mean March 20N 285km UT00' ; plot, lonw, twzonalmeandev[*,0], xrange=[-90.0,90.0],yrange=[-60,100],xstyle=1,ystyle=1,title=Title0,xtitle=xTitle,ytitle=yTitle ; for iPlt = 0,nTAllW-1,3 DO oplot, lonw, twzonalmeandev[*,iPlt] ; ; Title3 = ' Temperature Deviation from Zonal Mean March 20N 285km UT03' ; plot, lonw, twzonalmeandev[*,1], xrange=[-135.0,45.0],yrange=[-60,100],xstyle=1,ystyle=1,title=Title3,xtitle=xTitle,ytitle=yTitle ; for iPlt = 1,nTAllW-1,3 DO oplot, lonw, twzonalmeandev[*,iPlt] ; ; Title6 = ' Temperature Deviation from Zonal Mean March 20N 285km UT06' ; plot, lonw, twzonalmeandev[*,2], xrange=[-180.0,0.0],yrange=[-60,100],xstyle=1,ystyle=1,title=Title6,xtitle=xTitle,ytitle=yTitle ; for iPlt = 2,nTAllW-1,3 DO oplot, lonw, twzonalmeandev[*,iPlt] Title3 = ' Temperature Deviation from Zonal Mean March 20N 285km UT18' plot, lonw, twzonalmeandev[*,0], xrange=[0.0,180.0],yrange=[-60,100],xstyle=1,ystyle=1,title=Title3,xtitle=xTitle,ytitle=yTitle for iPlt = 0,nTAllW-1,3 DO oplot, lonw, twzonalmeandev[*,iPlt] Title6 = ' Temperature Deviation from Zonal Mean March 20N 285km UT21' plot, lonw, twzonalmeandev[*,1], xrange=[-45.0,135.0],yrange=[-60,100],xstyle=1,ystyle=1,title=Title6,xtitle=xTitle,ytitle=yTitle for iPlt = 1,nTAllW-1,3 DO oplot, lonw, twzonalmeandev[*,iPlt] device,/close set_plot, 'x' END ;TopTitleA = 'FFT Amplitude of Geopotential Height Lat=10 Level=10,Time=' ;PLOT, /ylog, zAmp[0,*,*,0],xrange=[0,10],xtitle=XTitle,ytitle=YTitle,Title=TopTitleA ; DEVICE, DECOMPOSED = 0 ; LOADCT, 39 ; contour, zamp[1:10,*,20,0],findgen(10),latw,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[-90,90],ystyle=1 ;contour, tamp[1:10,*,20,0],findgen(10),latw,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[-90,90],ystyle=1 set_plot, 'ps' device, /color, filename='idl_tamp.ps' loadct, 39 !p.multi=[2,2] fgen90 = findgen(90) fgen40 = findgen(40) xTitle = 'Time(3hr)' yTitle = 'Frequency' Title = ' Lat=-88 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,1,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-80 Level=100 hPa' contour, reform(transpose(tamp[1:40,5,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-70 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,11,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-60 Level=100 hPa' contour, reform(transpose(tamp[1:40,16,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-50 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,21,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-40 Level=100 hPa' contour, reform(transpose(tamp[1:40,26,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-30 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,32,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-20 Level=100 hPa' contour, reform(transpose(tamp[1:40,37,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-10 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,42,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=0 Level=100 hPa' contour, reform(transpose(tamp[1:40,47,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=10 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,53,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=20 Level=100 hPa' contour, reform(transpose(tamp[1:40,58,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=30 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,63,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=40 Level=100 hPa' contour, reform(transpose(tamp[1:40,69,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=50 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,74,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=60 Level=100 hPa' contour, reform(transpose(tamp[1:40,79,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=70 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,84,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=80 Level=100 hPa' contour, reform(transpose(tamp[1:40,90,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=90 Level=100 hPa FFT Amp. Temperature' contour, reform(transpose(tamp[1:40,94,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle device,/close device, /color, filename='idl_zamp.ps' loadct, 39 !p.multi=[2,2] fgen90 = findgen(90) fgen40 = findgen(40) xTitle = 'Time(3hr)' yTitle = 'Frequency' Title = ' Lat=-88 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,1,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-80 Level=100 hPa' contour, reform(transpose(zamp[1:40,5,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-70 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,11,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-60 Level=100 hPa' contour, reform(transpose(zamp[1:40,16,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-50 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,21,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-40 Level=100 hPa' contour, reform(transpose(zamp[1:40,26,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-30 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,32,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-20 Level=100 hPa' contour, reform(transpose(zamp[1:40,37,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=-10 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,42,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=0 Level=100 hPa' contour, reform(transpose(zamp[1:40,47,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=10 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,53,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=20 Level=100 hPa' contour, reform(transpose(zamp[1:40,58,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=30 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,63,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=40 Level=100 hPa' contour, reform(transpose(zamp[1:40,69,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=50 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,74,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=60 Level=100 hPa' contour, reform(transpose(zamp[1:40,79,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=70 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,84,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=80 Level=100 hPa' contour, reform(transpose(zamp[1:40,90,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle Title = ' Lat=90 Level=100 hPa FFT Amp. Geopot. Ht.' contour, reform(transpose(zamp[1:40,94,1,*])),fgen90,fgen40,nlev=140,c_colors=BYTSCL(indgen(140)),/fill,yrange=[0,10],ystyle=1,title=Title, xtitle=xTitle, ytitle=yTitle device,/close set_plot,'x' ; nTAllW2 = nTAllW/2+1 ; nShiftW = (nXW+1)/2-1 ; zonalfreq,uuNSubW,nTAllW,nXW,nYW,nP,nShiftW,nTAllW2,uuSpcW,uuDTW,uuSDTW,uuP10W,uuP20W,uuP12W,uuP21W ; zonalfreq,vuNSubW,nTAllW,nXW,nYW,nP,nShiftW,nTAllW2,vuSpcW,vuDTW,vuSDTW,vuP10W,vuP20W,vuP12W,vuP21W ; zonalfreq,tuNSubW,nTAllW,nXW,nYW,nP,nShiftW,nTAllW2,tuSpcW,tuDTW,tuSDTW,tuP10W,tuP20W,tuP12W,tuP21W ; xwn = indgen(nx)-nshift ; freq = indgen(nT2) ; xwnw = nshiftw-indgen(nxw) ; freqw = indgen(nTAllW2) ; DEVICE, DECOMPOSED = 0 ; LOADCT, 39 ; nlevels = 20 ; clevels = fltarr(nlevels) ; fmin = min(alog10(uuspc[*,*,36,2])) ; fmax = max(alog10(uuspc[*,*,36,2])) ; conint = (fmax-fmin) / (nlevels-1) ; for i=0,nlevels-1 do clevels(i) = fmin+i*conint ; clevelsw = fltarr(nlevels) ; fminw = min(alog10(uuspcw[*,*,36,2])) ; fmaxw = max(alog10(uuspcw[*,*,36,2])) ; conintw = (fmaxw-fminw) / (nlevels-1) ; for i=0,nlevels-1 do clevelsw(i) = fminw+i*conintw ; window, ret=2 ;contour, alog10(uuspc[*,*,36,0]), xwn,freq, nlev=21, /cell_fill, xrange=[-10,10], yrange=[0,20] ;contour, alog10(uuspc[*,*,36,2]), xwn,freq, nlev=21, /cell_fill, xrange=[-10,10], yrange=[0,10] ;contour, alog10(uuspcw[*,*,36,2]), xwnw,freqw, nlev=21, /cell_fill, xrange=[-10,10], yrange=[0,6] ;plot, lat, uuspc[70,11,*,0] ;plot, lat, uuspc[70,11,*,1] ;plot, lat, uuspc[70,11,*,2] ;contour, alog10(uuspc[*,*,36,2]), xwn,freq,/noerase,/follow,/fill,xstyle=5,ystyle=5,levels=clevels,c_colors=BYTSCL(indgen(20)),xrange=[-10,10], yrange=[0,10] ;contour, alog10(uuspc[*,*,36,2]), xwn,freq,/noerase,/follow,levels=clevels,xstyle=1, xrange=[-10,10], yrange=[0,10] ;contour, alog10(uuspcw[*,*,36,2]), xwnw,freqw,/noerase,/follow,/fill,xstyle=5,ystyle=5,levels=clevelsw,c_colors=BYTSCL(indgen(20)),xrange=[-10,10], yrange=[0,10] ;contour, alog10(uuspcw[*,*,36,2]), xwnw,freqw,/noerase,/follow,levels=clevelsw,xstyle=1, xrange=[-10,10], yrange=[0,10] ; ;set_plot, 'ps' ;device, /color ;loadct, 39 ;!p.multi=[2,2] ;contour, alog10(uuspc[*,*,36,0]), xwn,freq, nlev=21, /cell_fill, xrange=[-10,10],Title='ECMWF 1 hPA' ;contour, alog10(uuspcw[*,*,47,0]), xwnw,freqw, nlev=21, /cell_fill, xrange=[-10,10], yrange=[0,20],Title='WACCM 1 hPA' ;contour, alog10(uuspc[*,*,36,1]), xwn,freq, nlev=21, /cell_fill, xrange=[-10,10],Title='ECMWF 10 hPA' ;contour, alog10(uuspcw[*,*,47,1]), xwnw,freqw, nlev=21, /cell_fill, xrange=[-10,10], yrange=[0,20],Title='WACCM 10 hPA' ;contour, alog10(uuspc[*,*,36,2]), xwn,freq, nlev=21, /cell_fill, xrange=[-10,10],Title='ECMWF 100 hPA' ;contour, alog10(uuspcw[*,*,47,2]), xwnw,freqw, nlev=21, /cell_fill, xrange=[-10,10], yrange=[0,20],Title='WACCM 10 hPA' ;device,/close END