mirror of
https://github.com/Unidata/python-awips.git
synced 2025-02-24 06:57:56 -05:00
315 lines
No EOL
38 KiB
HTML
315 lines
No EOL
38 KiB
HTML
<!DOCTYPE html>
|
|
<html class="writer-html5" lang="en" >
|
|
<head>
|
|
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Precip Accumulation-Region Of Interest — python-awips documentation</title>
|
|
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
|
|
<!--[if lt IE 9]>
|
|
<script src="../../_static/js/html5shiv.min.js"></script>
|
|
<![endif]-->
|
|
|
|
<script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
|
|
<script src="../../_static/jquery.js"></script>
|
|
<script src="../../_static/underscore.js"></script>
|
|
<script src="../../_static/doctools.js"></script>
|
|
<script 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="Regional Surface Obs Plot" href="Regional_Surface_Obs_Plot.html" />
|
|
<link rel="prev" title="NEXRAD Level3 Radar" href="NEXRAD_Level3_Radar.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" >
|
|
<a href="../../index.html" class="icon icon-home"> python-awips
|
|
</a>
|
|
<div class="version">
|
|
18.1.8
|
|
</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="Navigation menu">
|
|
<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>
|
|
<li class="toctree-l2"><a class="reference internal" href="Colorized_Grid_Data.html">Colorized Grid Data</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_CIRA_Product_Writer.html">GOES CIRA Product Writer</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 current"><a class="current reference internal" href="#">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>
|
|
<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 external" href="http://unidata.github.io/awips2/appendix/appendix-grid-parameters/">AWIPS 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="Mobile navigation menu" >
|
|
<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">
|
|
<div role="navigation" aria-label="Page 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>Precip Accumulation-Region Of Interest</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
<a href="../../_sources/examples/generated/Precip_Accumulation-Region_Of_Interest.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">
|
|
|
|
<section id="precip-accumulation-region-of-interest">
|
|
<h1>Precip Accumulation-Region Of Interest<a class="headerlink" href="#precip-accumulation-region-of-interest" 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/Precip_Accumulation-Region_Of_Interest.ipynb">Notebook</a>
|
|
A way to determine areas of greatest precipitation and generate imagery
|
|
for that sector.</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">import</span> <span class="nn">cartopy.crs</span> <span class="k">as</span> <span class="nn">ccrs</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">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">metpy.units</span> <span class="kn">import</span> <span class="n">units</span>
|
|
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
|
<span class="kn">from</span> <span class="nn">shapely.geometry</span> <span class="kn">import</span> <span class="n">Point</span><span class="p">,</span> <span class="n">Polygon</span>
|
|
|
|
<span class="o">%</span><span class="k">matplotlib</span> inline
|
|
|
|
<span class="n">conus</span><span class="o">=</span><span class="p">[</span><span class="o">-</span><span class="mi">120</span><span class="p">,</span> <span class="o">-</span><span class="mi">65</span><span class="p">,</span> <span class="mi">28</span><span class="p">,</span> <span class="mi">50</span><span class="p">]</span>
|
|
<span class="n">conus_envelope</span> <span class="o">=</span> <span class="n">Polygon</span><span class="p">([(</span><span class="n">conus</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">conus</span><span class="p">[</span><span class="mi">2</span><span class="p">]),(</span><span class="n">conus</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">conus</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span>
|
|
<span class="p">(</span><span class="n">conus</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">conus</span><span class="p">[</span><span class="mi">3</span><span class="p">]),(</span><span class="n">conus</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">conus</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span>
|
|
<span class="p">(</span><span class="n">conus</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">conus</span><span class="p">[</span><span class="mi">2</span><span class="p">])])</span>
|
|
|
|
<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="s2">"grid"</span><span class="p">,</span> <span class="n">envelope</span><span class="o">=</span><span class="n">conus_envelope</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="s2">"NAM40"</span><span class="p">)</span>
|
|
<span class="n">request</span><span class="o">.</span><span class="n">setLevels</span><span class="p">(</span><span class="s2">"0.0SFC"</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="s2">"TP"</span><span class="p">)</span>
|
|
|
|
<span class="n">cycles</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> <span class="kc">True</span><span class="p">)</span>
|
|
<span class="n">times</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>
|
|
<span class="n">fcstRun</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getForecastRun</span><span class="p">(</span><span class="n">cycles</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">],</span> <span class="n">times</span><span class="p">)</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Calculate accumulated precipitation</p>
|
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">tt</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">fcstRun</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">getGridData</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="p">[</span><span class="n">tt</span><span class="p">])</span>
|
|
<span class="n">grid</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="k">if</span> <span class="n">i</span><span class="o">></span><span class="mi">0</span><span class="p">:</span>
|
|
<span class="n">data</span> <span class="o">+=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getRawData</span><span class="p">()</span>
|
|
<span class="k">else</span><span class="p">:</span>
|
|
<span class="n">data</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getRawData</span><span class="p">()</span>
|
|
<span class="n">data</span><span class="p">[</span><span class="n">data</span> <span class="o"><=</span> <span class="o">-</span><span class="mi">9999</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">min</span><span class="p">(),</span> <span class="n">data</span><span class="o">.</span><span class="n">max</span><span class="p">(),</span> <span class="n">grid</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="o">/</span><span class="mi">3600</span><span class="p">)</span>
|
|
|
|
|
|
<span class="n">lons</span><span class="p">,</span> <span class="n">lats</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getLatLonCoords</span><span class="p">()</span>
|
|
<span class="n">bbox</span> <span class="o">=</span> <span class="p">[</span><span class="n">lons</span><span class="o">.</span><span class="n">min</span><span class="p">(),</span> <span class="n">lons</span><span class="o">.</span><span class="n">max</span><span class="p">(),</span> <span class="n">lats</span><span class="o">.</span><span class="n">min</span><span class="p">(),</span> <span class="n">lats</span><span class="o">.</span><span class="n">max</span><span class="p">()]</span>
|
|
<span class="n">fcstHr</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">grid</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="o">/</span><span class="mi">3600</span><span class="p">)</span>
|
|
|
|
<span class="n">tp_inch</span> <span class="o">=</span> <span class="n">data</span> <span class="o">*</span> <span class="p">(</span><span class="mf">0.0393701</span><span class="p">)</span>
|
|
<span class="nb">print</span><span class="p">(</span><span class="n">tp_inch</span><span class="o">.</span><span class="n">min</span><span class="p">(),</span> <span class="n">tp_inch</span><span class="o">.</span><span class="n">max</span><span class="p">())</span>
|
|
</pre></div>
|
|
</div>
|
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mf">0.0</span> <span class="mf">0.0</span> <span class="mf">0.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">32.1875</span> <span class="mf">3.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">52.125</span> <span class="mf">6.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">74.375</span> <span class="mf">9.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">77.125</span> <span class="mf">12.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">78.625</span> <span class="mf">15.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">78.75</span> <span class="mf">18.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">78.75</span> <span class="mf">21.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">79.375</span> <span class="mf">24.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">82.25</span> <span class="mf">27.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">84.0</span> <span class="mf">30.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">84.6875</span> <span class="mf">33.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">85.625</span> <span class="mf">36.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">87.3125</span> <span class="mf">39.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">87.75</span> <span class="mf">42.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">87.75</span> <span class="mf">45.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">89.375</span> <span class="mf">48.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">127.875</span> <span class="mf">51.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">139.5625</span> <span class="mf">54.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">139.6875</span> <span class="mf">57.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.5625</span> <span class="mf">60.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.625</span> <span class="mf">63.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.625</span> <span class="mf">66.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.625</span> <span class="mf">69.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.625</span> <span class="mf">72.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.625</span> <span class="mf">75.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.625</span> <span class="mf">78.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.625</span> <span class="mf">81.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">140.625</span> <span class="mf">84.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">5.5364203</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Determine lat/lon of maximum rainfall value:</p>
|
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">ii</span><span class="p">,</span><span class="n">jj</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">tp_inch</span><span class="o">==</span><span class="n">tp_inch</span><span class="o">.</span><span class="n">max</span><span class="p">())</span>
|
|
<span class="n">i</span><span class="o">=</span><span class="n">ii</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
|
<span class="n">j</span><span class="o">=</span><span class="n">jj</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
|
<span class="n">point</span> <span class="o">=</span> <span class="n">Point</span><span class="p">(</span><span class="n">lons</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">],</span> <span class="n">lats</span><span class="p">[</span><span class="n">i</span><span class="p">][</span><span class="n">j</span><span class="p">])</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Draw CONUS map</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">projection</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">20</span><span class="p">,</span> <span class="mi">14</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">projection</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">ax</span><span class="o">.</span><span class="n">coastlines</span><span class="p">(</span><span class="n">resolution</span><span class="o">=</span><span class="s1">'50m'</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">fig</span><span class="p">,</span> <span class="n">ax</span>
|
|
|
|
<span class="n">cmap</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">get_cmap</span><span class="p">(</span><span class="s1">'rainbow'</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">cs</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">pcolormesh</span><span class="p">(</span><span class="n">lons</span><span class="p">,</span> <span class="n">lats</span><span class="p">,</span> <span class="n">tp_inch</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">cmap</span><span class="p">)</span>
|
|
<span class="n">cbar</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">colorbar</span><span class="p">(</span><span class="n">cs</span><span class="p">,</span> <span class="n">shrink</span><span class="o">=</span><span class="mf">0.7</span><span class="p">,</span> <span class="n">orientation</span><span class="o">=</span><span class="s1">'horizontal'</span><span class="p">)</span>
|
|
<span class="n">cbar</span><span class="o">.</span><span class="n">set_label</span><span class="p">(</span><span class="n">grid</span><span class="o">.</span><span class="n">getLocationName</span><span class="p">()</span> <span class="o">+</span> <span class="s2">" Total precipitation in inches, "</span> \
|
|
<span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">fcstHr</span><span class="p">)</span> <span class="o">+</span> <span class="s2">"-hr fcst valid "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">grid</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">ax</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">point</span><span class="o">.</span><span class="n">x</span><span class="p">,</span> <span class="n">point</span><span class="o">.</span><span class="n">y</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="mi">300</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">marker</span><span class="o">=</span><span class="s2">"+"</span><span class="p">,</span><span class="n">facecolor</span><span class="o">=</span><span class="s1">'black'</span><span class="p">)</span>
|
|
|
|
<span class="n">inc</span> <span class="o">=</span> <span class="mf">3.5</span>
|
|
<span class="n">box</span><span class="o">=</span><span class="p">[</span><span class="n">point</span><span class="o">.</span><span class="n">x</span><span class="o">-</span><span class="n">inc</span><span class="p">,</span> <span class="n">point</span><span class="o">.</span><span class="n">x</span><span class="o">+</span><span class="n">inc</span><span class="p">,</span> <span class="n">point</span><span class="o">.</span><span class="n">y</span><span class="o">-</span><span class="n">inc</span><span class="p">,</span> <span class="n">point</span><span class="o">.</span><span class="n">y</span><span class="o">+</span><span class="n">inc</span><span class="p">]</span>
|
|
<span class="n">polygon</span> <span class="o">=</span> <span class="n">Polygon</span><span class="p">([(</span><span class="n">box</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">box</span><span class="p">[</span><span class="mi">2</span><span class="p">]),(</span><span class="n">box</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">box</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span>
|
|
<span class="p">(</span><span class="n">box</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">box</span><span class="p">[</span><span class="mi">3</span><span class="p">]),(</span><span class="n">box</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">box</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span>
|
|
<span class="p">(</span><span class="n">box</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">box</span><span class="p">[</span><span class="mi">2</span><span class="p">])])</span>
|
|
<span class="n">ax</span><span class="o">.</span><span class="n">add_geometries</span><span class="p">([</span><span class="n">polygon</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">edgecolor</span><span class="o">=</span><span class="s1">'white'</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">2</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">0x11b971da0</span><span class="o">></span>
|
|
</pre></div>
|
|
</div>
|
|
<img alt="../../_images/Precip_Accumulation-Region_Of_Interest_7_1.png" src="../../_images/Precip_Accumulation-Region_Of_Interest_7_1.png" />
|
|
<p>Now create a new gridded data request with a geometry envelope for our
|
|
Region of Interest</p>
|
|
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></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">"grid"</span><span class="p">,</span> <span class="n">envelope</span><span class="o">=</span><span class="n">polygon</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="s2">"HRRR"</span><span class="p">)</span>
|
|
<span class="n">request</span><span class="o">.</span><span class="n">setLevels</span><span class="p">(</span><span class="s2">"0.0SFC"</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="s2">"TP"</span><span class="p">)</span>
|
|
|
|
<span class="n">cycles</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> <span class="kc">True</span><span class="p">)</span>
|
|
<span class="n">times</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>
|
|
<span class="n">fcstRun</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getForecastRun</span><span class="p">(</span><span class="n">cycles</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">],</span> <span class="n">times</span><span class="p">)</span>
|
|
|
|
|
|
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">tt</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">fcstRun</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">getGridData</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="p">[</span><span class="n">tt</span><span class="p">])</span>
|
|
<span class="n">grid</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="k">if</span> <span class="n">i</span><span class="o">></span><span class="mi">0</span><span class="p">:</span>
|
|
<span class="n">data</span> <span class="o">+=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getRawData</span><span class="p">()</span>
|
|
<span class="k">else</span><span class="p">:</span>
|
|
<span class="n">data</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getRawData</span><span class="p">()</span>
|
|
<span class="n">data</span><span class="p">[</span><span class="n">data</span> <span class="o"><=</span> <span class="o">-</span><span class="mi">9999</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">min</span><span class="p">(),</span> <span class="n">data</span><span class="o">.</span><span class="n">max</span><span class="p">(),</span> <span class="n">grid</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="o">/</span><span class="mi">3600</span><span class="p">)</span>
|
|
|
|
|
|
<span class="n">lons</span><span class="p">,</span> <span class="n">lats</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">getLatLonCoords</span><span class="p">()</span>
|
|
<span class="n">bbox</span> <span class="o">=</span> <span class="p">[</span><span class="n">lons</span><span class="o">.</span><span class="n">min</span><span class="p">(),</span> <span class="n">lons</span><span class="o">.</span><span class="n">max</span><span class="p">(),</span> <span class="n">lats</span><span class="o">.</span><span class="n">min</span><span class="p">(),</span> <span class="n">lats</span><span class="o">.</span><span class="n">max</span><span class="p">()]</span>
|
|
<span class="n">fcstHr</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">grid</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="o">/</span><span class="mi">3600</span><span class="p">)</span>
|
|
|
|
<span class="n">tp_inch</span> <span class="o">=</span> <span class="n">data</span> <span class="o">*</span> <span class="p">(</span><span class="mf">0.0393701</span><span class="p">)</span>
|
|
<span class="nb">print</span><span class="p">(</span><span class="n">tp_inch</span><span class="o">.</span><span class="n">min</span><span class="p">(),</span> <span class="n">tp_inch</span><span class="o">.</span><span class="n">max</span><span class="p">())</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">projection</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">20</span><span class="p">,</span> <span class="mi">14</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">projection</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">ax</span><span class="o">.</span><span class="n">coastlines</span><span class="p">(</span><span class="n">resolution</span><span class="o">=</span><span class="s1">'50m'</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">fig</span><span class="p">,</span> <span class="n">ax</span>
|
|
|
|
<span class="n">cmap</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">get_cmap</span><span class="p">(</span><span class="s1">'rainbow'</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">box</span><span class="p">)</span>
|
|
<span class="n">cs</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">pcolormesh</span><span class="p">(</span><span class="n">lons</span><span class="p">,</span> <span class="n">lats</span><span class="p">,</span> <span class="n">tp_inch</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">cmap</span><span class="p">)</span>
|
|
<span class="n">cbar</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">colorbar</span><span class="p">(</span><span class="n">cs</span><span class="p">,</span> <span class="n">shrink</span><span class="o">=</span><span class="mf">0.7</span><span class="p">,</span> <span class="n">orientation</span><span class="o">=</span><span class="s1">'horizontal'</span><span class="p">)</span>
|
|
<span class="n">cbar</span><span class="o">.</span><span class="n">set_label</span><span class="p">(</span><span class="n">grid</span><span class="o">.</span><span class="n">getLocationName</span><span class="p">()</span> <span class="o">+</span> <span class="s2">" Total precipitation in inches, "</span> \
|
|
<span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">fcstHr</span><span class="p">)</span> <span class="o">+</span> <span class="s2">"-hr fcst valid "</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">grid</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>
|
|
</pre></div>
|
|
</div>
|
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mf">0.0</span> <span class="mf">1.853</span> <span class="mf">1.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">3.5290003</span> <span class="mf">2.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">5.0290003</span> <span class="mf">3.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">5.051</span> <span class="mf">4.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">5.2960005</span> <span class="mf">5.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">5.2960005</span> <span class="mf">6.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">5.8269997</span> <span class="mf">7.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">6.1790004</span> <span class="mf">8.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">6.1890006</span> <span class="mf">9.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">9.071</span> <span class="mf">10.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">10.812</span> <span class="mf">11.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">14.718</span> <span class="mf">12.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">18.295</span> <span class="mf">13.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">21.339</span> <span class="mf">14.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">22.626</span> <span class="mf">15.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">28.670002</span> <span class="mf">16.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">32.334</span> <span class="mf">17.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">36.628002</span> <span class="mf">18.0</span>
|
|
<span class="mf">0.0</span> <span class="mf">1.4420482</span>
|
|
</pre></div>
|
|
</div>
|
|
<img alt="../../_images/Precip_Accumulation-Region_Of_Interest_9_1.png" src="../../_images/Precip_Accumulation-Region_Of_Interest_9_1.png" />
|
|
</section>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
|
<a href="NEXRAD_Level3_Radar.html" class="btn btn-neutral float-left" title="NEXRAD Level3 Radar" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
|
<a href="Regional_Surface_Obs_Plot.html" class="btn btn-neutral float-right" title="Regional Surface Obs Plot" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
|
</div>
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>© Copyright 2018, Unidata.</p>
|
|
</div>
|
|
|
|
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
|
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
|
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<script>
|
|
jQuery(function () {
|
|
SphinxRtdTheme.Navigation.enable(true);
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html> |