2020-09-09 20:02:35 +00:00
<!DOCTYPE html>
< html class = "writer-html5" lang = "en" >
< head >
2023-02-27 20:38:55 +00:00
< meta charset = "utf-8" / > < meta name = "generator" content = "Docutils 0.18.1: http://docutils.sourceforge.net/" / >
2021-09-20 20:37:21 +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 > Upper Air BUFR Soundings — python-awips documentation< / title >
2021-09-20 20:37:21 +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
<!-- [if lt IE 9]>
< script src = "../../_static/js/html5shiv.min.js" > < / script >
<![endif]-->
2023-09-18 20:56:23 +00:00
< script src = "../../_static/jquery.js?v=5d32c60e" > < / script >
< script src = "../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c" > < / script >
< script data-url_root = "../../" id = "documentation_options" src = "../../_static/documentation_options.js?v=b3ba4146" > < / script >
< script src = "../../_static/doctools.js?v=888ff710" > < / script >
< script src = "../../_static/sphinx_highlight.js?v=4825356b" > < / script >
2021-09-20 20:37:21 +00:00
< script src = "../../_static/js/theme.js" > < / script >
2020-09-09 20:02:35 +00:00
< 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" / >
2022-04-28 16:51:48 +00:00
< link rel = "next" title = "Watch Warning and Advisory Plotting" href = "Watch_Warning_and_Advisory_Plotting.html" / >
2020-09-09 20:02:35 +00:00
< link rel = "prev" title = "Satellite Imagery" href = "Satellite_Imagery.html" / >
< / head >
2021-09-20 20:37:21 +00:00
< body class = "wy-body-for-nav" >
2020-09-09 20:02:35 +00:00
< 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" >
2023-02-27 20:38:55 +00:00
< a href = "../../index.html" class = "icon icon-home" >
python-awips
2020-09-09 20:02:35 +00:00
< / a >
< div class = "version" >
2022-01-05 21:21:19 +00:00
18.1.8
2020-09-09 20:02:35 +00:00
< / div >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "../../search.html" method = "get" >
2023-02-27 20:38:55 +00:00
< input type = "text" name = "q" placeholder = "Search docs" aria-label = "Search docs" / >
2020-09-09 20:02:35 +00:00
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
2021-09-20 20:37:21 +00:00
< / div > < div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "Navigation menu" >
2020-09-09 20:02:35 +00:00
< 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 = "Colored_Surface_Temperature_Plot.html" > Colored Surface Temperature Plot< / a > < / li >
2022-02-04 21:09:59 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "Colorized_Grid_Data.html" > Colorized Grid Data< / a > < / li >
2020-09-09 20:02:35 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "Forecast_Model_Vertical_Sounding.html" > Forecast Model Vertical Sounding< / a > < / li >
2021-07-14 21:23:25 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "GOES_CIRA_Product_Writer.html" > GOES CIRA Product Writer< / a > < / li >
2020-09-09 20:02:35 +00:00
< 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" > < a class = "reference internal" href = "Regional_Surface_Obs_Plot.html" > Regional Surface Obs Plot< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "Satellite_Imagery.html" > Satellite Imagery< / a > < / li >
2023-05-22 20:01:57 +00:00
< li class = "toctree-l2 current" > < a class = "current reference internal" href = "#" > Upper Air BUFR Soundings< / a > < ul >
< li class = "toctree-l3" > < a class = "reference internal" href = "#objectives" > Objectives< / a > < ul >
< li class = "toctree-l4" > < a class = "reference internal" href = "#table-of-contents" > Table of Contents< / a > < / li >
< li class = "toctree-l4" > < a class = "reference internal" href = "#imports" > 1 Imports< / a > < / li >
< li class = "toctree-l4" > < a class = "reference internal" href = "#edex-connection" > 2 EDEX Connection< / a > < / li >
< li class = "toctree-l4" > < a class = "reference internal" href = "#filtering-by-time" > 3 Filtering by Time< / a > < / li >
< li class = "toctree-l4" > < a class = "reference internal" href = "#get-the-data" > 4 Get the Data!< / a > < / li >
< li class = "toctree-l4" > < a class = "reference internal" href = "#use-the-data" > 5 Use the Data!< / a > < / li >
< li class = "toctree-l4" > < a class = "reference internal" href = "#plot-the-data" > 6 Plot the Data!< / a > < / li >
< li class = "toctree-l4" > < a class = "reference internal" href = "#see-also" > 7 See Also< / a > < / li >
< / ul >
< / li >
< / ul >
< / li >
2022-04-28 16:51:48 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "Watch_Warning_and_Advisory_Plotting.html" > Watch Warning and Advisory Plotting< / a > < / li >
2020-09-09 20:02:35 +00:00
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../dev.html" > Development Guide< / a > < / li >
2021-09-20 20:37:21 +00:00
< li class = "toctree-l1" > < a class = "reference external" href = "http://unidata.github.io/awips2/appendix/appendix-grid-parameters/" > AWIPS Grid Parameters< / a > < / li >
2020-09-09 20:02:35 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../about.html" > About Unidata AWIPS< / a > < / li >
< / ul >
< / div >
< / div >
< / nav >
2021-09-20 20:37:21 +00:00
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" > < nav class = "wy-nav-top" aria-label = "Mobile navigation menu" >
2020-09-09 20:02:35 +00:00
< 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-09-20 20:37:21 +00:00
< div role = "navigation" aria-label = "Page navigation" >
2020-09-09 20:02:35 +00:00
< ul class = "wy-breadcrumbs" >
2023-02-27 20:38:55 +00:00
< li > < a href = "../../index.html" class = "icon icon-home" aria-label = "Home" > < / a > < / li >
2022-11-09 18:56:39 +00:00
< li class = "breadcrumb-item" > < a href = "../index.html" > Data Plotting Examples< / a > < / li >
< li class = "breadcrumb-item active" > Upper Air BUFR Soundings< / li >
2020-09-09 20:02:35 +00:00
< li class = "wy-breadcrumbs-aside" >
< a href = "../../_sources/examples/generated/Upper_Air_BUFR_Soundings.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" >
2021-09-20 20:37:21 +00:00
< section id = "upper-air-bufr-soundings" >
2022-06-03 19:57:40 +00:00
< h1 > Upper Air BUFR Soundings< a class = "headerlink" href = "#upper-air-bufr-soundings" title = "Permalink to this heading" > < / a > < / h1 >
2020-09-09 20:02:35 +00:00
< p > < a class = "reference external" href = "http://nbviewer.ipython.org/github/Unidata/python-awips/blob/master/examples/notebooks/Upper_Air_BUFR_Soundings.ipynb" > Notebook< / a >
2023-05-22 20:01:57 +00:00
Python-AWIPS Tutorial Notebook< / p >
< hr class = "docutils" / >
< section id = "objectives" >
< h2 > Objectives< a class = "headerlink" href = "#objectives" title = "Permalink to this heading" > < / a > < / h2 >
< ul class = "simple" >
< li > < p > Retrieve an Upper Air vertical profile from EDEX< / p > < / li >
< li > < p > Plot a Skew-T/Log-P chart with
< a class = "reference external" href = "https://matplotlib.org/" > Matplotlib< / a > and
< a class = "reference external" href = "https://unidata.github.io/MetPy/latest/index.html" > MetPy< / a > < / p > < / li >
< li > < p > Understand the < strong > bufrua< / strong > plugin returns separate objects for
parameters at < em > mandatory levels< / em > and at < em > significant temperature
levels< / em > < / p >
< ul >
< li > < p > < em > Significant temperature levels< / em > are used to plot the pressure,
temperature and dewpoint lines< / p > < / li >
< li > < p > < em > Mandatory levels< / em > are used to plot the wind profile< / p > < / li >
< / ul >
< / li >
< / ul >
< hr class = "docutils" / >
< section id = "table-of-contents" >
< h3 > Table of Contents< a class = "headerlink" href = "#table-of-contents" title = "Permalink to this heading" > < / a > < / h3 >
< div class = "line-block" >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#imports" > 1
Imports< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#edex-connection" > 2 EDEX
Connection< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#initial-edex-connection" > 2.1 Initial EDEX
Connection< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#setting-additional-request-parameters" > 2.2 Setting Additional Request
Parameters< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#available-location-names" > 2.3 Available Location
Names< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#setting-the-location-name" > 2.4 Setting the Location
Name< / a > < / div >
2023-05-22 20:13:23 +00:00
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#filtering-by-time" > 3 Filtering by
2023-05-22 20:01:57 +00:00
Time< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#get-the-data" > 4 Get the
Data!< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#use-the-data" > 5 Use the
Data!< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#prepare-data-objects" > 5.1 Prepare Data
Objects< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#convert-units" > 5.2 Convert
Units< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#plot-the-data" > 6 Plot the
Data!< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#see-also" > 7 See
Also< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#related-notebooks" > 7.1 Related
Notebooks< / a > < / div >
< div class = "line" > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#additional-documentation" > 7.2 Additional
Documentation< / a > < / div >
< / div >
< / section >
< section id = "imports" >
< h3 > 1 Imports< a class = "headerlink" href = "#imports" title = "Permalink to this heading" > < / a > < / h3 >
< p > The imports below are used throughout the notebook. Note the first
import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and
visualization.< / 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 >
2020-09-09 20:02:35 +00:00
< 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" > mpl_toolkits.axes_grid1.inset_locator< / span > < span class = "kn" > import< / span > < span class = "n" > inset_axes< / span >
< span class = "kn" > import< / span > < span class = "nn" > numpy< / span > < span class = "k" > as< / span > < span class = "nn" > np< / span >
2023-05-22 20:01:57 +00:00
< span class = "kn" > from< / span > < span class = "nn" > metpy.calc< / span > < span class = "kn" > import< / span > < span class = "n" > wind_components< / span > < span class = "p" > ,< / span > < span class = "n" > lcl< / span > < span class = "p" > ,< / span > < span class = "n" > parcel_profile< / span >
2020-09-09 20:02:35 +00:00
< span class = "kn" > from< / span > < span class = "nn" > metpy.plots< / span > < span class = "kn" > import< / span > < span class = "n" > SkewT< / span > < span class = "p" > ,< / span > < span class = "n" > Hodograph< / span >
2023-05-22 20:01:57 +00:00
< span class = "kn" > from< / span > < span class = "nn" > metpy.units< / span > < span class = "kn" > import< / span > < span class = "n" > units< / span >
< / pre > < / div >
< / div >
< p > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html" > Top< / a > < / p >
< / section >
< hr class = "docutils" / >
< section id = "edex-connection" >
< h3 > 2 EDEX Connection< a class = "headerlink" href = "#edex-connection" title = "Permalink to this heading" > < / a > < / h3 >
< section id = "initial-edex-connection" >
< h4 > 2.1 Initial EDEX Connection< a class = "headerlink" href = "#initial-edex-connection" title = "Permalink to this heading" > < / a > < / h4 >
< p > First we establish a connection to Unidata’ s public EDEX server. With
that connection made, we can create a < a class = "reference external" href = "http://unidata.github.io/python-awips/api/IDataRequest.html" > new data request
object< / a >
and set the data type to < strong > bufrua< / strong > , and define additional parameters
and an identifier on the request.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # Set the edex server< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > changeEDEXHost< / span > < span class = "p" > (< / span > < span class = "s2" > " edex-cloud.unidata.ucar.edu" < / 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 = "c1" > # Set data type< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > setDatatype< / span > < span class = "p" > (< / span > < span class = "s2" > " bufrua" < / span > < span class = "p" > )< / span >
2023-05-22 20:01:57 +00:00
< / pre > < / div >
< / div >
< / section >
< section id = "setting-additional-request-parameters" >
< h4 > 2.2 Setting Additional Request Parameters< a class = "headerlink" href = "#setting-additional-request-parameters" title = "Permalink to this heading" > < / a > < / h4 >
< p > Here we populate arrays of all the parameters that will be necessary for
plotting the Skew-T. The < code class = "docutils literal notranslate" > < span class = "pre" > MAN_PARAMS< / span > < / code > are the < em > mandatory levels< / em > and
the < code class = "docutils literal notranslate" > < span class = "pre" > SIGT_PARAMS< / span > < / code > are the < em > significant temperature< / em > parameters that
2023-05-22 20:13:23 +00:00
were both mentioned in the < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html#objectives" > objectives
section< / a >
above.< / p >
2023-05-30 18:32:14 +00:00
< p > Also request the station name and elevation to use in the figure title
later on.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > MAN_PARAMS< / span > < span class = "o" > =< / span > < span class = "nb" > set< / span > < span class = "p" > ([< / span > < span class = "s1" > ' prMan' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' wdMan' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' wsMan' < / span > < span class = "p" > ])< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > SIGT_PARAMS< / span > < span class = "o" > =< / span > < span class = "nb" > set< / span > < span class = "p" > ([< / span > < span class = "s1" > ' prSigT' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' tpSigT' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' tdSigT' < / span > < span class = "p" > ])< / span >
2023-05-22 20:01:57 +00:00
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > setParameters< / span > < span class = "p" > (< / span > < span class = "s2" > " staElev" < / span > < span class = "p" > ,< / span > < span class = "s2" > " staName" < / span > < span class = "p" > )< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > getParameters< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > extend< / span > < span class = "p" > (< / span > < span class = "n" > MAN_PARAMS< / span > < span class = "p" > )< / span >
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > getParameters< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > extend< / span > < span class = "p" > (< / span > < span class = "n" > SIGT_PARAMS< / span > < span class = "p" > )< / span >
2023-05-22 20:01:57 +00:00
< / pre > < / div >
< / div >
< / section >
< section id = "available-location-names" >
< h4 > 2.3 Available Location Names< a class = "headerlink" href = "#available-location-names" title = "Permalink to this heading" > < / a > < / h4 >
< p > When working with a new data type, it is often useful to investigate all
available options for a particular setting. Shown below is how to see
all available location names for a data request with type < strong > bufrua< / strong > .
This step is not necessary if you already know exactly what the location
ID you’ re interested in is.< / p >
2023-05-23 17:12:03 +00:00
< blockquote >
< div > < p > < strong > Note:< / strong > It is important to note the location names are listed by
their WMO Station ID. Their corresponding location and site
identifier can be looked up in < a class = "reference external" href = "https://data.un.org/Data.aspx?d=CLINO&f=ElementCode%3a15%3bCountryCode%3aUS&c=2,5,6,7,10,15,18,19,20,22,24,26,28,30,32,34,36,38,40,42,44,46&s=CountryName:asc,WmoStationNumber:asc,StatisticCode:asc&v=1" > this table from
UNdata< / a > .< / p >
< / div > < / blockquote >
2023-05-22 20:01:57 +00:00
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > locations< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getAvailableLocationNames< / span > < span class = "p" > (< / span > < span class = "n" > request< / span > < span class = "p" > )< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > locations< / span > < span class = "o" > .< / span > < span class = "n" > sort< / span > < span class = "p" > ()< / span >
2023-05-22 20:01:57 +00:00
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "n" > locations< / span > < span class = "p" > )< / span >
< / pre > < / div >
< / div >
2023-05-30 18:32:14 +00:00
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "p" > [< / span > < span class = "s1" > ' 21824' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 21946' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 24266' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 24343' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 24641' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 24688' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 24959' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 25123' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 25703' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 25913' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 31004' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 31088' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 31300' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 31369' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 31510' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 31538' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 31770' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 31873' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 32061' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 32098' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 32150' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 32389' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 32477' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 32540' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 32618' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47122' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47138' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47158' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47401' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47412' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47582' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47646' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47678' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47807' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47827' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47909' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47918' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47945' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47971' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 47991' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70026' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70133' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70200' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70219' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70231' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70261' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70273' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70308' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70316' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70326' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70350' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70361' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70398' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 70414' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 71043' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 71081' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 71082' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 71109' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 71119' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 71603' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 71722' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 71802' < / span > < span class = "p" > ,< / span > < span class = "s1" > & #
2023-05-22 20:01:57 +00:00
< / pre > < / div >
< / div >
< / section >
< section id = "setting-the-location-name" >
< h4 > 2.4 Setting the Location Name< a class = "headerlink" href = "#setting-the-location-name" title = "Permalink to this heading" > < / a > < / h4 >
< p > In this case we’ re setting the location name to the ID for < code class = "docutils literal notranslate" > < span class = "pre" > KLBF< / span > < / code >
which is the North Platte Regional Airport/Lee Bird, Field in Nebraska.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # Set station ID (not name)< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > request< / span > < span class = "o" > .< / span > < span class = "n" > setLocationNames< / span > < span class = "p" > (< / span > < span class = "s2" > " 72562" < / span > < span class = "p" > )< / span > < span class = "c1" > #KLBF< / span >
2023-05-22 20:01:57 +00:00
< / pre > < / div >
< / div >
< p > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html" > Top< / a > < / p >
< / section >
< / section >
< hr class = "docutils" / >
< section id = "filtering-by-time" >
< h3 > 3 Filtering by Time< a class = "headerlink" href = "#filtering-by-time" title = "Permalink to this heading" > < / a > < / h3 >
< p > Models produce many different time variants during their runs, so let’ s
limit the data to the most recent time and forecast run.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # Get all times< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > datatimes< / span > < span class = "o" > =< / span > < span class = "n" > DataAccessLayer< / span > < span class = "o" > .< / span > < span class = "n" > getAvailableTimes< / span > < span class = "p" > (< / span > < span class = "n" > request< / span > < span class = "p" > )< / span >
2023-05-22 20:01:57 +00:00
< / pre > < / div >
< / div >
< p > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html" > Top< / a > < / p >
< / section >
< hr class = "docutils" / >
< section id = "get-the-data" >
< h3 > 4 Get the Data!< a class = "headerlink" href = "#get-the-data" title = "Permalink to this heading" > < / a > < / h3 >
< p > Here we can now request our data response from the EDEX server with our
defined time filter.< / p >
< p > Printing out some data from the first object in the response array can
help verify we received the data we were interested in.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # Get most recent record< / span >
2020-09-09 20:02:35 +00:00
< 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" > times< / span > < span class = "o" > =< / span > < span class = "n" > datatimes< / 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" > validPeriod< / span > < span class = "p" > )< / span >
2023-05-22 20:01:57 +00:00
< span class = "n" > obj< / span > < span class = "o" > =< / span > < span class = "n" > response< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
2020-09-09 20:02:35 +00:00
2023-05-22 20:01:57 +00:00
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " parms = " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > getParameters< / span > < span class = "p" > ()))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " site = " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > getLocationName< / span > < span class = "p" > ()))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " geom = " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > getGeometry< / span > < span class = "p" > ()))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " datetime = " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > getDataTime< / span > < span class = "p" > ()))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " reftime = " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > getDataTime< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > getRefTime< / span > < span class = "p" > ()))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " fcstHour = " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > getDataTime< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > getFcstTime< / span > < span class = "p" > ()))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " period = " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > obj< / span > < span class = "o" > .< / span > < span class = "n" > getDataTime< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > getValidPeriod< / span > < span class = "p" > ()))< / span >
< / pre > < / div >
< / div >
2023-05-30 18:32:14 +00:00
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "n" > parms< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s1" > ' tpSigT' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' prSigT' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' tdSigT' < / span > < span class = "p" > ]< / span >
2023-05-22 20:01:57 +00:00
< span class = "n" > site< / span > < span class = "o" > =< / span > < span class = "mi" > 72562< / span >
< span class = "n" > geom< / span > < span class = "o" > =< / span > < span class = "n" > POINT< / span > < span class = "p" > (< / span > < span class = "o" > -< / span > < span class = "mf" > 100.7005615234375< / span > < span class = "mf" > 41.14971923828125< / span > < span class = "p" > )< / span >
2023-05-30 18:32:14 +00:00
< span class = "n" > datetime< / span > < span class = "o" > =< / span > < span class = "mi" > 2023< / span > < span class = "o" > -< / span > < span class = "mi" > 05< / span > < span class = "o" > -< / span > < span class = "mi" > 25< / span > < span class = "mi" > 12< / span > < span class = "p" > :< / span > < span class = "mi" > 00< / span > < span class = "p" > :< / span > < span class = "mi" > 00< / span >
< span class = "n" > reftime< / span > < span class = "o" > =< / span > < span class = "n" > May< / span > < span class = "mi" > 25< / span > < span class = "mi" > 23< / span > < span class = "mi" > 12< / span > < span class = "p" > :< / span > < span class = "mi" > 00< / span > < span class = "p" > :< / span > < span class = "mi" > 00< / span > < span class = "n" > GMT< / span >
2023-05-22 20:01:57 +00:00
< span class = "n" > fcstHour< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span >
2023-05-30 18:32:14 +00:00
< span class = "n" > period< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "n" > May< / span > < span class = "mi" > 25< / span > < span class = "mi" > 23< / span > < span class = "mi" > 12< / span > < span class = "p" > :< / span > < span class = "mi" > 00< / span > < span class = "p" > :< / span > < span class = "mi" > 00< / span > < span class = "p" > ,< / span > < span class = "n" > May< / span > < span class = "mi" > 25< / span > < span class = "mi" > 23< / span > < span class = "mi" > 12< / span > < span class = "p" > :< / span > < span class = "mi" > 00< / span > < span class = "p" > :< / span > < span class = "mi" > 00< / span > < span class = "p" > )< / span >
2023-05-22 20:01:57 +00:00
< / pre > < / div >
< / div >
< p > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html" > Top< / a > < / p >
< / section >
< hr class = "docutils" / >
< section id = "use-the-data" >
< h3 > 5 Use the Data!< a class = "headerlink" href = "#use-the-data" title = "Permalink to this heading" > < / a > < / h3 >
< p > Since we filtered on time, and requested the data in the previous cell,
we now have a < code class = "docutils literal notranslate" > < span class = "pre" > response< / span > < / code > object we can work with.< / p >
< section id = "prepare-data-objects" >
2023-05-23 19:54:25 +00:00
< h4 > 5.1 Prepare Data Objects< a class = "headerlink" href = "#prepare-data-objects" title = "Permalink to this heading" > < / a > < / h4 >
2023-05-22 20:01:57 +00:00
< p > Here we construct arrays for each parameter to plot (temperature,
2023-05-30 18:32:14 +00:00
dewpoint, pressure, and wind components). After populating each of the
arrays, we sort and mask missing data.< / p >
2023-05-22 20:01:57 +00:00
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # Initialize data arrays< / span >
2023-05-30 18:32:14 +00:00
< span class = "n" > prMan< / span > < span class = "p" > ,< / span > < span class = "n" > wdMan< / span > < span class = "p" > ,< / span > < span class = "n" > wsMan< / 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" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > ([]),< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / span > < span class = "p" > ([])< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > prSig< / span > < span class = "p" > ,< / span > < span class = "n" > tpSig< / span > < span class = "p" > ,< / span > < span class = "n" > tdSig< / 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" > np< / span > < span class = "o" > .< / span > < span class = "n" > array< / 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" > manGeos< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "n" > sigtGeos< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "c1" > # Build arrays< / 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 = "n" > parm_array< / span > < span class = "o" > =< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getParameters< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "nb" > set< / span > < span class = "p" > (< / span > < span class = "n" > parm_array< / span > < span class = "p" > )< / span > < span class = "o" > & < / span > < span class = "n" > MAN_PARAMS< / span > < span class = "p" > :< / span >
< span class = "n" > manGeos< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "n" > ob< / span > < span class = "p" > )< / span >
< span class = "n" > prMan< / 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" > prMan< / 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 = "s2" > " prMan" < / span > < span class = "p" > ))< / span >
< span class = "n" > wdMan< / 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" > wdMan< / 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 = "s2" > " wdMan" < / span > < span class = "p" > ))< / span >
< span class = "n" > wsMan< / span > < span class = "p" > ,< / span > < span class = "n" > wsUnit< / 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" > wsMan< / 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 = "s2" > " wsMan" < / span > < span class = "p" > )),< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getUnit< / span > < span class = "p" > (< / span > < span class = "s2" > " wsMan" < / span > < span class = "p" > )< / span >
< span class = "k" > continue< / span >
< span class = "k" > if< / span > < span class = "nb" > set< / span > < span class = "p" > (< / span > < span class = "n" > parm_array< / span > < span class = "p" > )< / span > < span class = "o" > & < / span > < span class = "n" > SIGT_PARAMS< / span > < span class = "p" > :< / span >
< span class = "n" > sigtGeos< / span > < span class = "o" > .< / span > < span class = "n" > append< / span > < span class = "p" > (< / span > < span class = "n" > ob< / span > < span class = "p" > )< / span >
< span class = "n" > prSig< / 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" > prSig< / 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 = "s2" > " prSigT" < / span > < span class = "p" > ))< / span >
< span class = "n" > tpSig< / 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" > tpSig< / 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 = "s2" > " tpSigT" < / span > < span class = "p" > ))< / span >
2023-05-30 18:32:14 +00:00
< span class = "n" > tpUnit< / span > < span class = "o" > =< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getUnit< / span > < span class = "p" > (< / span > < span class = "s2" > " tpSigT" < / span > < span class = "p" > )< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > tdSig< / 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" > tdSig< / 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 = "s2" > " tdSigT" < / span > < span class = "p" > ))< / span >
< span class = "k" > continue< / span >
< span class = "c1" > # Sort mandatory levels (but not sigT levels) because of the 1000.MB interpolation inclusion< / span >
< span class = "n" > ps< / span > < span class = "o" > =< / span > < span class = "n" > prMan< / span > < span class = "o" > .< / span > < span class = "n" > argsort< / span > < span class = "p" > ()[::< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span >
< span class = "n" > wpres< / span > < span class = "o" > =< / span > < span class = "n" > prMan< / span > < span class = "p" > [< / span > < span class = "n" > ps< / span > < span class = "p" > ]< / span >
< span class = "n" > direc< / span > < span class = "o" > =< / span > < span class = "n" > wdMan< / span > < span class = "p" > [< / span > < span class = "n" > ps< / span > < span class = "p" > ]< / span >
< span class = "n" > spd< / span > < span class = "o" > =< / span > < span class = "n" > wsMan< / span > < span class = "p" > [< / span > < span class = "n" > ps< / span > < span class = "p" > ]< / span >
< span class = "c1" > # Flag missing data< / span >
< span class = "n" > prSig< / span > < span class = "p" > [< / span > < span class = "n" > prSig< / span > < span class = "o" > < =< / span > < span class = "o" > -< / span > < span class = "mi" > 9999< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > nan< / span >
< span class = "n" > tpSig< / span > < span class = "p" > [< / span > < span class = "n" > tpSig< / span > < span class = "o" > < =< / span > < span class = "o" > -< / span > < span class = "mi" > 9999< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > nan< / span >
< span class = "n" > tdSig< / span > < span class = "p" > [< / span > < span class = "n" > tdSig< / span > < span class = "o" > < =< / span > < span class = "o" > -< / span > < span class = "mi" > 9999< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > nan< / span >
< span class = "n" > wpres< / span > < span class = "p" > [< / span > < span class = "n" > wpres< / span > < span class = "o" > < =< / span > < span class = "o" > -< / span > < span class = "mi" > 9999< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > nan< / span >
< span class = "n" > direc< / span > < span class = "p" > [< / span > < span class = "n" > direc< / span > < span class = "o" > < =< / span > < span class = "o" > -< / span > < span class = "mi" > 9999< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > nan< / span >
< span class = "n" > spd< / span > < span class = "p" > [< / span > < span class = "n" > spd< / span > < span class = "o" > < =< / span > < span class = "o" > -< / span > < span class = "mi" > 9999< / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > nan< / span >
2023-05-22 20:01:57 +00:00
< / pre > < / div >
< / div >
< / section >
< section id = "convert-units" >
< h4 > 5.2 Convert Units< a class = "headerlink" href = "#convert-units" title = "Permalink to this heading" > < / a > < / h4 >
< p > We need to modify the units several of the data parameters are returned
2023-05-30 18:32:14 +00:00
in. Here we convert the units for Temperature and Dewpoint from Kelvin
to Celsius, convert pressure to milibars, and extract wind for both the
u and v directional components in Knots and Radians.< / p >
2023-05-22 20:01:57 +00:00
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # assign units< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > p< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "n" > prSig< / span > < span class = "o" > /< / span > < span class = "mi" > 100< / span > < span class = "p" > )< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > mbar< / span >
< span class = "n" > wpres< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "n" > wpres< / span > < span class = "o" > /< / span > < span class = "mi" > 100< / span > < span class = "p" > )< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > mbar< / 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" > spd< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > knots< / span > < span class = "p" > ,< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > deg2rad< / span > < span class = "p" > (< / span > < span class = "n" > direc< / span > < span class = "p" > ))< / span >
< span class = "k" > if< / span > < span class = "n" > tpUnit< / span > < span class = "o" > ==< / span > < span class = "s1" > ' K' < / span > < span class = "p" > :< / span >
< span class = "n" > T< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "n" > tpSig< / span > < span class = "o" > -< / span > < span class = "mf" > 273.15< / span > < span class = "p" > )< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > degC< / span >
< span class = "n" > Td< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "n" > tdSig< / span > < span class = "o" > -< / span > < span class = "mf" > 273.15< / span > < span class = "p" > )< / span > < span class = "o" > *< / span > < span class = "n" > units< / span > < span class = "o" > .< / span > < span class = "n" > degC< / span >
2023-05-22 20:01:57 +00:00
< / pre > < / div >
< / div >
< p > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html" > Top< / a > < / p >
< / section >
< / section >
< hr class = "docutils" / >
< section id = "plot-the-data" >
< h3 > 6 Plot the Data!< a class = "headerlink" href = "#plot-the-data" title = "Permalink to this heading" > < / a > < / h3 >
< p > Create and display SkewT and Hodograph plots using MetPy.< / p >
< div class = "highlight-ipython3 notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "c1" > # Create SkewT/LogP< / span >
2020-09-09 20:02:35 +00:00
< span class = "n" > plt< / span > < span class = "o" > .< / span > < span class = "n" > rcParams< / span > < span class = "p" > [< / span > < span class = "s1" > ' figure.figsize' < / span > < span class = "p" > ]< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 10< / span > < span class = "p" > ,< / span > < span class = "mi" > 12< / span > < span class = "p" > )< / span >
< span class = "n" > skew< / span > < span class = "o" > =< / span > < span class = "n" > SkewT< / span > < span class = "p" > ()< / span >
< span class = "n" > skew< / span > < span class = "o" > .< / span > < span class = "n" > plot< / span > < span class = "p" > (< / span > < span class = "n" > p< / span > < span class = "p" > ,< / span > < span class = "n" > T< / span > < span class = "p" > ,< / span > < span class = "s1" > ' r' < / 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" > skew< / span > < span class = "o" > .< / span > < span class = "n" > plot< / span > < span class = "p" > (< / span > < span class = "n" > p< / span > < span class = "p" > ,< / span > < span class = "n" > Td< / span > < span class = "p" > ,< / span > < span class = "s1" > ' g' < / 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" > skew< / span > < span class = "o" > .< / span > < span class = "n" > plot_barbs< / span > < span class = "p" > (< / span > < span class = "n" > wpres< / span > < span class = "p" > ,< / span > < span class = "n" > u< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span > < span class = "p" > )< / span >
< span class = "n" > skew< / span > < span class = "o" > .< / span > < span class = "n" > ax< / span > < span class = "o" > .< / span > < span class = "n" > set_ylim< / span > < span class = "p" > (< / span > < span class = "mi" > 1000< / span > < span class = "p" > ,< / span > < span class = "mi" > 100< / span > < span class = "p" > )< / span >
< span class = "n" > skew< / span > < span class = "o" > .< / span > < span class = "n" > ax< / span > < span class = "o" > .< / span > < span class = "n" > set_xlim< / span > < span class = "p" > (< / span > < span class = "o" > -< / span > < span class = "mi" > 60< / span > < span class = "p" > ,< / span > < span class = "mi" > 30< / span > < span class = "p" > )< / span >
< span class = "n" > title_string< / span > < span class = "o" > =< / span > < span class = "s2" > " T(F) Td " < / span >
< span class = "n" > title_string< / span > < span class = "o" > +=< / span > < span class = "s2" > " " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / 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 = "s2" > " staName" < / span > < span class = "p" > ))< / span >
< span class = "n" > title_string< / span > < span class = "o" > +=< / span > < span class = "s2" > " " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > ob< / span > < span class = "o" > .< / span > < span class = "n" > getDataTime< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > getRefTime< / span > < span class = "p" > ())< / span >
< span class = "n" > title_string< / span > < span class = "o" > +=< / span > < span class = "s2" > " (" < / span > < span class = "o" > +< / span > < span class = "nb" > str< / 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 = "s2" > " staElev" < / span > < span class = "p" > ))< / span > < span class = "o" > +< / span > < span class = "s2" > " m elev)" < / span >
< span class = "n" > title_string< / span > < span class = "o" > +=< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "nb" > round< / span > < span class = "p" > (< / span > < span class = "n" > T< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > to< / span > < span class = "p" > (< / span > < span class = "s1" > ' degF' < / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > item< / span > < span class = "p" > (),< / span > < span class = "mi" > 1< / span > < span class = "p" > ))< / span >
< span class = "n" > title_string< / span > < span class = "o" > +=< / span > < span class = "s2" > " " < / span > < span class = "o" > +< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "nb" > round< / span > < span class = "p" > (< / span > < span class = "n" > Td< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > to< / span > < span class = "p" > (< / span > < span class = "s1" > ' degF' < / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > item< / span > < span class = "p" > (),< / span > < span class = "mi" > 1< / span > < span class = "p" > ))< / span >
< span class = "n" > plt< / span > < span class = "o" > .< / span > < span class = "n" > title< / span > < span class = "p" > (< / span > < span class = "n" > title_string< / span > < span class = "p" > ,< / span > < span class = "n" > loc< / span > < span class = "o" > =< / span > < span class = "s1" > ' left' < / span > < span class = "p" > )< / span >
< span class = "c1" > # Calculate LCL height and plot as black dot< / span >
< span class = "n" > lcl_pressure< / span > < span class = "p" > ,< / span > < span class = "n" > lcl_temperature< / span > < span class = "o" > =< / span > < span class = "n" > lcl< / span > < span class = "p" > (< / span > < span class = "n" > p< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > T< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > Td< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
< span class = "n" > skew< / span > < span class = "o" > .< / span > < span class = "n" > plot< / span > < span class = "p" > (< / span > < span class = "n" > lcl_pressure< / span > < span class = "p" > ,< / span > < span class = "n" > lcl_temperature< / span > < span class = "p" > ,< / span > < span class = "s1" > ' ko' < / span > < span class = "p" > ,< / span > < span class = "n" > markerfacecolor< / span > < span class = "o" > =< / span > < span class = "s1" > ' black' < / span > < span class = "p" > )< / span >
< span class = "c1" > # Calculate full parcel profile and add to plot as black line< / span >
< span class = "n" > prof< / span > < span class = "o" > =< / span > < span class = "n" > parcel_profile< / span > < span class = "p" > (< / span > < span class = "n" > p< / span > < span class = "p" > ,< / span > < span class = "n" > T< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > Td< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span > < span class = "o" > .< / span > < span class = "n" > to< / span > < span class = "p" > (< / span > < span class = "s1" > ' degC' < / span > < span class = "p" > )< / span >
< span class = "n" > skew< / span > < span class = "o" > .< / span > < span class = "n" > plot< / span > < span class = "p" > (< / span > < span class = "n" > p< / span > < span class = "p" > ,< / span > < span class = "n" > prof< / span > < span class = "p" > ,< / span > < span class = "s1" > ' k' < / 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 = "c1" > # An example of a slanted line at constant T -- in this case the 0 isotherm< / span >
< span class = "n" > l< / span > < span class = "o" > =< / span > < span class = "n" > skew< / span > < span class = "o" > .< / span > < span class = "n" > ax< / span > < span class = "o" > .< / span > < span class = "n" > axvline< / span > < span class = "p" > (< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > color< / span > < span class = "o" > =< / span > < span class = "s1" > ' c' < / span > < span class = "p" > ,< / span > < span class = "n" > linestyle< / span > < span class = "o" > =< / span > < span class = "s1" > ' --' < / 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 = "c1" > # Draw hodograph< / span >
< span class = "n" > ax_hod< / span > < span class = "o" > =< / span > < span class = "n" > inset_axes< / span > < span class = "p" > (< / span > < span class = "n" > skew< / span > < span class = "o" > .< / span > < span class = "n" > ax< / span > < span class = "p" > ,< / span > < span class = "s1" > ' 30%' < / span > < span class = "p" > ,< / span > < span class = "s1" > ' 30%' < / span > < span class = "p" > ,< / span > < span class = "n" > loc< / span > < span class = "o" > =< / span > < span class = "mi" > 3< / span > < span class = "p" > )< / span >
< span class = "n" > h< / span > < span class = "o" > =< / span > < span class = "n" > Hodograph< / span > < span class = "p" > (< / span > < span class = "n" > ax_hod< / span > < span class = "p" > ,< / span > < span class = "n" > component_range< / span > < span class = "o" > =< / span > < span class = "nb" > max< / span > < span class = "p" > (< / span > < span class = "n" > wsMan< / span > < span class = "p" > ))< / span >
< span class = "n" > h< / span > < span class = "o" > .< / span > < span class = "n" > add_grid< / span > < span class = "p" > (< / span > < span class = "n" > increment< / span > < span class = "o" > =< / span > < span class = "mi" > 20< / span > < span class = "p" > )< / span >
< span class = "n" > h< / span > < span class = "o" > .< / span > < span class = "n" > plot_colormapped< / span > < span class = "p" > (< / span > < span class = "n" > u< / span > < span class = "p" > ,< / span > < span class = "n" > v< / span > < span class = "p" > ,< / span > < span class = "n" > spd< / span > < span class = "p" > )< / span >
< span class = "c1" > # Show the plot< / span >
< span class = "n" > plt< / span > < span class = "o" > .< / span > < span class = "n" > show< / span > < span class = "p" > ()< / span >
< / pre > < / div >
< / div >
2023-05-22 20:01:57 +00:00
< img alt = "../../_images/Upper_Air_BUFR_Soundings_28_0.png" src = "../../_images/Upper_Air_BUFR_Soundings_28_0.png" / >
< p > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html" > Top< / a > < / p >
< / section >
< hr class = "docutils" / >
< section id = "see-also" >
< h3 > 7 See Also< a class = "headerlink" href = "#see-also" title = "Permalink to this heading" > < / a > < / h3 >
< section id = "related-notebooks" >
< h4 > 7.1 Related Notebooks< a class = "headerlink" href = "#related-notebooks" title = "Permalink to this heading" > < / a > < / h4 >
< ul class = "simple" >
< li > < p > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html" > Grid Levels and
Parameters< / a > < / p > < / li >
< li > < p > < a class = "reference external" href = "http://unidata.github.io/python-awips/examples/generated/Model_Sounding_Data.html" > Model Sounding
Data< / a > < / p > < / li >
< li > < p > < a class = "reference external" href = "http://unidata.github.io/python-awips/examples/generated/Forecast_Model_Vertical_Sounding.html" > Forecast Model Vertical
Sounding< / a > < / p > < / li >
< / ul >
< / section >
< section id = "additional-documentation" >
< h4 > 7.2 Additional Documentation< a class = "headerlink" href = "#additional-documentation" title = "Permalink to this heading" > < / a > < / h4 >
< p > < strong > python-awips:< / strong > < / p >
< ul class = "simple" >
< li > < p > < a class = "reference external" href = "http://unidata.github.io/python-awips/api/DataAccessLayer.html" > awips.DataAccessLayer< / a > < / p > < / li >
< li > < p > < a class = "reference external" href = "http://unidata.github.io/python-awips/api/PyGeometryData.html" > awips.PyGeometryData< / a > < / p > < / li >
< / ul >
< p > < strong > matplotlib:< / strong > < / p >
< ul class = "simple" >
< li > < p > < a class = "reference external" href = "https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.html" > matplotlib.pyplot< / a > < / p > < / li >
< / ul >
< p > < strong > MetPy< / strong > < / p >
< ul class = "simple" >
< li > < p > < a class = "reference external" href = "https://unidata.github.io/MetPy/latest/api/generated/metpy.calc.wind_components.html" > metpy.wind_components< / a > < / p > < / li >
< li > < p > < a class = "reference external" href = "https://unidata.github.io/MetPy/latest/api/generated/metpy.calc.lcl.html" > metpy.lcl< / a >
(Lifted Condensation Level)< / p > < / li >
< li > < p > < a class = "reference external" href = "https://unidata.github.io/MetPy/latest/api/generated/metpy.calc.parcel_profile.html" > metpy.parcel_profile< / a > < / p > < / li >
< li > < p > < a class = "reference external" href = "https://unidata.github.io/MetPy/latest/api/generated/metpy.plots.SkewT.html" > metpy.skewt< / a > < / p > < / li >
< li > < p > < a class = "reference external" href = "https://unidata.github.io/MetPy/latest/api/generated/metpy.plots.Hodograph.html" > metpy.hodograph< / a > < / p > < / li >
< / ul >
< p > < a class = "reference external" href = "https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html" > Top< / a > < / p >
< hr class = "docutils" / >
< / section >
< / section >
< / section >
2021-09-20 20:37:21 +00:00
< / section >
2020-09-09 20:02:35 +00:00
< / div >
< / div >
2021-09-20 20:37:21 +00:00
< footer > < div class = "rst-footer-buttons" role = "navigation" aria-label = "Footer" >
2021-03-23 16:15:37 +00:00
< a href = "Satellite_Imagery.html" class = "btn btn-neutral float-left" title = "Satellite Imagery" accesskey = "p" rel = "prev" > < span class = "fa fa-arrow-circle-left" aria-hidden = "true" > < / span > Previous< / a >
2022-04-28 16:51:48 +00:00
< a href = "Watch_Warning_and_Advisory_Plotting.html" class = "btn btn-neutral float-right" title = "Watch Warning and Advisory Plotting" accesskey = "n" rel = "next" > Next < span class = "fa fa-arrow-circle-right" aria-hidden = "true" > < / span > < / a >
2020-09-09 20:02:35 +00:00
< / div >
< hr / >
< div role = "contentinfo" >
2021-09-20 20:37:21 +00:00
< p > © Copyright 2018, Unidata.< / p >
2020-09-09 20:02:35 +00:00
< / div >
2021-09-20 20:37:21 +00:00
Built with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > using a
2021-03-23 16:15:37 +00:00
< a href = "https://github.com/readthedocs/sphinx_rtd_theme" > theme< / a >
2021-09-20 20:37:21 +00:00
provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
2020-09-09 20:02:35 +00:00
< / footer >
< / div >
< / div >
< / section >
< / div >
2021-09-20 20:37:21 +00:00
< script >
2020-09-09 20:02:35 +00:00
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
2021-09-20 20:37:21 +00:00
< / script >
2020-09-09 20:02:35 +00:00
< / body >
< / html >