[ncl-talk] attaching a shapefile to a wrfoutput plot

Rick Brownrigg brownrig at ucar.edu
Thu Apr 14 11:45:35 MDT 2016


I don't know for certain here -- do you get any errors?


After you define pltres = True, you might try adding:

pltres at gsnDraw = False
pltres at gsnFrame = False

Also, note that you overwrite your variable "plot" with two successive
calls to wrf_map_overlays.  I suspect you want to combine those into one
call to overlay the 4 contour/vector plots.

Finally, are you certain your shapefile is in lat/lon?  You can try
something like:

ncl_filedump -v x shape.shp
ncl_filedump -v y shape.shp

to see if the x/y coordinates look like valid lon/lats for you area of
interest.

Hope that helps...
Rick

On Thu, Apr 14, 2016 at 10:45 AM, Kerandi, Noah Misati (IMK) <
noah.kerandi at kit.edu> wrote:

> Dear all,
>
> I have tried one example of ncl script for plotting surface wind
> (see below) to attach a shape file to  a wrf output plot however with no
> success.
>
> The shape file doesn't get  attached to the two plots.
>
> I will be glad if somebody moves me out from this state.
>
> Thank you.
>
>
> Noah
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
> ;load "./WRFUserARW.ncl"
>
> begin
> ; ; This needs to have a ".nc" appended, so just do it.
>   a = addfile("file","r")
>
>
>
> ; We generate plots, but what kind do we prefer?
>    type = "x11"
>   ;type = "pdf"
>   ;type = "ps"
> ; type = "ncgm"
>   wks = gsn_open_wks(type,"~/test")
>
> ; Set some basic resources
>   res = True
>
>   res at MainTitle                   = "Surface wind 10m"
>
>
>   mpres = True
>
>  ; Set some Basic Plot options
>   res = True
>
>
>   res at Footer = False
>
>   mpres = True
>  pltres            = True   ; Basic overlay plot options
>
>
>   mpres at mpNationalLineColor         = "Black"
>   mpres at mpUSStateLineColor          = "Black"
>   ;mpres at mpGridLineColor             = "Black"
>   mpres at mpLimbLineColor             = "Black"
>   mpres at mpPerimLineColor            = "Black"
>   mpres at mpGeophysicalLineThicknessF = 2.5
>   ;mpres at mpGridLineThicknessF       = 2.0
>   ;mpres at mpLimbLineThicknessF       = 2.5
>   mpres at mpNationalLineThicknessF    = 2.5
>    mpres at mpDataBaseVersion           = "MediumRes"
>
>   mpres at mpFillBoundarySets          ="AllBoundaries"
>   mpres at mpOutlineBoundarySets       = "National"
>
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>
> ; What times and how many time steps are in the data set?
>   times = wrf_user_getvar(a,"times",-1)  ; get all times in the file
>   ntimes = dimsizes(times)         ; number of times in the file
> shp = new(ntimes,graphic)
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>
>   do it = 0,ntimes-1,2             ; TIME LOOP
>
>     print("Working on time: " + times(it) )
>     res at TimeLabel = times(it)   ; Set Valid time to use on plots
>
>
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ; First get the variables we will need
>
>     slp = wrf_user_getvar(a,"slp",it)    ; slp
>       wrf_smooth_2d( slp, 3 )            ; smooth slp
>     tc = wrf_user_getvar(a,"tc",it)      ; 3D tc
>     td = wrf_user_getvar(a,"td",it)      ; 3D td
>     u  = wrf_user_getvar(a,"ua",it)      ; 3D U at mass points
>     v  = wrf_user_getvar(a,"va",it)      ; 3D V at mass points
>     td2 =  wrf_user_getvar(a,"td2",it)   ; Td2 in C
>     tc2 = wrf_user_getvar(a,"T2",it)     ; T2 in Kelvin
>        tc2 = tc2-273.16                  ; T2 in C
>     u10 = wrf_user_getvar(a,"U10",it)    ; u at 10 m, mass point
>     v10 = wrf_user_getvar(a,"V10",it)    ; v at 10 m, mass point
>      rh = wrf_user_getvar(a,"rh",it)        ;
>   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>
>
>      ;tf2 = 1.8*tc2+32.                    ; Turn temperature into
> Fahrenheit
>       tc2 at description = "Surface Temperature"
>       tc2 at units = "~F34~0~F~C"
>     ;td_f = 1.8*td2+32.                   ; Turn temperature into
> Fahrenheit
>       td2 at description = "Surface Dew Point Temp"
>       td2 at units = "~F34~0~F~C"
>     ;u10 = u10*1.94386                    ; Turn wind into knots
>     ;v10 = v10*1.94386
>       u10 at units = "m/s"
>       v10 at units = "m/s"
>
>
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>
>     ; Plotting options for T
>       opts = res
>       opts at cnFillOn = True
>       opts at ContourParameters = (/ 0., 30., 5./)
>       opts at gsnSpreadColorEnd = -3  ; End third from the last color in
> color map
>       contour_tc = wrf_contour(a,wks,tc2,opts)
>
>       delete(opts)
>
>
>     ; Plotting options for Td
>       opts = res
>       opts at cnFillOn = True
>       opts at cnLinesOn = True
>       opts at cnLineLabelsOn = True
>       opts at ContourParameters = (/ 0., 30., 5./)
>       opts at cnLineLabelBackgroundColor = -1
>       opts at gsnSpreadColorEnd = -3  ; End third from the last color in
> color map
>       contour_td = wrf_contour(a,wks,td2,opts)
>
>       delete(opts)
>
>
>     ; Plotting options for SLP
>       opts = res
>       ;opts at cnLineColor = "Blue"
>       ;opts at cnHighLabelsOn = True
>       ;opts at cnLowLabelsOn = True
>        opts at ContourParameters = (/ 1000., 1200., 2. /)
>       ;opts at cnLineLabelBackgroundColor = -1
>       ;opts at gsnContourLineThicknessesScale = 2.0
>       contour_psl = wrf_contour(a,wks,slp,opts)
>
>       delete(opts)
>
>
>    ; Plotting options for Wind Vectors
>
>     opts = res
>         opts at FieldTitle = "Wind"   ; overwrite Field Title
>         opts at NumVectors = 47       ; wind barb density
>         opts at vcRefAnnoOrthogonalPosF = 0.02  ; move ref vector up
>         opts at vcWindBarbColor  = "black"       ; Draw wins barbs in white
>         opts at vcRefMagnitudeF  = 10.0          ; define vector ref mag
>         opts at vcRefLengthF     = 0.045            ; define length of vec
> ref
>         opts at vcGlyphStyle     = "CurlyVector"    ; turn on curly vectors
>         opts at vcMinDistanceF    = 0.055      ; thin out windbarbs
>
>         opts at vcRefAnnoOn       =True
>         opts at gsnFrame          = False            ; so we can draw time
> stamp
>         opts at vcRefAnnoSide     = "Right"
>          vector = wrf_vector(a,wks,u10,v10,opts)
>
>          delete(opts)
>
>
>     ; MAKE PLOTS
>
>      plot =
> wrf_map_overlays(a,wks,(/contour_tc,contour_psl,vector/),pltres,mpres)
>
>
>      plot= wrf_map_overlays(a,wks,(/contour_td,vector/),pltres,mpres)
>  ;define shapefiles
> shp_filename = ("./shape.shp")
> ;-- set shapefile resources
>   shpres                    =  True
>   shpres at gsLineThicknessF   =  3.9                   ;-- increase line
> thickness
>   shpres at gsLineColor        = "Purple"             ;-- line
> colorgsLineThicknessF
>
> shp= gsn_add_shapefile_polylines(wks,plot,shp_filename,shpres)
>  draw(plot)
> frame(wks)
> end do ; END OF TIME LOOP
>
> end
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160414/4ce07b67/attachment.html 


More information about the ncl-talk mailing list