Re: something wrong about the filter

From: Mary Haley <haley_at_nyahnyahspammersnyahnyah>
Date: Tue Apr 20 2010 - 07:53:36 MDT

Hi,

It looks like nobody has responded to this yet.

Can you provide the three data files so we can look into this?

Please see:

http://www.ncl.ucar.edu/report_bug.shtml

for information on where to ftp the files, if you don't have a place
to put them.

Thanks,

--Mary

On Apr 8, 2010, at 9:27 AM, lbqnj wrote:

> Dear all:
> When I plot the Time-Latitude and Time-Longitude cross sections
> in terms of the filtered data, there seems somethig wrong in the
> figtures, in which there seems some values missed. But when I use
> the script to deal with other data, the result is right. BTW, both
> of the data is correct. The script is as follows:
>
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
> begin
> path="$HOME/1998/data/"
> filename1="pv.1998.nc"
> filename2="air.1998.nc"
> filename3="olr.nc"
> f1 = addfile(path+filename1,"r")
> f2 = addfile(path+filename2,"r")
> f3 = addfile(path+filename3,"r")
> pv = f1->pv
> pv&time = f3->olr&time
> T = short2flt(f2->air)
> T&time = pv&time
> lev = f2->level
> ;***********************************************************
> ; Calculate potential temperature at each level aat all grid points
> ;***********************************************************
> ph = T
> do i=0,(dimsizes(lev)-1)
> ph(:,i,:,:) = lev(i)
> end do
> ph@long_name="pressure"
> ph@units="hPa"
> theta = T ; create/
> transfer meta data
> theta = T*(1000/ph)^0.286 ;
> calculate potential temperature
> ;***********************************************************
> ; User specified isentropic levels
> ;***********************************************************
> lvl = ispan(315,380,5)*1. ; specify
> desired isentropic levels
> ;**********************************************************
> ; use int2p to interpolate: This operates on the rightmost
> ; dimension so use named dimensions to reorder
> ;*********************************************************
> pvlvl = 1e4*int2p (theta(time|:,lat|:,lon|:,level|:), \
> pv(time|:,lat|:,lon|:,lev|:), lvl, 0)
> pvlvl!0 = "time" ; name dimensions
> pvlvl!1 = "lat"
> pvlvl!2 = "lon"
> pvlvl!3 = "lvl"
> pvlvl&time = pv&time ; assign coordinates
> pvlvl&lvl = lvl ; isentropic levels
> pvlvl&lat = pv&lat
> pvlvl&lon = pv&lon
> pvlvl@long_name = "Potential Vorticity" ; attributes
> pvlvl@units = "PVU"
> printVarSummary(pvlvl)
> ; ***********************************************
> ; create the filter weights and apply
> ; ***********************************************
> IP = pvlvl(time|:,{lvl|370},lat|:, lon|:)
>
> ihp = 2 ; band pass
> sigma = 1.0 ; Lanczos sigma
> nWgt = 51 ; loose 100 each end
> dt = 1.0
> t1 = 30.0
> t2 = 10.0
> fca = dt/t1 ; start freq
> fcb = dt/t2 ; last freq
> wgt = filwgts_lanczos (nWgt, ihp, fca, fcb, sigma )
> xBPF = wgt_runave ( IP(lat|:,lon|:,time|:), wgt, 0 ) ;
> 30-60 day
> xBPF!0 = "lat"
> xBPF!1 = "lon"
> xBPF!2 = "time"
> xBPF&lat = IP&lat
> xBPF&lon = IP&lon
> xBPF&time = IP&time
> ; printVarSummary(xBPF)
> x1 = dim_avg_n_Wrap(xBPF(:,{50:80},:),1)
> x2 = dim_avg_n_Wrap(xBPF({25:30},:,:),0)
> ; ***********************************************
> ; create new date array for use on the plot
> ; ***********************************************
> month_abbr =
> (/"","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep", \
> "Oct","Nov","Dec"/)
> utc_date = ut_calendar(x1&time, 0)
> month = floattointeger(utc_date(:,1))
> day = floattointeger(utc_date(:,2))
> date_str = sprinti("%0.2i ", day)+month_abbr(month)
> ; **************************************************
> wks = gsn_open_wks ("x11","pv-filters")
> gsn_define_colormap(wks,"BlWhRe") ; choose colormap
>
> res = True ; plot mods desired
> res@gsnDraw = False ; don't draw
> res@gsnFrame = False ; don't advance frame yet
> res@vpHeightF = 0.65 ; change aspect ratio of plot
> res@vpWidthF = 0.45
> res@tmYLMode = "Explicit"
> res@tmYLValues = ispan(120,242,5)
> res@tmYLLabels = date_str(120:242:5)
> res@tmYROn = False
> res@tmXBMode = "Explicit"
> res@tmXBValues = ispan(-20,40,10)
> res@tmXBLabels = (/"20S","10S","EQ","10N","20N","30N","40N"/)
> res@tmXBMinorValues=ispan(-20,40,5)
> res@tmXBLabelFontHeightF=0.013
> res@tmYLLabelFontHeightF=0.013
> res@lbLabelBarOn = False ; turn off individual cb's
> res@lbOrientation = "vertical" ; vertical label bar
> res@cnFillOn = True
> res@cnLinesOn = False
> res@cnLineLabelsOn = False ; no lables on line
> res@cnInfoLabelOn = False ; turn off info label box
> res@gsnSpreadColors = True
>
> plot=new(2,"graphic")
> xx=x1(time|:,lat|:)
> xx1=x2(time|:,lon|:)
> plot(0) = gsn_csm_time_lat(wks,xx(120:242,{-20:40}),res)
> res@tmXBMode = "Explicit"
> res@tmXBValues = ispan(40,160,20)
> res@tmXBLabels = (/"40E","60E","80E","100E","120E","140E","160E"/)
> res@tmXBMinorValues=ispan(40,160,10)
> plot(1) = gsn_csm_hov(wks,xx1(120:242,{40:160}),res)
>
> resP = True
> resP@gsnMaximize = True
> resP@gsnPaperOrientation="portrait"
> resP@gsnPanelFigureStringsPerimOn=False
> resP@amJust=(/"TopLeft"/)
> resP@gsnPanelFigureStringsFontHeightF=0.015
> resP@gsnPanelFigureStrings=(/"(a)","(b)"/)
> resP@gsnPanelFigureStringsPerimOn=False
> resP@gsnPanelLabelBar = True ; add common colorbar
> resP@lbAutoManage = False ; we control label
> bar
> resP@lbOrientation = "horizontal" ; horizontal/
> vertical label bar
> resP@pmLabelBarOrthogonalPosF = 0.01 ; move label bar closer
> ;resP@pmLabelBarSide = "right" ; default is right
> resP@lbLabelStride = 1 ; skip every other
> label
> resP@pmLabelBarWidthF = 0.6 ; default is shorter
> resP@pmLabelBarHeightF = 0.06 ; default is taller
> resP@lbLabelFontHeightF = .0125 ; default is HUGE
> resP@lbPerimOn = False ; default has box
> gsn_panel(wks,plot,(/1,2/),resP)
> end
>
> Best wishes.
> 2010-04-08
> lbqnj
> <figure.jpg>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Apr 20 07:53:59 2010

This archive was generated by hypermail 2.1.8 : Fri Apr 23 2010 - 14:40:07 MDT