[ncl-talk] overlaying multiple layers on a map
Alan Brammer
abrammer at albany.edu
Thu Oct 12 12:27:49 MDT 2017
Hey Joe,
Think you just need to use vfXArray and vfYArray instead of the commented
sfXArray, sfYArray for res_vec.
v for vector, s for scalar.
Quick test with that shows they all overlay as expected with those 2
resources.
Alan
On Thu, Oct 12, 2017 at 1:26 PM, Joe Grim <grim at ucar.edu> wrote:
> Hi,
>
> I am in the midst of creating a suite of operational weather plots for the
> ATEC project I am working on. We are replacing RIP plots with NCL plots,
> since NCL is much more versatile. I need the scripts to be as flexible as
> possible, since there are a wide variety of plots. Therefore, I am drawing
> each layer of a plot and overlaying them. For example, in the plot I am
> trying to create, there is a map, shaded contour plot, solid contour lines,
> dashed contour lines, and wind barbs. It all plots perfectly, except for
> the wind barbs are missing. I have tried to use numerous examples on the
> NCL website as templates, and then adapting them, but none of them will
> draw the wind barbs either. I am trying to avoid using plotting functions
> that plot scalars and vectors within the same function, so the plotting
> system can be as flexible as possible.
>
> Here is my script. The input file is on my website, here:
> http://joeandfrede.com/ncl/wrfout_d01_2017-09-23_12_00_00.RTC_P+FCST.
> Could someone tell me what I am missing or doing wrong? Thanks on my part,
> and the whole ATEC project.
>
> Joe
>
> ; This script is used to test ideas for plotting in NCL
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> begin
> PlotType = "png"
> in_file = "wrfout_d01_2017-09-23_12:00:00.RTC_P+FCST"
> ncdf_in = addfile(in_file+".nc","r")
> times = wrf_user_list_times(ncdf_in) ; get times in the file
> ntimes = dimsizes(times) ; number of times in the file
> T2 = wrf_user_getvar(ncdf_in,"T2",0)
> rh2 = wrf_user_getvar(ncdf_in,"rh2",0)
> XLAT = wrf_user_getvar(ncdf_in,"XLAT",0)
> XLONG = wrf_user_getvar(ncdf_in,"XLONG",0)
> U10 = wrf_user_getvar(ncdf_in,"U10",0)
> V10 = wrf_user_getvar(ncdf_in,"V10",0)
> slp = wrf_user_getvar(ncdf_in,"slp",0)
> dims = dimsizes(XLAT)
> nlat = dims(0)
> nlon = dims(1)
>
> ; Create plot
> PlotName = "T2_RH2_WND10_v2"
> wks = gsn_open_wks(PlotType,PlotName)
> gsn_define_colormap(wks,"BlAqGrYeOrReVi200")
>
> res_sha = True
> res_sha at cnFillOn = True
> res_sha at gsnDraw = False
> res_sha at gsnFrame = False
> res_sha at gsnSpreadColors = True
> res_sha at cnInfoLabelOn = False
> res_sha at sfXArray = XLONG
> res_sha at sfYArray = XLAT
>
> res_con = True
> res_con at cnLineColor = "NavyBlue"
> res_con at cnLineThicknessF = 3
> res_con at gsnDraw = False
> res_con at gsnFrame = False
> res_con at cnInfoLabelOn = False
> res_con at gsnLeftStringOrthogonalPosF = 0.05
> res_con at gsnRightStringOrthogonalPosF = 0.05
> res_con at sfXArray = XLONG
> res_con at sfYArray = XLAT
>
> res_dash = True
> res_dash at cnLineColor = "red4"
> res_dash at cnLineThicknessF = 3
> res_dash at gsnContourPosLineDashPattern = 1
> res_dash at gsnDraw = False
> res_dash at gsnFrame = False
> res_dash at cnInfoLabelOn = False
> res_dash at gsnLeftStringOrthogonalPosF = 0.1
> res_dash at gsnRightStringOrthogonalPosF = 0.1
> res_dash at sfXArray = XLONG
> res_dash at sfYArray = XLAT
>
> res_vec = True
> res_vec at gsnDraw = False
> res_vec at gsnFrame = False
> res_vec at vcGlyphStyle = "WindBarb"
> res_vec at vcMinDistanceF = 0.02
> res_vec at vcRefLengthF = 0.02
> res_vec at gsnLeftStringOrthogonalPosF = 0.15
> res_vec at gsnRightStringOrthogonalPosF = 0.15
> res_vec at vcRefAnnoOn = False
> res_vec at vcMinFracLengthF = 0.2
> ;res_vec at vcVectorDrawOrder = "Postdraw"
> ;res_vec at sfXArray = XLONG
> ;res_vec at sfYArray = XLAT
>
> res_map = True
> res_map at gsnDraw = False
> res_map at gsnFrame = False
> res_map at mpLimitMode = "Corners" ; corner method of
> zoom
> res_map at mpLeftCornerLatF = XLAT(0,0) ; left corner
> res_map at mpLeftCornerLonF = XLONG(0,0) ; left corner
> res_map at mpRightCornerLatF = XLAT(nlat-1,nlon-1) ; right corner
> res_map at mpRightCornerLonF = XLONG(nlat-1,nlon-1) ; right corner
> res_map at mpProjection = "LambertConformal" ; choose projection
> res_map at mpLambertParallel1F = ncdf_in at TRUELAT1
> res_map at mpLambertParallel2F = ncdf_in at TRUELAT2
> res_map at mpLambertMeridianF = ncdf_in at STAND_LON
> res_map at tfDoNDCOverlay = True ; native grid, no
> transform
> ;res_map at mpOutlineDrawOrder = "Predraw"
> ;res_map at mpFillDrawOrder = "Predraw"
> res_map at mpFillOn = False
>
> plot_sha = gsn_csm_contour(wks,T2,res_sha)
> plot_con = gsn_csm_contour(wks,rh2,res_con)
> plot_dash = gsn_csm_contour(wks,slp,res_dash)
> plot_vec = gsn_csm_vector(wks,U10,V10,res_vec)
> plot_map = gsn_csm_map(wks,res_map)
> ;res_map = res_vec
> ;plot_map = gsn_csm_vector_map(wks,U10,V10,res_map)
>
> overlay(plot_map,plot_sha)
> overlay(plot_map,plot_con)
> overlay(plot_map,plot_dash)
> overlay(plot_map,plot_vec)
>
> draw(plot_map)
> frame(wks)
>
> print("Created plot: "+PlotName+"."+PlotType)
>
> _______________________________________________
> 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/20171012/61975de3/attachment.html>
More information about the ncl-talk
mailing list