[ncl-talk] Plotting Lat/Lon Points on a map
Tim Melino
melino33 at gmail.com
Sat May 27 07:20:21 MDT 2017
Hi,
I am attempting to plot a subset of the MRMS data from NCEP. The latitude
and longitude I am plotting is :
LAT: 36.5459089
LON: -79.4585847
I attached an image of the output along with the grib file I am using for
input. I am noticing a couple things first the data appears to be skewed,
so I am not sure if it is an issue with the map projection. Second the
point which should be plotted in Virginia is actually plotted in North
Carolina, the only thing that I have been able to do if offset the marker
to compensate for the issue. Does anyone have any ideas on how to fix these
issues? Any ideas would be greatly appreciated!
Thanks!
Tim
Code:
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
begin
lati=LAT
loni=LON
date=DATE
address=ADDRESS
; Convert the Lat/Lon to a Float
latc= stringtofloat(lati)
lonc = stringtofloat(loni)
; Set the Map Bounds
minlat = latc - .12
maxlat = latc + .12
minlon = lonc - .15
maxlon = lonc + .15
;========================
; get list of all files and open as "one big file"
;========================
a = addfile( "./" + lati + "_" + loni + ".grib2","r")
type = "png"
wks = gsn_open_wks(type,"./" + lati + "" + loni + ".png")
; Set some Basic Plot options
res = True
res at gsnDraw = False ; do not draw the plot
res at gsnFrame = False ; do not advance the frame
pltres = True
pltres at NoTitles = True
pltres at CommonTitle = True
pltres at PlotTitle = ""
pltres at PanelPlot = True
pltres at FramePlot = False
; Set the Colormap
gsn_define_colormap(wks,"hail")
lat = a->lat_0
lon = a->lon_0
water = a->VAR_209_3_34_P0_L102_GLL0(:,:)
hail = water *0.0393701;
; Plotting options for Hail
res at gsnMaximize = True
res at mpGeophysicalLineThicknessF = 4.0
;res at mpProjection = "LambertConformal"
res at mpGridLineThicknessF = 0.5
res at mpLimbLineThicknessF = 4.0
res at mpNationalLineThicknessF = 4.0
res at mpUSStateLineThicknessF = 4.0
res at mpProvincialLineThicknessF = 4.0
res at mpOutlineBoundarySets = "AllBoundaries"
res at mpDataBaseVersion = "Ncarg4_1"
res at mpDataSetName = "Earth..4"
res at mpFillOn = False ; fill continents
res at mpPerimOn = False ; no box around map
res at tiMainOn = True
res at tiMainFontColor = "Black"
res at tiMainString =""
res at tiXAxisString = ""
res at tiYAxisString = ""
res at gsnLeftString = "Date: " + date ; add the gsn titles
res at gsnRightString = ""
res at gsnStringFontHeightF = 0.016
res at cnInfoLabelOrthogonalPosF = 0.07 ; offset second label information
res at gsnContourLineThicknessesScale = 0.001
res at cnFillOn = True
res at lbTitleOn = True ; remove field name
from label bar
; Set the Map Bounds
res at sfYArray = lat
res at sfXArray = lon
res at mpLimitMode = "LatLon"
res at mpMinLatF = minlat
res at mpMaxLatF = maxlat
res at mpMinLonF = minlon
res at mpMaxLonF = maxlon
res at tmXBOn = False
res at tmYLOn = False
res at tmXTOn = False
res at tmYROn = False
res at gsnAddCyclic = False
res at tfDoNDCOverlay = False ; do not
transform data
res at cnLevelSelectionMode = "ExplicitLevels" ; set explicit
contour levels
res at cnLevels = (/ 0.5,0.75, 1.00, 1.25, 1.50, 1.75, 2.00, 2.50,
3.00, 3.50, 4.00, 4.50, 5.00/) ; set levels
res at tiMainFontHeightF = 0.018 ; font height of
title
res at lbAutoManage = False ; we control label bar
res at pmLabelBarDisplayMode = "Always" ; turns on label bar
res at lbOrientation = "Horizontal" ; ncl default is
vertical
res at pmLabelBarSide = "Bottom" ; default is right
res at lbLabelStride = 1 ; skip every other
label
res at pmLabelBarWidthF = 0.7 ; default is shorter
res at pmLabelBarHeightF = 0.1 ; default is taller
res at lbLabelFontHeightF = .012 ; default is HUGE
res at lbPerimOn = False ; default has box
res at lbTitleString = "Hail Size (Inches)"
res at lbTitleFontHeightF = 0.012
plot = gsn_csm_contour_map(wks,hail,res)
; Setup the point
mstring1 = "z"
fontnum1 = 35
xoffset1 = .4
yoffset1 = .7
ratio1 = 0.0
size1 = 1.0
angle1 = 0.0
Tm_index = NhlNewMarker(wks, mstring1, fontnum1, xoffset1, yoffset1,
ratio1, size1, angle1)
; Plot the sites and label them
gres = True
gres at gsMarkerIndex = Tm_index ; 16
gres at gsMarkerSizeF = 0.015 ; .009
gres at gsMarkerColor = "black"
gres at txFont ="helvetica-bold"
gres at txFontHeightF = "25"
site = (/address/)
lats = (/latc/)
lons = (/lonc/)
dot = gsn_add_polymarker(wks,plot,lons,lats,gres)
tlats =lats + .03
tlons =lons
text = gsn_add_text(wks,plot,site,tlons,tlats ,gres)
; Draw the graphics
draw(plot)
frame(wks)
end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170527/534b2230/attachment.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 36.5444335-79.45563882016070904.png
Type: image/png
Size: 7155 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170527/534b2230/attachment.png
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 36.5459089_-79.4585847.grib2
Type: application/octet-stream
Size: 929 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170527/534b2230/attachment.obj
More information about the ncl-talk
mailing list