[ncl-talk] Overlay a box and a marker over WRF field
Mary Haley
haley at ucar.edu
Wed May 27 12:49:57 MDT 2015
When you use gsn_add_xxxx versus gsn_xxxxx, then in order to see the
"added" feature, you must draw the plot object after you've added the
feature. I.e.
pid = gsn_add_polymarker(wks,plot,lon,lat,mkres)
draw(plot)
frame(wks)
When you just use gsn_polymarker, then the marker is drawn the minute you
call that procedure, and it is *not* attached to the plot.
--Mary
On Wed, May 27, 2015 at 11:26 AM, Rabah Hachelaf <hachelaf at sca.uqam.ca>
wrote:
> But without the dot marker in the center of the domain !!!
>
> 2015-05-27 13:22 GMT-04:00 Rabah Hachelaf <hachelaf at sca.uqam.ca>:
>
> Thanks Rick and others,
>>
>> It works now.
>>
>>
>> Rabah
>>
>> 2015-05-27 13:06 GMT-04:00 Rick Brownrigg <brownrig at ucar.edu>:
>>
>> Hi,
>>>
>>> If you set the resources as recommended by Karin (which you have not
>>> done in your attached script), and you use gsn_add_polymarker() rather than
>>> gsn_polymarker(), you'll get what you are after. Note that
>>> gsn_add_polymarker, like gsn_add_polyline, is a function, not a procedure,
>>> so you must assign the return value to some (arbitrary) variable.
>>>
>>> Rick
>>>
>>>
>>> On Wed, May 27, 2015 at 9:27 AM, Rabah Hachelaf <hachelaf at sca.uqam.ca>
>>> wrote:
>>>
>>>> @ Katin,
>>>>
>>>> Thanks for your replay, but your suggestion does'nt change any things.
>>>> @ Alex,
>>>>
>>>> Attached you find my geo_em, namelist.wps and the ncl script that i
>>>> use.
>>>>
>>>>
>>>> Thanks.
>>>>
>>>> Rabah
>>>>
>>>> 2015-05-27 6:47 GMT-04:00 Karin Meier-Fleischer <
>>>> meier-fleischer at dkrz.de>:
>>>>
>>>>> Hi,
>>>>>
>>>>> take a look at the web page
>>>>> https://www.ncl.ucar.edu/Document/Functions/WRF_arw/wrf_map_overlays.shtml
>>>>>
>>>>> —>
>>>>>
>>>>> If you want to use gsn_add_poly*xxxx* routines (like
>>>>> *gsn_add_polymarker*
>>>>> <https://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_add_polymarker.shtml>)
>>>>> to add primtives to a WRF plot, then you need to set:
>>>>>
>>>>> plt_res at PanelPlot = True
>>>>> plt_res at FramePlot = False
>>>>>
>>>>> *before* you call *wrf_map_overlays*. Then, call the appropriate
>>>>> gsn_add_poly*xxxx* routine to attach the desired primitives, and
>>>>> finally call *draw*
>>>>> <https://www.ncl.ucar.edu/Document/Functions/Built-in/draw.shtml>(plot)
>>>>> and *frame*
>>>>> <https://www.ncl.ucar.edu/Document/Functions/Built-in/frame.shtml>(wks)
>>>>> to draw the plot with the attached primitives and advance the frame.
>>>>>
>>>>> Bye,
>>>>> Karin
>>>>>
>>>>>
>>>>>
>>>>> Am 27.05.2015 um 05:51 schrieb Alex Schaefer <
>>>>> alexander.schaefer at mines.sdsmt.edu>:
>>>>>
>>>>> Rabah,
>>>>>
>>>>> So if you don’t put them both both res and pltres you still end up
>>>>> with 2 plots?
>>>>>
>>>>> It might also be worth trying to use the gsn_add_polymarker as opposed
>>>>> to using the gsn-polymarker. gsn_polymarker might have the frame internally
>>>>> built. The gsn_add_polymarker does return an identifier so you would do it
>>>>> similar to your polyline call:
>>>>>
>>>>> pm_id = gsn_add_polymarker(wks,plot,npres at ref_lon,npres at ref_lat,mpres)
>>>>>
>>>>> If this doesn’t work can you attach your geo_em file and script and I
>>>>> will see if I can see what is going on.
>>>>>
>>>>> -Alex
>>>>>
>>>>>
>>>>>
>>>>> On May 26, 2015, at 7:06 PM, Rabah Hachelaf <hachelaf at sca.uqam.ca>
>>>>> wrote:
>>>>>
>>>>> Hi Alex ,
>>>>>
>>>>> When i add
>>>>> opts at gsnDraw = False
>>>>> opts at gsnFrame = False
>>>>> or
>>>>> res at gsnDraw = False
>>>>> res at gsnFrame = False
>>>>>
>>>>> and also
>>>>>
>>>>> pltres at gsnDraw = False
>>>>> pltres at gsnFrame = False
>>>>>
>>>>> I get only grid with the box and the marker like attached.
>>>>>
>>>>>
>>>>>
>>>>> 2015-05-26 20:47 GMT-04:00 Alex Schaefer <
>>>>> alexander.schaefer at mines.sdsmt.edu>:
>>>>>
>>>>>> Rabah,
>>>>>>
>>>>>> Where in your script did you add the resources suggested by Jared?
>>>>>>
>>>>>> Since you have a bunch of different resource objects you will need to
>>>>>> set it in each going into plots controlling plot resources. For you this
>>>>>> should include res or opts and likely pltres.
>>>>>>
>>>>>> -Alex
>>>>>>
>>>>>>
>>>>>> On May 26, 2015, at 6:36 PM, Rabah Hachelaf <hachelaf at sca.uqam.ca>
>>>>>> wrote:
>>>>>>
>>>>>> Hi Jared,
>>>>>>
>>>>>> Thanks for your reponse,
>>>>>>
>>>>>> But add
>>>>>>
>>>>>>
>>>>>> res at gsnDraw = False
>>>>>> res at gsnFrame = False
>>>>>>
>>>>>> doesn't change any things.
>>>>>>
>>>>>> Rabah
>>>>>>
>>>>>>
>>>>>> 2015-05-26 18:34 GMT-04:00 Jared Lee <jaredlee at ucar.edu>:
>>>>>>
>>>>>>> Hi Rabah,
>>>>>>>
>>>>>>> I believe what you're missing is these two lines where you set other
>>>>>>> 'res' resources:
>>>>>>>
>>>>>>> res at gsnDraw = False
>>>>>>> res at gsnFrame = False
>>>>>>>
>>>>>>> By default they're both set to True, which would give you two
>>>>>>> separate images. If you set both to false you should get a single plot with
>>>>>>> your polymarker overlaid.
>>>>>>>
>>>>>>> Hope that helps.
>>>>>>>
>>>>>>> Jared
>>>>>>>
>>>>>>> On Tue, May 26, 2015 at 4:21 PM, Rabah Hachelaf <
>>>>>>> hachelaf at sca.uqam.ca> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Hello NCL users,
>>>>>>>>
>>>>>>>> I am using the script below to plot a box and a marker dot over
>>>>>>>> topography field from WRF outputs,
>>>>>>>>
>>>>>>>> My problem is i can not get one figure, i get two separate figures
>>>>>>>> like attached.
>>>>>>>>
>>>>>>>> Any suggestion to solve this.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ; Example script - plot terrain (using some basic WRF scripts)
>>>>>>>> ; Overwrite basic map background settings
>>>>>>>> ; November 2008
>>>>>>>>
>>>>>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>>>>>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
>>>>>>>>
>>>>>>>> begin
>>>>>>>>
>>>>>>>> a = addfile("../geo_em.d02.nc","r") ; Open a file
>>>>>>>> filename = "../namelist.wps"
>>>>>>>>
>>>>>>>> npres= True
>>>>>>>> npres at ref_lat = stringtofloat(systemfunc("grep ref_lat "
>>>>>>>> +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
>>>>>>>> npres at ref_lon = stringtofloat(systemfunc("grep ref_lon "
>>>>>>>> +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
>>>>>>>>
>>>>>>>> type = "png"
>>>>>>>> wks = gsn_open_wks(type,"plt_geo_6") ; Create a plot
>>>>>>>> workstation
>>>>>>>>
>>>>>>>>
>>>>>>>> opts = True ; Set some Basic
>>>>>>>> Plot options
>>>>>>>> opts at MainTitle = "GEOGRID FIELDS"
>>>>>>>> opts at InitTime = False ; Do not plot time
>>>>>>>> or footers
>>>>>>>> opts at Footer = False
>>>>>>>>
>>>>>>>> ter = wrf_user_getvar(a,"HGT_M",0) ; Read the variable
>>>>>>>> to memory
>>>>>>>> lon = a->XLONG_U(0,:,:)
>>>>>>>> lat = a->XLAT_U(0,:,:)
>>>>>>>> printVarSummary(lat)
>>>>>>>>
>>>>>>>> print (lat(0,0)+", "+lon(0,0)+",0,")
>>>>>>>> print (lat(0,60)+", "+lon(0,60)+",0,")
>>>>>>>> print (lat(59,60)+", "+lon(59,60)+",0,")
>>>>>>>> print (lat(59,0)+", "+lon(59,0)+",0")
>>>>>>>>
>>>>>>>>
>>>>>>>> res = opts ; Use basic options
>>>>>>>> for this field
>>>>>>>> res at cnFillOn = True ; Create a color
>>>>>>>> fill plot
>>>>>>>> res at ContourParameters = (/ 0., 1000., 50. /) ; Set the levels
>>>>>>>>
>>>>>>>> contour = wrf_contour(a,wks,ter,res)
>>>>>>>>
>>>>>>>> pltres = True ; Set plot options
>>>>>>>> mpres = True ; Set map options
>>>>>>>> mpres at mpGeophysicalLineColor = "Black" ; Overwrite basic
>>>>>>>> map settings
>>>>>>>> mpres at mpGridLineColor = "Black"
>>>>>>>> mpres at mpLimbLineColor = "Black"
>>>>>>>> mpres at mpNationalLineColor = "Black"
>>>>>>>> mpres at mpPerimLineColor = "Black"
>>>>>>>> mpres at mpUSStateLineColor = "Black"
>>>>>>>> mpres at mpProjection = "LambertConformal"
>>>>>>>> mpres at mpLambertParallel1F = 30
>>>>>>>> mpres at mpLambertParallel2F = 60
>>>>>>>> mpres at mpLambertMeridianF = -98
>>>>>>>> mpres at mpGridSpacingF = 0.25
>>>>>>>> ;************************************************
>>>>>>>> ; add the box
>>>>>>>> ;************************************************
>>>>>>>> ;************************************************
>>>>>>>> ypts = (/ lat(10,10), lat(10,50), lat(49,50), lat(49,10),
>>>>>>>> lat(10,10)/)
>>>>>>>> xpts = (/ lon(10,10), lon(10,50), lon(49,50), lon(49,10),
>>>>>>>> lon(10,10)/)
>>>>>>>> ;************************************************
>>>>>>>>
>>>>>>>> resp = True ; polyline mods
>>>>>>>> desired
>>>>>>>> resp at gsLineColor = "black" ; color of
>>>>>>>> lines
>>>>>>>> resp at gsLineThicknessF = 2.0 ; thickness of
>>>>>>>> lines
>>>>>>>> ; resp at gsLineLabelString= "test" ; adds a line
>>>>>>>> label string
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> plot = wrf_map_overlays(a,wks,(/contour/),pltres,mpres) ; Plot
>>>>>>>> field over map background
>>>>>>>>
>>>>>>>>
>>>>>>>> dum = new(4,graphic)
>>>>>>>> do i = 0 , 3
>>>>>>>> dum(i)=gsn_add_polyline(wks,plot,xpts(i:i+1),ypts(i:i+1),resp)
>>>>>>>>
>>>>>>>> end do
>>>>>>>> ;*********************************************************
>>>>>>>> mpres at gsMarkerColor = "Black"
>>>>>>>> mpres at gsMarkerIndex = 16
>>>>>>>> mpres at gsMarkerSizeF = 0.005
>>>>>>>> gsn_polymarker(wks,plot,npres at ref_lon,npres at ref_lat,mpres)
>>>>>>>>
>>>>>>>> draw(plot)
>>>>>>>> frame(wks)
>>>>>>>>
>>>>>>>> end
>>>>>>>>
>>>>>>>> --
>>>>>>>> ------------------------------
>>>>>>>> Cordialement,
>>>>>>>> Best regards,
>>>>>>>> Rabah Hachelaf
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> ncl-talk mailing list
>>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> ===============================
>>>>>>> Jared A. Lee, Ph.D.
>>>>>>> Project Scientist I
>>>>>>> Research Applications Laboratory
>>>>>>> National Center for Atmospheric Research
>>>>>>> Boulder, Colorado, USA
>>>>>>>
>>>>>>> Email: jaredlee at ucar.edu (w)
>>>>>>> Phone: 303.497.8485 (w)
>>>>>>> Web: https://staff.ucar.edu/users/jaredlee
>>>>>>> ===============================
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> ncl-talk mailing list
>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> ------------------------------
>>>>>> Cordialement,
>>>>>> Best regards,
>>>>>> Rabah Hachelaf
>>>>>> _______________________________________________
>>>>>> ncl-talk mailing list
>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> ------------------------------
>>>> Cordialement,
>>>> Best regards,
>>>> Rabah Hachelaf
>>>>
>>>> _______________________________________________
>>>> ncl-talk mailing list
>>>> List instructions, subscriber options, unsubscribe:
>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>
>>>>
>>>
>>
>>
>> --
>> ------------------------------
>> Cordialement,
>> Best regards,
>> Rabah Hachelaf
>>
>
>
>
> --
> ------------------------------
> Cordialement,
> Best regards,
> Rabah Hachelaf
>
> _______________________________________________
> ncl-talk mailing list
> 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/20150527/27c22e37/attachment.html
More information about the ncl-talk
mailing list