2020-09-09 20:02:35 +00:00
<!DOCTYPE html>
< html class = "writer-html5" lang = "en" >
< head >
2021-03-23 16:15:37 +00:00
< meta charset = "utf-8" / >
2020-09-09 20:02:35 +00:00
2021-03-23 16:15:37 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
2020-09-09 20:02:35 +00:00
< title > Regional Surface Obs Plot — python-awips documentation< / title >
< link rel = "stylesheet" href = "../../_static/css/theme.css" type = "text/css" / >
< link rel = "stylesheet" href = "../../_static/pygments.css" type = "text/css" / >
2021-06-01 19:34:54 +00:00
< link rel = "stylesheet" href = "../../_static/pygments.css" type = "text/css" / >
< link rel = "stylesheet" href = "../../_static/css/theme.css" type = "text/css" / >
2020-09-09 20:02:35 +00:00
2021-03-23 16:15:37 +00:00
2020-09-09 20:02:35 +00:00
2021-03-23 16:15:37 +00:00
2020-09-09 20:02:35 +00:00
<!-- [if lt IE 9]>
< script src = "../../_static/js/html5shiv.min.js" > < / script >
<![endif]-->
< script type = "text/javascript" id = "documentation_options" data-url_root = "../../" src = "../../_static/documentation_options.js" > < / script >
2021-06-01 19:34:54 +00:00
< script data-url_root = "../../" id = "documentation_options" src = "../../_static/documentation_options.js" > < / script >
2020-09-09 20:02:35 +00:00
< script src = "../../_static/jquery.js" > < / script >
< script src = "../../_static/underscore.js" > < / script >
< script src = "../../_static/doctools.js" > < / script >
< script type = "text/javascript" src = "../../_static/js/theme.js" > < / script >
< link rel = "author" title = "About these documents" href = "../../about.html" / >
< link rel = "index" title = "Index" href = "../../genindex.html" / >
< link rel = "search" title = "Search" href = "../../search.html" / >
< link rel = "next" title = "Satellite Imagery" href = "Satellite_Imagery.html" / >
< link rel = "prev" title = "Precip Accumulation-Region Of Interest" href = "Precip_Accumulation-Region_Of_Interest.html" / >
< / head >
< body class = "wy-body-for-nav" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-scroll" >
< div class = "wy-side-nav-search" >
2021-03-23 16:15:37 +00:00
< a href = "../../index.html" class = "icon icon-home" > python-awips
2020-09-09 20:02:35 +00:00
< / a >
< div class = "version" >
18.1.7
< / div >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "../../search.html" method = "get" >
< input type = "text" name = "q" placeholder = "Search docs" / >
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
< / div >
< div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "main navigation" >
< ul class = "current" >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../api/index.html" > API Documentation< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../datatypes.html" > Available Data Types< / a > < / li >
< li class = "toctree-l1 current" > < a class = "reference internal" href = "../index.html" > Data Plotting Examples< / a > < ul class = "current" >
< li class = "toctree-l2" > < a class = "reference internal" href = "AWIPS_Grids_and_Cartopy.html" > AWIPS Grids and Cartopy< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Colored_Surface_Temperature_Plot.html" > Colored Surface Temperature Plot< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Forecast_Model_Vertical_Sounding.html" > Forecast Model Vertical Sounding< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "GOES_Geostationary_Lightning_Mapper.html" > GOES Geostationary Lightning Mapper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Grid_Levels_and_Parameters.html" > Grid Levels and Parameters< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "METAR_Station_Plot_with_MetPy.html" > METAR Station Plot with MetPy< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Map_Resources_and_Topography.html" > Map Resources and Topography< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Model_Sounding_Data.html" > Model Sounding Data< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "NEXRAD_Level3_Radar.html" > NEXRAD Level3 Radar< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Precip_Accumulation-Region_Of_Interest.html" > Precip Accumulation-Region Of Interest< / a > < / li >
< li class = "toctree-l2 current" > < a class = "current reference internal" href = "#" > Regional Surface Obs Plot< / a > < ul >
< li class = "toctree-l3" > < a class = "reference internal" href = "#plot-metar-obs" > Plot METAR (obs)< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "#plot-synoptic-sfcobs" > Plot Synoptic (sfcobs)< / a > < / li >
< li class = "toctree-l3" > < a class = "reference internal" href = "#plot-both-metar-and-synop" > Plot both METAR and SYNOP< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Satellite_Imagery.html" > Satellite Imagery< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Upper_Air_BUFR_Soundings.html" > Upper Air BUFR Soundings< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Watch_and_Warning_Polygons.html" > Watch and Warning Polygons< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../dev.html" > Development Guide< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../gridparms.html" > Grid Parameters< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../about.html" > About Unidata AWIPS< / a > < / li >
< / ul >
< / div >
< / div >
< / nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" >
< nav class = "wy-nav-top" aria-label = "top navigation" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
< a href = "../../index.html" > python-awips< / a >
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
2021-03-23 16:15:37 +00:00
2020-09-09 20:02:35 +00:00
< div role = "navigation" aria-label = "breadcrumbs navigation" >
< ul class = "wy-breadcrumbs" >
< li > < a href = "../../index.html" class = "icon icon-home" > < / a > » < / li >
< li > < a href = "../index.html" > Data Plotting Examples< / a > » < / li >
< li > Regional Surface Obs Plot< / li >
< li class = "wy-breadcrumbs-aside" >
2021-03-23 16:15:37 +00:00
2020-09-09 20:02:35 +00:00
< a href = "../../_sources/examples/generated/Regional_Surface_Obs_Plot.rst.txt" rel = "nofollow" > View page source< / a >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
< div class = "section" id = "regional-surface-obs-plot" >
< h1 > Regional Surface Obs Plot< a class = "headerlink" href = "#regional-surface-obs-plot" title = "Permalink to this headline" > ¶< / a > < / h1 >
< p > < a class = "reference external" href = "http://nbviewer.ipython.org/github/Unidata/python-awips/blob/master/examples/notebooks/Regional_Surface_Obs_Plot.ipynb" > Notebook< / a >
This exercise creates a surface observsation station plot for the state
of Florida, using both METAR (datatype < em > obs< / em > ) and Synoptic (datatype
< em > sfcobs< / em > ). Because we are using the AWIPS Map Database for state and
county boundaries, there is no use of Cartopy < code class = "docutils literal notranslate" > < span class = "pre" > cfeature< / span > < / code > in this
exercise.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "kn" > from< / span > < span class = "nn" > awips.dataaccess< / span > < span class = "kn" > import< / span > < span class = "n" > DataAccessLayer< / span >
< span class = "kn" > from< / span > < span class = "nn" > dynamicserialize.dstypes.com.raytheon.uf.common.time< / span > < span class = "kn" > import< / span > < span class = "n" > TimeRange< / span >
< span class = "kn" > from< / span > < span class = "nn" > datetime< / span > < span class = "kn" > import< / span > < span class = "n" > datetime< / span > < span class = "p" > ,< / span > < span class = "n" > timedelta< / span >
< span class = "kn" > import< / span > < span class = "nn" > numpy< / span > < span class = "k" > as< / span > < span class = "nn" > np< / span >
< span class = "kn" > import< / span > < span class = "nn" > cartopy.crs< / span > < span class = "k" > as< / span > < span class = "nn" > ccrs< / span >
< span class = "kn" > from< / span > < span class = "nn" > cartopy.mpl.gridliner< / span > < span class = "kn" > import< / span > < span class = "n" > LONGITUDE_FORMATTER< / span > < span class = "p" > ,< / span > < span class = "n" > LATITUDE_FORMATTER< / span >
< span class = "kn" > from< / span > < span class = "nn" > cartopy.feature< / span > < span class = "kn" > import< / span > < span class = "n" > ShapelyFeature< / span >
< span class = "kn" > from< / span > < span class = "nn" > shapely.geometry< / span > < span class = "kn" > import< / span > < span class = "n" > Polygon< / span >
< span class = "kn" > import< / span > < span class = "nn" > matplotlib.pyplot< / span > < span class = "k" > as< / span > < span class = "nn" > plt< / span >
< span class = "kn" > from< / span > < span class = "nn" > metpy.units< / span > < span class = "kn" > import< / span > < span class = "n" > units< / span >
< span class = "kn" > from< / span > < span class = "nn" > metpy.calc< / span > < span class = "kn" > import< / span > < span class = "n" > wind_components< / span >
< span class = "kn" > from< / span > < span class = "nn" > metpy.plots< / span > < span class = "kn" > import< / span > < span class = "n" > simple_layout< / span > < span class = "p" > ,< / span > < span class = "n" > StationPlot< / span > < span class = "p" > ,< / span > < span class = "n" > StationPlotLayout< / span >
< span class = "kn" > import< / span > < span class = "nn" > warnings< / span >
< span class = "o" > %< / span > < span class = "k" > matplotlib< / span > inline
< span class = "k" > def< / span > < span class = "nf" > get_cloud_cover< / span > < span class = "p" > (< / span > < span class = "n" > code< / span > < span class = "p" > ):< / span >
< span class = "k" > if< / span > < span class = "s1" > ' OVC' < / span > < span class = "ow" > in< / span > < span class = "n" > code< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "mf" > 1.0< / span >
< span class = "k" > elif< / span > < span class = "s1" > ' BKN' < / span > < span class = "ow" > in< / span > < span class = "n" > code< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "mf" > 6.0< / span > < span class = "o" > /< / span > < span class = "mf" > 8.0< / span >
< span class = "k" > elif< / span > < span class = "s1" > ' SCT' < / span > < span class = "ow" > in< / span > < span class = "n" > code< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "mf" > 4.0< / span > < span class = "o" > /< / span > < span class = "mf" > 8.0< / span >
< span class = "k" > elif< / span > < span class = "s1" > ' FEW' < / span > < span class = "ow" > in< / span > < span class = "n" > code< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "mf" > 2.0< / span > < span class = "o" > /< / span > < span class = "mf" > 8.0< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span >
< / pre > < / div >
< / div >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # EDEX request for a single state< / span >
< span class = "n" > edexServer< / span > < span class = "o" > =< / span > < span class = "s2" > " edex-cloud.unidata.ucar.edu" < / span >
< span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > changeEDEXHost< / span > < span class = "p" > (< / span > < span class = "n" > edexServer< / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > newDataRequest< / span > < span class = "p" > (< / span > < span class = "s1" > ' maps' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > addIdentifier< / span > < span class = "p" > (< / span > < span class = "s1" > ' table' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' mapdata.states' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > addIdentifier< / span > < span class = "p" > (< / span > < span class = "s1" > ' state' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' FL' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > addIdentifier< / span > < span class = "p" > (< / span > < span class = "s1" > ' geomField' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' the_geom' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > setParameters< / span > < span class = "p" > (< / span > < span class = "s1" > ' state' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' name' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > )< / span >
< span class = "n" > response< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getGeometryData< / span > < span class = "p" > (< / span > < span class = "n" > request< / span > < span class = "p" > )< / span >
< span class = "n" > record< / span > < span class = "o" > =< / span > < span class = "n" > response< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Found " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > ))< / span > < span class = "o" > +< / span > < span class = "s2" > " MultiPolygon" < / span > < span class = "p" > )< / span >
< span class = "n" > state< / span > < span class = "o" > =< / span > < span class = "p" > {}< / span >
< span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' name' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > record< / span > < span class = "o" > .< / span > < span class = "n" > getString< / span > < span class = "p" > (< / span > < span class = "s1" > ' name' < / span > < span class = "p" > )< / span >
< span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' state' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > record< / span > < span class = "o" > .< / span > < span class = "n" > getString< / span > < span class = "p" > (< / span > < span class = "s1" > ' state' < / span > < span class = "p" > )< / span >
< span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > record< / span > < span class = "o" > .< / span > < span class = "n" > getNumber< / span > < span class = "p" > (< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > )< / span >
< span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > record< / span > < span class = "o" > .< / span > < span class = "n" > getNumber< / span > < span class = "p" > (< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > )< / span >
< span class = "c1" > #state[' geom' ] = record.getGeometry()< / span >
< span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' bounds' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > record< / span > < span class = "o" > .< / span > < span class = "n" > getGeometry< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > bounds< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' name' < / span > < span class = "p" > ],< / span > < span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' state' < / span > < span class = "p" > ],< / span > < span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ],< / span > < span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > ],< / span > < span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' bounds' < / span > < span class = "p" > ])< / span >
< span class = "nb" > print< / span > < span class = "p" > ()< / span >
< span class = "c1" > # EDEX request for multiple states< / span >
< span class = "n" > request< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > newDataRequest< / span > < span class = "p" > (< / span > < span class = "s1" > ' maps' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > addIdentifier< / span > < span class = "p" > (< / span > < span class = "s1" > ' table' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' mapdata.states' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > addIdentifier< / span > < span class = "p" > (< / span > < span class = "s1" > ' geomField' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' the_geom' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > addIdentifier< / span > < span class = "p" > (< / span > < span class = "s1" > ' inLocation' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' true' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > addIdentifier< / span > < span class = "p" > (< / span > < span class = "s1" > ' locationField' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' state' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > setParameters< / span > < span class = "p" > (< / span > < span class = "s1" > ' state' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' name' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > setLocationNames< / span > < span class = "p" > (< / span > < span class = "s1" > ' FL' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' GA' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' MS' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' AL' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' SC' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' LA' < / span > < span class = "p" > )< / span >
< span class = "n" > response< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getGeometryData< / span > < span class = "p" > (< / span > < span class = "n" > request< / span > < span class = "p" > )< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Found " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > ))< / span > < span class = "o" > +< / span > < span class = "s2" > " MultiPolygons" < / span > < span class = "p" > )< / span >
< span class = "c1" > # Append each geometry to a numpy array< / span >
< span class = "n" > states< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > ([])< / span >
< span class = "k" > for< / span > < span class = "n" > ob< / span > < span class = "ow" > in< / span > < span class = "n" > response< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getString< / span > < span class = "p" > (< / span > < span class = "s1" > ' name' < / span > < span class = "p" > ),< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getString< / span > < span class = "p" > (< / span > < span class = "s1" > ' state' < / span > < span class = "p" > ),< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getNumber< / span > < span class = "p" > (< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ),< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getNumber< / span > < span class = "p" > (< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > ))< / span >
< span class = "n" > states< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "n" > states< / span > < span class = "p" > ,< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getGeometry< / span > < span class = "p" > ())< / span >
< / pre > < / div >
< / div >
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > Found< / span > < span class = "mi" > 1< / span > < span class = "n" > MultiPolygon< / span >
< span class = "n" > Florida< / span > < span class = "n" > FL< / span > < span class = "mf" > 28.67402< / span > < span class = "o" > -< / span > < span class = "mf" > 82.50934< / span > < span class = "p" > (< / span > < span class = "o" > -< / span > < span class = "mf" > 87.63429260299995< / span > < span class = "p" > ,< / span > < span class = "mf" > 24.521051616000022< / span > < span class = "p" > ,< / span > < span class = "o" > -< / span > < span class = "mf" > 80.03199876199994< / span > < span class = "p" > ,< / span > < span class = "mf" > 31.001012802000048< / span > < span class = "p" > )< / span >
< span class = "n" > Found< / span > < span class = "mi" > 6< / span > < span class = "n" > MultiPolygons< / span >
< span class = "n" > Florida< / span > < span class = "n" > FL< / span > < span class = "mf" > 28.67402< / span > < span class = "o" > -< / span > < span class = "mf" > 82.50934< / span >
< span class = "n" > Georgia< / span > < span class = "n" > GA< / span > < span class = "mf" > 32.65155< / span > < span class = "o" > -< / span > < span class = "mf" > 83.44848< / span >
< span class = "n" > Louisiana< / span > < span class = "n" > LA< / span > < span class = "mf" > 31.0891< / span > < span class = "o" > -< / span > < span class = "mf" > 92.02905< / span >
< span class = "n" > Alabama< / span > < span class = "n" > AL< / span > < span class = "mf" > 32.79354< / span > < span class = "o" > -< / span > < span class = "mf" > 86.82676< / span >
< span class = "n" > Mississippi< / span > < span class = "n" > MS< / span > < span class = "mf" > 32.75201< / span > < span class = "o" > -< / span > < span class = "mf" > 89.66553< / span >
< span class = "n" > South< / span > < span class = "n" > Carolina< / span > < span class = "n" > SC< / span > < span class = "mf" > 33.93574< / span > < span class = "o" > -< / span > < span class = "mf" > 80.89899< / span >
< / pre > < / div >
< / div >
< p > Now make sure we can plot the states with a lat/lon grid.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "k" > def< / span > < span class = "nf" > make_map< / span > < span class = "p" > (< / span > < span class = "n" > bbox< / span > < span class = "p" > ,< / span > < span class = "n" > proj< / span > < span class = "o" > =< / span > < span class = "n" > ccrs< / span > < span class = "o" > .< / span > < span class = "n" > PlateCarree< / span > < span class = "p" > ()):< / span >
< span class = "n" > fig< / span > < span class = "p" > ,< / span > < span class = "n" > ax< / span > < span class = "o" > =< / span > < span class = "n" > plt< / span > < span class = "o" > .< / span > < span class = "n" > subplots< / span > < span class = "p" > (< / span > < span class = "n" > figsize< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 16< / span > < span class = "p" > ,< / span > < span class = "mi" > 12< / span > < span class = "p" > ),< / span > < span class = "n" > subplot_kw< / span > < span class = "o" > =< / span > < span class = "nb" > dict< / span > < span class = "p" > (< / span > < span class = "n" > projection< / span > < span class = "o" > =< / span > < span class = "n" > proj< / span > < span class = "p" > ))< / span >
< span class = "n" > ax< / span > < span class = "o" > .< / span > < span class = "n" > set_extent< / span > < span class = "p" > (< / span > < span class = "n" > bbox< / span > < span class = "p" > )< / span >
< span class = "n" > gl< / span > < span class = "o" > =< / span > < span class = "n" > ax< / span > < span class = "o" > .< / span > < span class = "n" > gridlines< / span > < span class = "p" > (< / span > < span class = "n" > draw_labels< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' #e7e7e7' < / span > < span class = "p" > )< / span >
< span class = "n" > gl< / span > < span class = "o" > .< / span > < span class = "n" > top_labels< / span > < span class = "o" > =< / span > < span class = "n" > gl< / span > < span class = "o" > .< / span > < span class = "n" > right_labels< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< span class = "n" > gl< / span > < span class = "o" > .< / span > < span class = "n" > xformatter< / span > < span class = "o" > =< / span > < span class = "n" > LONGITUDE_FORMATTER< / span >
< span class = "n" > gl< / span > < span class = "o" > .< / span > < span class = "n" > yformatter< / span > < span class = "o" > =< / span > < span class = "n" > LATITUDE_FORMATTER< / span >
< span class = "k" > return< / span > < span class = "n" > fig< / span > < span class = "p" > ,< / span > < span class = "n" > ax< / span >
< span class = "c1" > # buffer our bounds by +/i degrees lat/lon< / span >
< span class = "n" > bounds< / span > < span class = "o" > =< / span > < span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' bounds' < / span > < span class = "p" > ]< / span >
< span class = "n" > bbox< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > bounds< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span > < span class = "o" > -< / span > < span class = "mi" > 3< / span > < span class = "p" > ,< / span > < span class = "n" > bounds< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ]< / span > < span class = "o" > +< / span > < span class = "mi" > 3< / span > < span class = "p" > ,< / span > < span class = "n" > bounds< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > -< / span > < span class = "mf" > 1.5< / span > < span class = "p" > ,< / span > < span class = "n" > bounds< / span > < span class = "p" > [< / span > < span class = "mi" > 3< / span > < span class = "p" > ]< / span > < span class = "o" > +< / span > < span class = "mf" > 1.5< / span > < span class = "p" > ]< / span >
< span class = "n" > fig< / span > < span class = "p" > ,< / span > < span class = "n" > ax< / span > < span class = "o" > =< / span > < span class = "n" > make_map< / span > < span class = "p" > (< / span > < span class = "n" > bbox< / span > < span class = "o" > =< / span > < span class = "n" > bbox< / span > < span class = "p" > )< / span >
< span class = "n" > shape_feature< / span > < span class = "o" > =< / span > < span class = "n" > ShapelyFeature< / span > < span class = "p" > (< / span > < span class = "n" > states< / span > < span class = "p" > ,< / span > < span class = "n" > ccrs< / span > < span class = "o" > .< / span > < span class = "n" > PlateCarree< / span > < span class = "p" > (),< / span >
< span class = "n" > facecolor< / span > < span class = "o" > =< / span > < span class = "s1" > ' none' < / span > < span class = "p" > ,< / span > < span class = "n" > linestyle< / span > < span class = "o" > =< / span > < span class = "s2" > " -" < / span > < span class = "p" > ,< / span > < span class = "n" > edgecolor< / span > < span class = "o" > =< / span > < span class = "s1" > ' #000000' < / span > < span class = "p" > ,< / span > < span class = "n" > linewidth< / span > < span class = "o" > =< / span > < span class = "mi" > 2< / span > < span class = "p" > )< / span >
< span class = "n" > ax< / span > < span class = "o" > .< / span > < span class = "n" > add_feature< / span > < span class = "p" > (< / span > < span class = "n" > shape_feature< / span > < span class = "p" > )< / span >
< / pre > < / div >
< / div >
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "o" > < < / span > < span class = "n" > cartopy< / span > < span class = "o" > .< / span > < span class = "n" > mpl< / span > < span class = "o" > .< / span > < span class = "n" > feature_artist< / span > < span class = "o" > .< / span > < span class = "n" > FeatureArtist< / span > < span class = "n" > at< / span > < span class = "mh" > 0x11dcfedd8< / span > < span class = "o" > > < / span >
< / pre > < / div >
< / div >
< img alt = "../../_images/Regional_Surface_Obs_Plot_4_1.png" src = "../../_images/Regional_Surface_Obs_Plot_4_1.png" / >
< hr class = "docutils" / >
< div class = "section" id = "plot-metar-obs" >
< h2 > Plot METAR (obs)< a class = "headerlink" href = "#plot-metar-obs" title = "Permalink to this headline" > ¶< / a > < / h2 >
< p > Here we use a spatial envelope to limit the request to the boundary or
our plot. Without such a filter you may be requesting many tens of
thousands of records.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # Create envelope geometry< / span >
< span class = "n" > envelope< / span > < span class = "o" > =< / span > < span class = "n" > Polygon< / span > < span class = "p" > ([(< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ]),(< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 3< / span > < span class = "p" > ]),< / span >
< span class = "p" > (< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ],< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 3< / span > < span class = "p" > ]),(< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ],< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ]),< / span >
< span class = "p" > (< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > bbox< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > ])])< / span >
< span class = "c1" > # New obs request< / span >
< span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > changeEDEXHost< / span > < span class = "p" > (< / span > < span class = "n" > edexServer< / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > newDataRequest< / span > < span class = "p" > (< / span > < span class = "s2" > " obs" < / span > < span class = "p" > ,< / span > < span class = "n" > envelope< / span > < span class = "o" > =< / span > < span class = "n" > envelope< / span > < span class = "p" > )< / span >
< span class = "n" > availableProducts< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getAvailableParameters< / span > < span class = "p" > (< / span > < span class = "n" > request< / span > < span class = "p" > )< / span >
< span class = "n" > single_value_params< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " timeObs" < / span > < span class = "p" > ,< / span > < span class = "s2" > " stationName" < / span > < span class = "p" > ,< / span > < span class = "s2" > " longitude" < / span > < span class = "p" > ,< / span > < span class = "s2" > " latitude" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " temperature" < / span > < span class = "p" > ,< / span > < span class = "s2" > " dewpoint" < / span > < span class = "p" > ,< / span > < span class = "s2" > " windDir" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " windSpeed" < / span > < span class = "p" > ,< / span > < span class = "s2" > " seaLevelPress" < / span > < span class = "p" > ]< / span >
< span class = "n" > multi_value_params< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " presWeather" < / span > < span class = "p" > ,< / span > < span class = "s2" > " skyCover" < / span > < span class = "p" > ,< / span > < span class = "s2" > " skyLayerBase" < / span > < span class = "p" > ]< / span >
< span class = "n" > params< / span > < span class = "o" > =< / span > < span class = "n" > single_value_params< / span > < span class = "o" > +< / span > < span class = "n" > multi_value_params< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > setParameters< / span > < span class = "p" > (< / span > < span class = "o" > *< / span > < span class = "p" > (< / span > < span class = "n" > params< / span > < span class = "p" > ))< / span >
< span class = "c1" > # Time range< / span >
< span class = "n" > lastHourDateTime< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > utcnow< / span > < span class = "p" > ()< / span > < span class = "o" > -< / span > < span class = "n" > timedelta< / span > < span class = "p" > (< / span > < span class = "n" > minutes< / span > < span class = "o" > =< / span > < span class = "mi" > 60< / span > < span class = "p" > )< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > lastHourDateTime< / span > < span class = "o" > .< / span > < span class = "n" > strftime< / span > < span class = "p" > (< / span > < span class = "s1" > ' %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s1" > %H:%M:%S' < / span > < span class = "p" > )< / span >
< span class = "n" > end< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > utcnow< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > strftime< / span > < span class = "p" > (< / span > < span class = "s1" > ' %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s1" > %H:%M:%S' < / span > < span class = "p" > )< / span >
< span class = "n" > beginRange< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > strptime< / span > < span class = "p" > (< / span > < span class = "n" > start< / span > < span class = "p" > ,< / span > < span class = "s2" > " %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > %H:%M:%S" < / span > < span class = "p" > )< / span >
< span class = "n" > endRange< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > strptime< / span > < span class = "p" > (< / span > < span class = "n" > end< / span > < span class = "p" > ,< / span > < span class = "s2" > " %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > %H:%M:%S" < / span > < span class = "p" > )< / span >
< span class = "n" > timerange< / span > < span class = "o" > =< / span > < span class = "n" > TimeRange< / span > < span class = "p" > (< / span > < span class = "n" > beginRange< / span > < span class = "p" > ,< / span > < span class = "n" > endRange< / span > < span class = "p" > )< / span >
< span class = "c1" > # Get response< / span >
< span class = "n" > response< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getGeometryData< / span > < span class = "p" > (< / span > < span class = "n" > request< / span > < span class = "p" > ,< / span > < span class = "n" > timerange< / span > < span class = "p" > )< / span >
< span class = "c1" > # function getMetarObs was added in python-awips 18.1.4< / span >
< span class = "n" > obs< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getMetarObs< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > )< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Found " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > ))< / span > < span class = "o" > +< / span > < span class = "s2" > " records" < / span > < span class = "p" > )< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Using " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' temperature' < / span > < span class = "p" > ]))< / span > < span class = "o" > +< / span > < span class = "s2" > " temperature records" < / span > < span class = "p" > )< / span >
< / pre > < / div >
< / div >
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > Found< / span > < span class = "mi" > 3468< / span > < span class = "n" > records< / span >
< span class = "n" > Using< / span > < span class = "mi" > 152< / span > < span class = "n" > temperature< / span > < span class = "n" > records< / span >
< / pre > < / div >
< / div >
< p > Next grab the simple variables out of the data we have (attaching
correct units), and put them into a dictionary that we will hand the
plotting function later:< / p >
< ul class = "simple" >
< li > < p > Get wind components from speed and direction< / p > < / li >
< li > < p > Convert cloud fraction values to integer codes [0 - 8]< / p > < / li >
< li > < p > Map METAR weather codes to WMO codes for weather symbols< / p > < / li >
< / ul >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > data< / span > < span class = "o" > =< / span > < span class = "nb" > dict< / span > < span class = "p" > ()< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' stid' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' stationName' < / span > < span class = "p" > ])< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' latitude' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' latitude' < / span > < span class = "p" > ])< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' longitude' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' longitude' < / span > < span class = "p" > ])< / span >
< span class = "n" > tmp< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' temperature' < / span > < span class = "p" > ],< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "nb" > float< / span > < span class = "p" > )< / span >
< span class = "n" > dpt< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' dewpoint' < / span > < span class = "p" > ],< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "nb" > float< / span > < span class = "p" > )< / span >
< span class = "c1" > # Suppress nan masking warnings< / span >
< span class = "n" > warnings< / span > < span class = "o" > .< / span > < span class = "n" > filterwarnings< / span > < span class = "p" > (< / span > < span class = "s2" > " ignore" < / span > < span class = "p" > ,< / span > < span class = "n" > category< / span > < span class = "o" > =< / span > < span class = "ne" > RuntimeWarning< / span > < span class = "p" > )< / span >
< span class = "n" > tmp< / span > < span class = "p" > [< / span > < span class = "n" > tmp< / span > < span class = "o" > ==< / span > < span class = "o" > -< / span > < span class = "mf" > 9999.0< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "s1" > ' nan' < / span >
< span class = "n" > dpt< / span > < span class = "p" > [< / span > < span class = "n" > dpt< / span > < span class = "o" > ==< / span > < span class = "o" > -< / span > < span class = "mf" > 9999.< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "s1" > ' nan' < / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' air_temperature' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > tmp< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > degC< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' dew_point_temperature' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > dpt< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > degC< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' air_pressure_at_sea_level' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' seaLevelPress' < / span > < span class = "p" > ])< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "p" > (< / span > < span class = "s1" > ' mbar' < / span > < span class = "p" > )< / span >
< span class = "n" > direction< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' windDir' < / span > < span class = "p" > ])< / span >
< span class = "n" > direction< / span > < span class = "p" > [< / span > < span class = "n" > direction< / span > < span class = "o" > ==< / span > < span class = "o" > -< / span > < span class = "mf" > 9999.0< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "s1" > ' nan' < / span >
< span class = "n" > u< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span > < span class = "o" > =< / span > < span class = "n" > wind_components< / span > < span class = "p" > (< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' windSpeed' < / span > < span class = "p" > ])< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "p" > (< / span > < span class = "s1" > ' knots' < / span > < span class = "p" > ),< / span >
< span class = "n" > direction< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > degree< / span > < span class = "p" > )< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' eastward_wind' < / span > < span class = "p" > ],< / span > < span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' northward_wind' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > u< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' cloud_coverage' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "nb" > int< / span > < span class = "p" > (< / span > < span class = "n" > get_cloud_cover< / span > < span class = "p" > (< / span > < span class = "n" > x< / span > < span class = "p" > )< / span > < span class = "o" > *< / span > < span class = "mi" > 8< / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > x< / span > < span class = "ow" > in< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' skyCover' < / span > < span class = "p" > ]]< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' present_weather' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > obs< / span > < span class = "p" > [< / span > < span class = "s1" > ' presWeather' < / span > < span class = "p" > ]< / span >
< span class = "n" > proj< / span > < span class = "o" > =< / span > < span class = "n" > ccrs< / span > < span class = "o" > .< / span > < span class = "n" > LambertConformal< / span > < span class = "p" > (< / span > < span class = "n" > central_longitude< / span > < span class = "o" > =< / span > < span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > ],< / span > < span class = "n" > central_latitude< / span > < span class = "o" > =< / span > < span class = "n" > state< / span > < span class = "p" > [< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ],< / span >
< span class = "n" > standard_parallels< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "mi" > 35< / span > < span class = "p" > ])< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > =< / span > < span class = "n" > StationPlotLayout< / span > < span class = "p" > ()< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_barb< / span > < span class = "p" > (< / span > < span class = "s1" > ' eastward_wind' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' northward_wind' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' knots' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' NW' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' air_temperature' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' .0f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' degF' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' darkred' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' SW' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' dew_point_temperature' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' .0f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' degF' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' darkgreen' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' E' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' precipitation' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' 0.1f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' inch' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' blue' < / span > < span class = "p" > )< / span >
< span class = "n" > ax< / span > < span class = "o" > .< / span > < span class = "n" > set_title< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > getDataTime< / span > < span class = "p" > ())< / span > < span class = "o" > +< / span > < span class = "s2" > " | METAR Surface Obs | " < / span > < span class = "o" > +< / span > < span class = "n" > edexServer< / span > < span class = "p" > )< / span >
< span class = "n" > stationplot< / span > < span class = "o" > =< / span > < span class = "n" > StationPlot< / span > < span class = "p" > (< / span > < span class = "n" > ax< / span > < span class = "p" > ,< / span > < span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' longitude' < / span > < span class = "p" > ],< / span > < span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' latitude' < / span > < span class = "p" > ],< / span > < span class = "n" > clip_on< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span >
< span class = "n" > transform< / span > < span class = "o" > =< / span > < span class = "n" > ccrs< / span > < span class = "o" > .< / span > < span class = "n" > PlateCarree< / span > < span class = "p" > (),< / span > < span class = "n" > fontsize< / span > < span class = "o" > =< / span > < span class = "mi" > 10< / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > plot< / span > < span class = "p" > (< / span > < span class = "n" > stationplot< / span > < span class = "p" > ,< / span > < span class = "n" > data< / span > < span class = "p" > )< / span >
< span class = "n" > fig< / span >
< / pre > < / div >
< / div >
< img alt = "../../_images/Regional_Surface_Obs_Plot_8_0.png" src = "../../_images/Regional_Surface_Obs_Plot_8_0.png" / >
< / div >
< hr class = "docutils" / >
< div class = "section" id = "plot-synoptic-sfcobs" >
< h2 > Plot Synoptic (sfcobs)< a class = "headerlink" href = "#plot-synoptic-sfcobs" title = "Permalink to this headline" > ¶< / a > < / h2 >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # New sfcobs/SYNOP request< / span >
< span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > changeEDEXHost< / span > < span class = "p" > (< / span > < span class = "n" > edexServer< / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > newDataRequest< / span > < span class = "p" > (< / span > < span class = "s2" > " sfcobs" < / span > < span class = "p" > ,< / span > < span class = "n" > envelope< / span > < span class = "o" > =< / span > < span class = "n" > envelope< / span > < span class = "p" > )< / span >
< span class = "n" > availableProducts< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getAvailableParameters< / span > < span class = "p" > (< / span > < span class = "n" > request< / span > < span class = "p" > )< / span >
< span class = "c1" > # (sfcobs) uses stationId, while (obs) uses stationName,< / span >
< span class = "c1" > # the rest of these parameters are the same.< / span >
< span class = "n" > single_value_params< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " timeObs" < / span > < span class = "p" > ,< / span > < span class = "s2" > " stationId" < / span > < span class = "p" > ,< / span > < span class = "s2" > " longitude" < / span > < span class = "p" > ,< / span > < span class = "s2" > " latitude" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " temperature" < / span > < span class = "p" > ,< / span > < span class = "s2" > " dewpoint" < / span > < span class = "p" > ,< / span > < span class = "s2" > " windDir" < / span > < span class = "p" > ,< / span >
< span class = "s2" > " windSpeed" < / span > < span class = "p" > ,< / span > < span class = "s2" > " seaLevelPress" < / span > < span class = "p" > ]< / span >
< span class = "n" > multi_value_params< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " presWeather" < / span > < span class = "p" > ,< / span > < span class = "s2" > " skyCover" < / span > < span class = "p" > ,< / span > < span class = "s2" > " skyLayerBase" < / span > < span class = "p" > ]< / span >
< span class = "n" > pres_weather< / span > < span class = "p" > ,< / span > < span class = "n" > sky_cov< / span > < span class = "p" > ,< / span > < span class = "n" > sky_layer_base< / span > < span class = "o" > =< / span > < span class = "p" > [],[],[]< / span >
< span class = "n" > params< / span > < span class = "o" > =< / span > < span class = "n" > single_value_params< / span > < span class = "o" > +< / span > < span class = "n" > multi_value_params< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > setParameters< / span > < span class = "p" > (< / span > < span class = "o" > *< / span > < span class = "p" > (< / span > < span class = "n" > params< / span > < span class = "p" > ))< / span >
< span class = "c1" > # Time range< / span >
< span class = "n" > lastHourDateTime< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > utcnow< / span > < span class = "p" > ()< / span > < span class = "o" > -< / span > < span class = "n" > timedelta< / span > < span class = "p" > (< / span > < span class = "n" > minutes< / span > < span class = "o" > =< / span > < span class = "mi" > 60< / span > < span class = "p" > )< / span >
< span class = "n" > start< / span > < span class = "o" > =< / span > < span class = "n" > lastHourDateTime< / span > < span class = "o" > .< / span > < span class = "n" > strftime< / span > < span class = "p" > (< / span > < span class = "s1" > ' %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s1" > %H:%M:%S' < / span > < span class = "p" > )< / span >
< span class = "n" > end< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > utcnow< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > strftime< / span > < span class = "p" > (< / span > < span class = "s1" > ' %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s1" > %H:%M:%S' < / span > < span class = "p" > )< / span >
< span class = "n" > beginRange< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > strptime< / span > < span class = "p" > (< / span > < span class = "n" > start< / span > < span class = "p" > ,< / span > < span class = "s2" > " %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > %H:%M:%S" < / span > < span class = "p" > )< / span >
< span class = "n" > endRange< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > strptime< / span > < span class = "p" > (< / span > < span class = "n" > end< / span > < span class = "p" > ,< / span > < span class = "s2" > " %Y-%m-< / span > < span class = "si" > %d< / span > < span class = "s2" > %H:%M:%S" < / span > < span class = "p" > )< / span >
< span class = "n" > timerange< / span > < span class = "o" > =< / span > < span class = "n" > TimeRange< / span > < span class = "p" > (< / span > < span class = "n" > beginRange< / span > < span class = "p" > ,< / span > < span class = "n" > endRange< / span > < span class = "p" > )< / span >
< span class = "c1" > # Get response< / span >
< span class = "n" > response< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getGeometryData< / span > < span class = "p" > (< / span > < span class = "n" > request< / span > < span class = "p" > ,< / span > < span class = "n" > timerange< / span > < span class = "p" > )< / span >
< span class = "c1" > # function getSynopticObs was added in python-awips 18.1.4< / span >
< span class = "n" > sfcobs< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getSynopticObs< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > )< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Found " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > ))< / span > < span class = "o" > +< / span > < span class = "s2" > " records" < / span > < span class = "p" > )< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Using " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' temperature' < / span > < span class = "p" > ]))< / span > < span class = "o" > +< / span > < span class = "s2" > " temperature records" < / span > < span class = "p" > )< / span >
< / pre > < / div >
< / div >
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > Found< / span > < span class = "mi" > 260< / span > < span class = "n" > records< / span >
< span class = "n" > Using< / span > < span class = "mi" > 78< / span > < span class = "n" > temperature< / span > < span class = "n" > records< / span >
< / pre > < / div >
< / div >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > data< / span > < span class = "o" > =< / span > < span class = "nb" > dict< / span > < span class = "p" > ()< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' stid' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' stationId' < / span > < span class = "p" > ])< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' latitude' < / span > < span class = "p" > ])< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' longitude' < / span > < span class = "p" > ])< / span >
< span class = "c1" > # Synop/sfcobs temps are stored in kelvin (degC for METAR/obs)< / span >
< span class = "n" > tmp< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' temperature' < / span > < span class = "p" > ],< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "nb" > float< / span > < span class = "p" > )< / span >
< span class = "n" > dpt< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' dewpoint' < / span > < span class = "p" > ],< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "nb" > float< / span > < span class = "p" > )< / span >
< span class = "n" > direction< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' windDir' < / span > < span class = "p" > ])< / span >
< span class = "c1" > # Account for missing values< / span >
< span class = "n" > tmp< / span > < span class = "p" > [< / span > < span class = "n" > tmp< / span > < span class = "o" > ==< / span > < span class = "o" > -< / span > < span class = "mf" > 9999.0< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "s1" > ' nan' < / span >
< span class = "n" > dpt< / span > < span class = "p" > [< / span > < span class = "n" > dpt< / span > < span class = "o" > ==< / span > < span class = "o" > -< / span > < span class = "mf" > 9999.< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "s1" > ' nan' < / span >
< span class = "n" > direction< / span > < span class = "p" > [< / span > < span class = "n" > direction< / span > < span class = "o" > ==< / span > < span class = "o" > -< / span > < span class = "mf" > 9999.0< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "s1" > ' nan' < / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' air_temperature' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > tmp< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > kelvin< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' dew_point_temperature' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > dpt< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > kelvin< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' air_pressure_at_sea_level' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' seaLevelPress' < / span > < span class = "p" > ])< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "p" > (< / span > < span class = "s1" > ' mbar' < / span > < span class = "p" > )< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' eastward_wind' < / span > < span class = "p" > ],< / span > < span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' northward_wind' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > wind_components< / span > < span class = "p" > (< / span >
< span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > (< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' windSpeed' < / span > < span class = "p" > ])< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "p" > (< / span > < span class = "s1" > ' knots' < / span > < span class = "p" > ),< / span > < span class = "n" > direction< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > degree< / span > < span class = "p" > )< / span >
< span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' present_weather' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > sfcobs< / span > < span class = "p" > [< / span > < span class = "s1" > ' presWeather' < / span > < span class = "p" > ]< / span >
< span class = "k" > except< / span > < span class = "ne" > ValueError< / span > < span class = "p" > :< / span >
< span class = "k" > pass< / span >
< span class = "n" > fig_synop< / span > < span class = "p" > ,< / span > < span class = "n" > ax_synop< / span > < span class = "o" > =< / span > < span class = "n" > make_map< / span > < span class = "p" > (< / span > < span class = "n" > bbox< / span > < span class = "o" > =< / span > < span class = "n" > bbox< / span > < span class = "p" > )< / span >
< span class = "n" > shape_feature< / span > < span class = "o" > =< / span > < span class = "n" > ShapelyFeature< / span > < span class = "p" > (< / span > < span class = "n" > states< / span > < span class = "p" > ,< / span > < span class = "n" > ccrs< / span > < span class = "o" > .< / span > < span class = "n" > PlateCarree< / span > < span class = "p" > (),< / span >
< span class = "n" > facecolor< / span > < span class = "o" > =< / span > < span class = "s1" > ' none' < / span > < span class = "p" > ,< / span > < span class = "n" > linestyle< / span > < span class = "o" > =< / span > < span class = "s2" > " -" < / span > < span class = "p" > ,< / span > < span class = "n" > edgecolor< / span > < span class = "o" > =< / span > < span class = "s1" > ' #000000' < / span > < span class = "p" > ,< / span > < span class = "n" > linewidth< / span > < span class = "o" > =< / span > < span class = "mi" > 2< / span > < span class = "p" > )< / span >
< span class = "n" > ax_synop< / span > < span class = "o" > .< / span > < span class = "n" > add_feature< / span > < span class = "p" > (< / span > < span class = "n" > shape_feature< / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > =< / span > < span class = "n" > StationPlotLayout< / span > < span class = "p" > ()< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_barb< / span > < span class = "p" > (< / span > < span class = "s1" > ' eastward_wind' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' northward_wind' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' knots' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' NW' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' air_temperature' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' .0f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' degF' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' darkred' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' SW' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' dew_point_temperature' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' .0f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' degF' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' darkgreen' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' E' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' precipitation' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' 0.1f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' inch' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' blue' < / span > < span class = "p" > )< / span >
< span class = "n" > ax_synop< / span > < span class = "o" > .< / span > < span class = "n" > set_title< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > getDataTime< / span > < span class = "p" > ())< / span > < span class = "o" > +< / span > < span class = "s2" > " | SYNOP Surface Obs | " < / span > < span class = "o" > +< / span > < span class = "n" > edexServer< / span > < span class = "p" > )< / span >
< span class = "n" > stationplot< / span > < span class = "o" > =< / span > < span class = "n" > StationPlot< / span > < span class = "p" > (< / span > < span class = "n" > ax_synop< / span > < span class = "p" > ,< / span > < span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > ],< / span > < span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ],< / span > < span class = "n" > clip_on< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span >
< span class = "n" > transform< / span > < span class = "o" > =< / span > < span class = "n" > ccrs< / span > < span class = "o" > .< / span > < span class = "n" > PlateCarree< / span > < span class = "p" > (),< / span > < span class = "n" > fontsize< / span > < span class = "o" > =< / span > < span class = "mi" > 10< / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > plot< / span > < span class = "p" > (< / span > < span class = "n" > stationplot< / span > < span class = "p" > ,< / span > < span class = "n" > data< / span > < span class = "p" > )< / span >
< / pre > < / div >
< / div >
< img alt = "../../_images/Regional_Surface_Obs_Plot_11_0.png" src = "../../_images/Regional_Surface_Obs_Plot_11_0.png" / >
< / div >
< hr class = "docutils" / >
< div class = "section" id = "plot-both-metar-and-synop" >
< h2 > Plot both METAR and SYNOP< a class = "headerlink" href = "#plot-both-metar-and-synop" title = "Permalink to this headline" > ¶< / a > < / h2 >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > custom_layout< / span > < span class = "o" > =< / span > < span class = "n" > StationPlotLayout< / span > < span class = "p" > ()< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_barb< / span > < span class = "p" > (< / span > < span class = "s1" > ' eastward_wind' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' northward_wind' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' knots' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' NW' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' air_temperature' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' .0f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' degF' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' darkred' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' SW' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' dew_point_temperature' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' .0f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' degF' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' darkgreen' < / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > add_value< / span > < span class = "p" > (< / span > < span class = "s1" > ' E' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' precipitation' < / span > < span class = "p" > ,< / span > < span class = "n" > fmt< / span > < span class = "o" > =< / span > < span class = "s1" > ' 0.1f' < / span > < span class = "p" > ,< / span > < span class = "n" > units< / span > < span class = "o" > =< / span > < span class = "s1" > ' inch' < / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' blue' < / span > < span class = "p" > )< / span >
< span class = "n" > ax< / span > < span class = "o" > .< / span > < span class = "n" > set_title< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > response< / span > < span class = "p" > [< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > getDataTime< / span > < span class = "p" > ())< / span > < span class = "o" > +< / span > < span class = "s2" > " | METAR/SYNOP Surface Obs | " < / span > < span class = "o" > +< / span > < span class = "n" > edexServer< / span > < span class = "p" > )< / span >
< span class = "n" > stationplot< / span > < span class = "o" > =< / span > < span class = "n" > StationPlot< / span > < span class = "p" > (< / span > < span class = "n" > ax< / span > < span class = "p" > ,< / span > < span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' lon' < / span > < span class = "p" > ],< / span > < span class = "n" > data< / span > < span class = "p" > [< / span > < span class = "s1" > ' lat' < / span > < span class = "p" > ],< / span > < span class = "n" > clip_on< / span > < span class = "o" > =< / span > < span class = "kc" > True< / span > < span class = "p" > ,< / span >
< span class = "n" > transform< / span > < span class = "o" > =< / span > < span class = "n" > ccrs< / span > < span class = "o" > .< / span > < span class = "n" > PlateCarree< / span > < span class = "p" > (),< / span > < span class = "n" > fontsize< / span > < span class = "o" > =< / span > < span class = "mi" > 10< / span > < span class = "p" > )< / span >
< span class = "n" > custom_layout< / span > < span class = "o" > .< / span > < span class = "n" > plot< / span > < span class = "p" > (< / span > < span class = "n" > stationplot< / span > < span class = "p" > ,< / span > < span class = "n" > data< / span > < span class = "p" > )< / span >
< span class = "n" > fig< / span >
< / pre > < / div >
< / div >
< img alt = "../../_images/Regional_Surface_Obs_Plot_13_0.png" src = "../../_images/Regional_Surface_Obs_Plot_13_0.png" / >
< / div >
< / div >
< / div >
< / div >
< footer >
< div class = "rst-footer-buttons" role = "navigation" aria-label = "footer navigation" >
2021-03-23 16:15:37 +00:00
< a href = "Satellite_Imagery.html" class = "btn btn-neutral float-right" title = "Satellite Imagery" accesskey = "n" rel = "next" > Next < span class = "fa fa-arrow-circle-right" aria-hidden = "true" > < / span > < / a >
< a href = "Precip_Accumulation-Region_Of_Interest.html" class = "btn btn-neutral float-left" title = "Precip Accumulation-Region Of Interest" accesskey = "p" rel = "prev" > < span class = "fa fa-arrow-circle-left" aria-hidden = "true" > < / span > Previous< / a >
2020-09-09 20:02:35 +00:00
< / div >
< hr / >
< div role = "contentinfo" >
< p >
2021-03-23 16:15:37 +00:00
© Copyright 2018, Unidata.
2020-09-09 20:02:35 +00:00
< / p >
< / div >
2021-03-23 16:15:37 +00:00
Built with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > using a
2020-09-09 20:02:35 +00:00
2021-03-23 16:15:37 +00:00
< a href = "https://github.com/readthedocs/sphinx_rtd_theme" > theme< / a >
2020-09-09 20:02:35 +00:00
provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
< / footer >
< / div >
< / div >
< / section >
< / div >
< script type = "text/javascript" >
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
< / script >
< / body >
< / html >