Lat Lon plot from WRF grib file

From: Estatio Gutierrez <estatio_at_nyahnyahspammersnyahnyah>
Date: Thu Mar 11 2010 - 19:09:40 MST

Hi,

I want to make a plot from a WRF grib file (obtained from WPP).

I'm trying to change the coordinate system from x/y to lat/lon, but I get this error message:

warning:tmXBMinorLengthF is not a valid resource in 0_contour.PlotManager at this time
warning:NhlGetValues:Error retrieving tmXBMinorLengthF

I need to overlay a shapefile which is in lat lon and that is why I have to plot the WRF output in lat lon.

I think the problem is that I'm not doing the conversion properly.

Thanks for your help.

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"
;************************************************
; MAIN
;************************************************
begin

DATADir = "/home/estatio/ncl_scripts/pbl/"
  FILES = systemfunc (" ls -1 " + DATADir + "WRF* ")
  numFILES = dimsizes(FILES)

do ifil = 0,numFILES-1

a=addfile(FILES(ifil)+".grb","r")

pbl=a->HPBL_GDS3_SFC_10
lat2d=a->NLAT_GDS3_SFC_10(:,:)
lon2d=a->ELON_GDS3_SFC_10(:,:)
pltType = "x11"

 wks = gsn_open_wks (pltType,ifil) ; open workstation
    gsn_define_colormap(wks,"BlueDarkRed18") ; choose colormap

    res = True ; plot mods desired
    res@gsnMaximize = True ; make ps, eps, pdf large
    res@gsnSpreadColors = True ; Use full color map
 ; res@gsnSpreadColorEnd= -2 ; do not use gray for contours
    res@cnFillOn = True ; color
    res@cnLinesOn = False
    res@cnLineLabelsOn = False

    res@lbLabelAutoStride= True ; let NCL choose stride

    res@gsnDraw = False ; don't draw
    res@gsnFrame = False

 res@tiXAxisString = lon@long_name
 res@tiYAxisString = lat@long_name
 res@sfXArray = lon2d
 res@sfYArray = lat2d
 
plot = gsn_csm_contour(wks,pbl,res) ; Pacific

; Open the states shapefile and draw the state boundaries...
  f = addfile("/home/estatio/ncl_scripts/nybb_09c_av/nybb.shp", "r")

  geometry = f->geometry
  segments = f->segments
  segsDims = dimsizes(segments)
  dims = dimsizes(geometry)

;
; We need to reference these inside a nested do loop, so it's
; better to read them off the file here once, and use the
; local variables inside the do loops.
;
  geom_segIndex = f@geom_segIndex
  geom_numSegs = f@geom_numSegs
  segs_xyzIndex = f@segs_xyzIndex
  segs_numPnts = f@segs_numPnts

  plres = True
  plres@gsLineColor = "black"
  plres@gsLineThicknessF=1.5
  lines = new(segsDims(0),graphic)

  numFeatures = dims(0)

  segNum = 0
  latc = f->y
  lonc = f->x
  do i=0, numFeatures-1
     startSegment = geometry(i, geom_segIndex)
     numSegments = geometry(i, geom_numSegs)
     do seg=startSegment, startSegment+numSegments-1
        startPT = segments(seg, segs_xyzIndex)
        endPT = startPT + segments(seg, segs_numPnts) - 1
        lines(segNum) = gsn_add_polyline(wks, plot, lonc(startPT:endPT), \
                                                    latc(startPT:endPT), plres)
        segNum = segNum + 1
     end do
end do

draw(plot)
frame(wks)

 delete(wks)

; cmd = "convert -geometry 1200x1200 -density 1200 -trim " + ifil + ".ps " + \
; ifil + ".png"
; system(cmd)

end do

end

      

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Mar 11 19:09:57 2010

This archive was generated by hypermail 2.1.8 : Fri Mar 12 2010 - 09:11:56 MST