;********** ; wavelet_1.ncl ; ; Concepts illustrated: ; - Computing wavelets ;********* ;
; These files are loaded by default in NCL V6.2.0 and newer ;
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" ;
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" ;***********************************
begin
;******************* ; create pointer to file and read in variables ;******************
f = addfile ("NAO_b053.03_0000-0999.nc","r")
nao = f->NAO ; one value/year
time = nao&time
N = dimsizes(time)
;Remove mean and linear trend(recommended, not required);Missing values are not allowed.
;nao = dtrend(nao,False)
;**********; compute wavelet (Missing values not allowed due to use of FFT) ;***********
mother = 0
param = 6.0
dt = 1. ;for NAO (timesteps in units of years)
s0 = 0.25
dj = 0.25
jtot = 44
npad = N
nadof = new(2,float)
noise = 1
siglvl = .05
isigtest= 1
w = wavelet(nao,mother,dt,param,s0,dj,jtot,npad,noise,isigtest,siglvl,nadof)
;********************* ; create coodinate arrays for plot ;**************************
power = onedtond(w@power,(/jtot,N/))
power!0 = "period" ; Y axis
power&period = w@period
power!1 = "time" ; X axis
power&time = time
power@long_name = "Power Spectrum"
power@units = "unit^2" ; compute significance ( >= 1 is significant)
SIG = power ; transfer meta data
SIG = power/conform (power,w@signif,0)
SIG@long_name = "Significance"
SIG@units = " "
;************************* ; initial resource settings ;******************************
wks = gsn_open_wks("png","wavelet") ; send graphics to PNG file
plot = new(2,graphic) ; create graphical array
res = True ; plot mods desired
res@gsnFrame = False ; don't advance frame yet
res@gsnDraw = False ; don't draw yet
res@cnFillOn = True ; turn on color
res@cnFillPalette = "BlAqGrYeOrReVi200" ; set color map
res@cnFillMode = "RasterFill" ; turn on raster mode
res@cnRasterSmoothingOn = True ; turn on raster smoothing
res@cnLinesOn = False ; turn off contour lines
res@lbOrientation = "Vertical" ; vertical label bar
res@trYReverse = True ; reverse y-axis
res@tmLabelAutoStride = True
res@vpHeightF = .4 ; height and width of plot
res@vpWidthF = .85
res@cnLevelSelectionMode = "ManualLevels" ; set manual contour levels
res@cnMinLevelValF = 0.0 ; set min contour level
res@cnMaxLevelValF = 20.0 ; set max contour level
res@cnLevelSpacingF = 2.0 ; set contour spacing ; power
res@gsnLeftString = "Wavelet Power"
plot(0) = gsn_csm_contour(wks,power({0:64},499:N-1),res)
; significance
res@cnMinLevelValF = 1.0 ; set min contour level
res@cnMaxLevelValF = 4.0 ; set max contour level
res@cnLevelSpacingF = 3.0 ; set contour spacing
res@gsnLeftString = "Wavelet Significance"
plot(1) = gsn_csm_contour(wks,SIG({0:64},499:N-1),res)
;**************************** ; create panel plot ;****************************
resP = True
resP@gsnPanelMainString = "NAO: case b053.03"
resP@gsnPanelYWhiteSpacePercent = 2
gsn_panel(wks,plot,(/2,1/),resP)
end