[ncl-talk] Plotting Lat/Lon Points on a map

Dennis Shea shea at ucar.edu
Sun May 28 09:25:03 MDT 2017


See attached. Please look carefully at the output produced by
printVarSummary and printMinMax

Note:

[1] GRIB is a moving target. 6.3.0 did not have the  look-up tabl builtin
while  NCL 6.4.0 does.

[2] the grib file has 'no report' coded as as -1 ... the script sets those
values to _FillValue

[3] The grid is *rectilinear*   :
In netCDF speak, a one dimensional variable where the variable name is the
same as the variable dimension name is a coordinate variable.
lat_0(lat_0)   and lon_0(lon_0)

Good Luck



On Sun, May 28, 2017 at 10:21 AM, Barry Lynn <barry.h.lynn at gmail.com> wrote:

> Tim:
>
> If you can wait a day or two, I suggest you write to:
>
> Carrie.Langston at noaa.gov
>
> and ask Him/Her what is the format of the gridded data and if they have an
> NCL program to read it.
>
> It's looks like very useful data once you "crack the code."
>
> Barry
>
> On Sun, May 28, 2017 at 5:09 PM, Tim Melino <melino33 at gmail.com> wrote:
>
>> Barry,
>>
>> The source of the data is here:
>>
>> http://www.nssl.noaa.gov/projects/mrms/operational/tables.php
>>
>>
>>
>> Tim
>>
>>
>>
>> On Sun, May 28, 2017 at 10:03 AM, Barry Lynn <barry.h.lynn at gmail.com>
>> wrote:
>>
>>> Tim:
>>>
>>> If you write out the latitude and longitude information is is
>>> rectilinear?
>>>
>>> When trying to sort this out, you should first check if the lat/lon can
>>> be plotted by a single coordinate or two.  If two, then there is a chance
>>> that your grid is not rectilinear, and you will have to account for the
>>> distortion in the grid.
>>>
>>> If there is distortion, then you need to account for it (e.g., Lambert,
>>> curvilinear.
>>>
>>> I can only offer advice at the moment...
>>>
>>> What is the data source for the data?
>>>
>>> Barry
>>>
>>> On Sun, May 28, 2017 at 4:52 PM, Tim Melino <melino33 at gmail.com> wrote:
>>>
>>>> Hey Barry,
>>>>
>>>> The only information about the projection was: *grid_type :
>>>>  Latitude/Longitude.  *I attached the file!
>>>>
>>>> Tim
>>>>
>>>> On Sun, May 28, 2017 at 9:00 AM, Barry Lynn <barry.h.lynn at gmail.com>
>>>> wrote:
>>>>
>>>>> Tim:
>>>>>
>>>>> Please remind me what the name of the file is.
>>>>>
>>>>> Also, was there any information at the top of the printing about the
>>>>> projection?
>>>>>
>>>>> Yes, the markers would (could) look off.
>>>>>
>>>>> On Sun, May 28, 2017 at 3:32 PM, Tim Melino <melino33 at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Barry,
>>>>>>
>>>>>> Here is the information when printing (a). Would the map projection
>>>>>> also cause a marker to be printed in the wrong location?
>>>>>>
>>>>>> Variable: a
>>>>>> Type: file
>>>>>> filename:       test
>>>>>> path:   ./test.grib2
>>>>>>    file global attributes:
>>>>>>    dimensions:
>>>>>>       lat_0 = 30
>>>>>>       lon_0 = 40
>>>>>>    variables:
>>>>>>       float VAR_209_3_34_P0_L102_GLL0 ( lat_0, lon_0 )
>>>>>>          center :       US NOAA Office of Oceanic and Atmospheric
>>>>>> Research
>>>>>>          production_status :    Research products
>>>>>>          long_name :    unknown variable name
>>>>>>          units :        unknown
>>>>>>          _FillValue :   1e+20
>>>>>>          grid_type :    Latitude/longitude
>>>>>>          parameter_discipline_and_category :    209, 3
>>>>>>          parameter_template_discipline_category_number :        ( 0,
>>>>>> 209, 3, 34 )
>>>>>>          level_type :   Specific altitude above mean sea level (m)
>>>>>>          level :        500
>>>>>>          forecast_time :        0
>>>>>>          forecast_time_units :  minutes
>>>>>>          initial_time : 07/09/2016 (04:46)
>>>>>>
>>>>>>       float lat_0 ( lat_0 )
>>>>>>          long_name :    latitude
>>>>>>          grid_type :    Latitude/Longitude
>>>>>>          units :        degrees_north
>>>>>>          Dj :   0.01
>>>>>>          Di :   0.009999676
>>>>>>          Lo2 :  280.735
>>>>>>          La2 :  36.695
>>>>>>          Lo1 :  280.345
>>>>>>          La1 :  36.405
>>>>>>
>>>>>>       float lon_0 ( lon_0 )
>>>>>>          long_name :    longitude
>>>>>>          grid_type :    Latitude/Longitude
>>>>>>          units :        degrees_east
>>>>>>          Dj :   0.01
>>>>>>          Di :   0.009999676
>>>>>>          Lo2 :  280.735
>>>>>>          La2 :  36.695
>>>>>>          Lo1 :  280.345
>>>>>>          La1 :  36.405
>>>>>>
>>>>>>
>>>>>> On Sun, May 28, 2017 at 12:48 AM, Barry Lynn <barry.h.lynn at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi:
>>>>>>>
>>>>>>> When the data is skewed, it is often because the projection you're
>>>>>>> reading is not the one your plotting.
>>>>>>>
>>>>>>> Do you know the projection of the data you're using?
>>>>>>>
>>>>>>> If you print(a) where a is the file you specify from addfile, you
>>>>>>> can see the variables (and hopefully projection) indicated within.
>>>>>>>
>>>>>>> Barry
>>>>>>>
>>>>>>> On Sat, May 27, 2017 at 4:20 PM, Tim Melino <melino33 at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> ncl-talk mailing list
>>>>>>>> ncl-talk at ucar.edu
>>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Barry H. Lynn, Ph.D
>>>>>>> Senior Lecturer,
>>>>>>> The Institute of the Earth Science,
>>>>>>> The Hebrew University of Jerusalem,
>>>>>>> Givat Ram, Jerusalem 91904, Israel
>>>>>>> Tel: 972 547 231 170
>>>>>>> Fax: (972)-25662581
>>>>>>>
>>>>>>> C.E.O, Weather It Is, LTD
>>>>>>> Weather and Climate Focus
>>>>>>> http://weather-it-is.com
>>>>>>> Jerusalem, Israel
>>>>>>> Local: 02 930 9525
>>>>>>> Cell: 054 7 231 170
>>>>>>> Int-IS: x972 2 930 9525
>>>>>>> US 914 432 3108 <(914)%20432-3108>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Barry H. Lynn, Ph.D
>>>>> Senior Lecturer,
>>>>> The Institute of the Earth Science,
>>>>> The Hebrew University of Jerusalem,
>>>>> Givat Ram, Jerusalem 91904, Israel
>>>>> Tel: 972 547 231 170
>>>>> Fax: (972)-25662581
>>>>>
>>>>> C.E.O, Weather It Is, LTD
>>>>> Weather and Climate Focus
>>>>> http://weather-it-is.com
>>>>> Jerusalem, Israel
>>>>> Local: 02 930 9525
>>>>> Cell: 054 7 231 170
>>>>> Int-IS: x972 2 930 9525
>>>>> US 914 432 3108 <(914)%20432-3108>
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Barry H. Lynn, Ph.D
>>> Senior Lecturer,
>>> The Institute of the Earth Science,
>>> The Hebrew University of Jerusalem,
>>> Givat Ram, Jerusalem 91904, Israel
>>> Tel: 972 547 231 170
>>> Fax: (972)-25662581
>>>
>>> C.E.O, Weather It Is, LTD
>>> Weather and Climate Focus
>>> http://weather-it-is.com
>>> Jerusalem, Israel
>>> Local: 02 930 9525
>>> Cell: 054 7 231 170
>>> Int-IS: x972 2 930 9525
>>> US 914 432 3108 <(914)%20432-3108>
>>>
>>
>>
>
>
> --
> Barry H. Lynn, Ph.D
> Senior Lecturer,
> The Institute of the Earth Science,
> The Hebrew University of Jerusalem,
> Givat Ram, Jerusalem 91904, Israel
> Tel: 972 547 231 170
> Fax: (972)-25662581
>
> C.E.O, Weather It Is, LTD
> Weather and Climate Focus
> http://weather-it-is.com
> Jerusalem, Israel
> Local: 02 930 9525
> Cell: 054 7 231 170
> Int-IS: x972 2 930 9525
> US 914 432 3108 <(914)%20432-3108>
>
> _______________________________________________
> 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/20170528/1b5998a0/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 36_79.ncl
Type: application/octet-stream
Size: 3046 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170528/1b5998a0/attachment.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: melino.png
Type: image/png
Size: 78196 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170528/1b5998a0/attachment.png 


More information about the ncl-talk mailing list