This commit is contained in:
tiffanycmeyer13 2025-02-13 18:28:48 +00:00
parent 6c4a1e0464
commit a1788a13f1
99 changed files with 882 additions and 6218 deletions

View file

@ -1,4 +1,4 @@
# Sphinx build info version 1 # Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: d78becd453a7596ebdd97a04bc5aa5f1 config: bd354ffcd98560ce917125360692a0dd
tags: 645f666f9bcd5a90fca523b33c5a78b7 tags: 645f666f9bcd5a90fca523b33c5a78b7

View file

@ -1,218 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.DateTimeConverter &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
<li class="breadcrumb-item active">awips.DateTimeConverter</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.DateTimeConverter</h1><div class="highlight"><pre>
<span></span><span class="c1"># #</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1"># </span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1"># </span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1"># </span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1"># #</span>
<span class="c1">#</span>
<span class="c1"># Functions for converting between the various &quot;Java&quot; dynamic serialize types</span>
<span class="c1"># used by EDEX to the native python time datetime.</span>
<span class="c1"># </span>
<span class="c1"># </span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1"># </span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 06/24/15 #4480 dgilling Initial Creation.</span>
<span class="c1">#</span>
<span class="kn">import</span> <span class="nn">datetime</span>
<span class="kn">import</span> <span class="nn">time</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.java.util</span> <span class="kn">import</span> <span class="n">Date</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.java.sql</span> <span class="kn">import</span> <span class="n">Timestamp</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span> <span class="kn">import</span> <span class="n">TimeRange</span>
<span class="n">MAX_TIME</span> <span class="o">=</span> <span class="nb">pow</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">31</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span>
<span class="n">MICROS_IN_SECOND</span> <span class="o">=</span> <span class="mi">1000000</span>
<div class="viewcode-block" id="convertToDateTime"><a class="viewcode-back" href="../../api/DateTimeConverter.html#awips.DateTimeConverter.convertToDateTime">[docs]</a><span class="k">def</span> <span class="nf">convertToDateTime</span><span class="p">(</span><span class="n">timeArg</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot; </span>
<span class="sd"> Converts the given object to a python datetime object. Supports native </span>
<span class="sd"> python representations like datetime and struct_time, but also</span>
<span class="sd"> the dynamicserialize types like Date and Timestamp. Raises TypeError</span>
<span class="sd"> if no conversion can be performed.</span>
<span class="sd"> </span>
<span class="sd"> Args:</span>
<span class="sd"> timeArg: a python object representing a date and time. Supported</span>
<span class="sd"> types include datetime, struct_time, float, int, long and the</span>
<span class="sd"> dynamicserialize types Date and Timestamp.</span>
<span class="sd"> </span>
<span class="sd"> Returns:</span>
<span class="sd"> A datetime that represents the same date/time as the passed in object.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">timeArg</span><span class="p">,</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">):</span>
<span class="k">return</span> <span class="n">timeArg</span>
<span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">timeArg</span><span class="p">,</span> <span class="n">time</span><span class="o">.</span><span class="n">struct_time</span><span class="p">):</span>
<span class="k">return</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="p">(</span><span class="o">*</span><span class="n">timeArg</span><span class="p">[:</span><span class="mi">6</span><span class="p">])</span>
<span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">timeArg</span><span class="p">,</span> <span class="nb">float</span><span class="p">):</span>
<span class="c1"># seconds as float, should be avoided due to floating point errors</span>
<span class="n">totalSecs</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">timeArg</span><span class="p">)</span>
<span class="n">micros</span> <span class="o">=</span> <span class="nb">int</span><span class="p">((</span><span class="n">timeArg</span> <span class="o">-</span> <span class="n">totalSecs</span><span class="p">)</span> <span class="o">*</span> <span class="n">MICROS_IN_SECOND</span><span class="p">)</span>
<span class="k">return</span> <span class="n">_convertSecsAndMicros</span><span class="p">(</span><span class="n">totalSecs</span><span class="p">,</span> <span class="n">micros</span><span class="p">)</span>
<span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">timeArg</span><span class="p">,</span> <span class="nb">int</span><span class="p">):</span>
<span class="c1"># seconds as integer</span>
<span class="n">totalSecs</span> <span class="o">=</span> <span class="n">timeArg</span>
<span class="k">return</span> <span class="n">_convertSecsAndMicros</span><span class="p">(</span><span class="n">totalSecs</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">timeArg</span><span class="p">,</span> <span class="p">(</span><span class="n">Date</span><span class="p">,</span> <span class="n">Timestamp</span><span class="p">)):</span>
<span class="n">totalSecs</span> <span class="o">=</span> <span class="n">timeArg</span><span class="o">.</span><span class="n">getTime</span><span class="p">()</span>
<span class="k">return</span> <span class="n">_convertSecsAndMicros</span><span class="p">(</span><span class="n">totalSecs</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">objType</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">timeArg</span><span class="p">))</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;Cannot convert object of type &quot;</span> <span class="o">+</span> <span class="n">objType</span> <span class="o">+</span> <span class="s2">&quot; to datetime.&quot;</span><span class="p">)</span></div>
<span class="k">def</span> <span class="nf">_convertSecsAndMicros</span><span class="p">(</span><span class="n">seconds</span><span class="p">,</span> <span class="n">micros</span><span class="p">):</span>
<span class="k">if</span> <span class="n">seconds</span> <span class="o">&lt;</span> <span class="n">MAX_TIME</span><span class="p">:</span>
<span class="n">rval</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">seconds</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">extraTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">seconds</span><span class="o">=</span><span class="p">(</span><span class="n">seconds</span> <span class="o">-</span> <span class="n">MAX_TIME</span><span class="p">))</span>
<span class="n">rval</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcfromtimestamp</span><span class="p">(</span><span class="n">MAX_TIME</span><span class="p">)</span> <span class="o">+</span> <span class="n">extraTime</span>
<span class="k">return</span> <span class="n">rval</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">microsecond</span><span class="o">=</span><span class="n">micros</span><span class="p">)</span>
<div class="viewcode-block" id="constructTimeRange"><a class="viewcode-back" href="../../api/DateTimeConverter.html#awips.DateTimeConverter.constructTimeRange">[docs]</a><span class="k">def</span> <span class="nf">constructTimeRange</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot; </span>
<span class="sd"> Builds a python dynamicserialize TimeRange object from the given</span>
<span class="sd"> arguments.</span>
<span class="sd"> </span>
<span class="sd"> Args:</span>
<span class="sd"> args*: must be a TimeRange or a pair of objects that can be </span>
<span class="sd"> converted to a datetime via convertToDateTime().</span>
<span class="sd"> </span>
<span class="sd"> Returns:</span>
<span class="sd"> A TimeRange.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">TimeRange</span><span class="p">):</span>
<span class="k">return</span> <span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;constructTimeRange takes exactly 2 arguments, &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">args</span><span class="p">))</span> <span class="o">+</span> <span class="s2">&quot; provided.&quot;</span><span class="p">)</span>
<span class="n">startTime</span> <span class="o">=</span> <span class="n">convertToDateTime</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="n">endTime</span> <span class="o">=</span> <span class="n">convertToDateTime</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="k">return</span> <span class="n">TimeRange</span><span class="p">(</span><span class="n">startTime</span><span class="p">,</span> <span class="n">endTime</span><span class="p">)</span></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,252 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.RadarCommon &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
<li class="breadcrumb-item active">awips.RadarCommon</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.RadarCommon</h1><div class="highlight"><pre>
<span></span><span class="c1">#</span>
<span class="c1"># Common methods for the a2gtrad and a2advrad scripts.</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1">#</span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 08/13/2014 3393 nabowle Initial creation to contain common</span>
<span class="c1"># code for a2*radStub scripts.</span>
<span class="c1"># 03/15/2015 mjames@ucar Edited/added to awips package as RadarCommon</span>
<span class="c1">#</span>
<span class="c1">#</span>
<div class="viewcode-block" id="get_datetime_str"><a class="viewcode-back" href="../../api/RadarCommon.html#awips.RadarCommon.get_datetime_str">[docs]</a><span class="k">def</span> <span class="nf">get_datetime_str</span><span class="p">(</span><span class="n">record</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get the datetime string for a record.</span>
<span class="sd"> Args:</span>
<span class="sd"> record: the record to get data for.</span>
<span class="sd"> Returns:</span>
<span class="sd"> datetime string.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getDataTime</span><span class="p">())[</span><span class="mi">0</span><span class="p">:</span><span class="mi">19</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot; &quot;</span><span class="p">,</span> <span class="s2">&quot;_&quot;</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;.0&quot;</span></div>
<div class="viewcode-block" id="get_data_type"><a class="viewcode-back" href="../../api/RadarCommon.html#awips.RadarCommon.get_data_type">[docs]</a><span class="k">def</span> <span class="nf">get_data_type</span><span class="p">(</span><span class="n">azdat</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get the radar file type (radial or raster).</span>
<span class="sd"> Args:</span>
<span class="sd"> azdat: Boolean.</span>
<span class="sd"> Returns:</span>
<span class="sd"> Radial or raster.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">azdat</span><span class="p">:</span>
<span class="k">return</span> <span class="s2">&quot;radial&quot;</span>
<span class="k">return</span> <span class="s2">&quot;raster&quot;</span></div>
<div class="viewcode-block" id="get_hdf5_data"><a class="viewcode-back" href="../../api/RadarCommon.html#awips.RadarCommon.get_hdf5_data">[docs]</a><span class="k">def</span> <span class="nf">get_hdf5_data</span><span class="p">(</span><span class="n">idra</span><span class="p">):</span>
<span class="n">rdat</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">azdat</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">depVals</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">threshVals</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">if</span> <span class="n">idra</span><span class="p">:</span>
<span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">idra</span><span class="p">:</span>
<span class="k">if</span> <span class="n">item</span><span class="o">.</span><span class="n">getName</span><span class="p">()</span> <span class="o">==</span> <span class="s2">&quot;Data&quot;</span><span class="p">:</span>
<span class="n">rdat</span> <span class="o">=</span> <span class="n">item</span>
<span class="k">elif</span> <span class="n">item</span><span class="o">.</span><span class="n">getName</span><span class="p">()</span> <span class="o">==</span> <span class="s2">&quot;Angles&quot;</span><span class="p">:</span>
<span class="n">azdat</span> <span class="o">=</span> <span class="n">item</span>
<span class="c1"># dattyp = &quot;radial&quot;</span>
<span class="k">elif</span> <span class="n">item</span><span class="o">.</span><span class="n">getName</span><span class="p">()</span> <span class="o">==</span> <span class="s2">&quot;DependentValues&quot;</span><span class="p">:</span>
<span class="n">depVals</span> <span class="o">=</span> <span class="n">item</span><span class="o">.</span><span class="n">getShortData</span><span class="p">()</span>
<span class="k">elif</span> <span class="n">item</span><span class="o">.</span><span class="n">getName</span><span class="p">()</span> <span class="o">==</span> <span class="s2">&quot;Thresholds&quot;</span><span class="p">:</span>
<span class="n">threshVals</span> <span class="o">=</span> <span class="n">item</span><span class="o">.</span><span class="n">getShortData</span><span class="p">()</span>
<span class="k">return</span> <span class="n">rdat</span><span class="p">,</span> <span class="n">azdat</span><span class="p">,</span> <span class="n">depVals</span><span class="p">,</span> <span class="n">threshVals</span></div>
<div class="viewcode-block" id="get_header"><a class="viewcode-back" href="../../api/RadarCommon.html#awips.RadarCommon.get_header">[docs]</a><span class="k">def</span> <span class="nf">get_header</span><span class="p">(</span><span class="n">record</span><span class="p">,</span> <span class="n">headerFormat</span><span class="p">,</span> <span class="n">xLen</span><span class="p">,</span> <span class="n">yLen</span><span class="p">,</span> <span class="n">azdat</span><span class="p">,</span> <span class="n">description</span><span class="p">):</span>
<span class="c1"># Encode dimensions, time, mapping, description, tilt, and VCP</span>
<span class="n">mytime</span> <span class="o">=</span> <span class="n">get_datetime_str</span><span class="p">(</span><span class="n">record</span><span class="p">)</span>
<span class="n">dattyp</span> <span class="o">=</span> <span class="n">get_data_type</span><span class="p">(</span><span class="n">azdat</span><span class="p">)</span>
<span class="k">if</span> <span class="n">headerFormat</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">xLen</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">yLen</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> <span class="n">mytime</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="n">dattyp</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getLatitude</span><span class="p">())</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getLongitude</span><span class="p">())</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getElevation</span><span class="p">())</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getElevationNumber</span><span class="p">())</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="n">description</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getTrueElevationAngle</span><span class="p">())</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getVolumeCoveragePattern</span><span class="p">())</span> <span class="o">+</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">xLen</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">yLen</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> <span class="n">mytime</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="n">dattyp</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> <span class="n">description</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getTrueElevationAngle</span><span class="p">())</span> <span class="o">+</span> <span class="s2">&quot; &quot;</span> <span class="o">+</span> \
<span class="nb">str</span><span class="p">(</span><span class="n">record</span><span class="o">.</span><span class="n">getVolumeCoveragePattern</span><span class="p">())</span> <span class="o">+</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>
<span class="k">return</span> <span class="n">msg</span></div>
<div class="viewcode-block" id="encode_thresh_vals"><a class="viewcode-back" href="../../api/RadarCommon.html#awips.RadarCommon.encode_thresh_vals">[docs]</a><span class="k">def</span> <span class="nf">encode_thresh_vals</span><span class="p">(</span><span class="n">threshVals</span><span class="p">):</span>
<span class="n">spec</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;.&quot;</span><span class="p">,</span> <span class="s2">&quot;TH&quot;</span><span class="p">,</span> <span class="s2">&quot;ND&quot;</span><span class="p">,</span> <span class="s2">&quot;RF&quot;</span><span class="p">,</span> <span class="s2">&quot;BI&quot;</span><span class="p">,</span> <span class="s2">&quot;GC&quot;</span><span class="p">,</span> <span class="s2">&quot;IC&quot;</span><span class="p">,</span> <span class="s2">&quot;GR&quot;</span><span class="p">,</span> <span class="s2">&quot;WS&quot;</span><span class="p">,</span> <span class="s2">&quot;DS&quot;</span><span class="p">,</span>
<span class="s2">&quot;RA&quot;</span><span class="p">,</span> <span class="s2">&quot;HR&quot;</span><span class="p">,</span> <span class="s2">&quot;BD&quot;</span><span class="p">,</span> <span class="s2">&quot;HA&quot;</span><span class="p">,</span> <span class="s2">&quot;UK&quot;</span><span class="p">]</span>
<span class="n">nnn</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">threshVals</span><span class="p">)</span>
<span class="n">j</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">msg</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
<span class="k">while</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">nnn</span><span class="p">:</span>
<span class="n">lo</span> <span class="o">=</span> <span class="n">threshVals</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">%</span> <span class="mi">256</span>
<span class="n">hi</span> <span class="o">=</span> <span class="n">threshVals</span><span class="p">[</span><span class="n">j</span><span class="p">]</span> <span class="o">/</span> <span class="mi">256</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot; &quot;</span>
<span class="n">j</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="k">if</span> <span class="n">hi</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="k">if</span> <span class="n">lo</span> <span class="o">&gt;</span> <span class="mi">14</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;.&quot;</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="n">spec</span><span class="p">[</span><span class="n">lo</span><span class="p">]</span>
<span class="k">continue</span>
<span class="k">if</span> <span class="n">hi</span> <span class="o">%</span> <span class="mi">16</span> <span class="o">&gt;=</span> <span class="mi">8</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;&gt;&quot;</span>
<span class="k">elif</span> <span class="n">hi</span> <span class="o">%</span> <span class="mi">8</span> <span class="o">&gt;=</span> <span class="mi">4</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;&lt;&quot;</span>
<span class="k">if</span> <span class="n">hi</span> <span class="o">%</span> <span class="mi">4</span> <span class="o">&gt;=</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;+&quot;</span>
<span class="k">elif</span> <span class="n">hi</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">&gt;=</span> <span class="mi">1</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;-&quot;</span>
<span class="k">if</span> <span class="n">hi</span> <span class="o">&gt;=</span> <span class="mi">64</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="si">%.2f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">lo</span><span class="o">*</span><span class="mf">0.01</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">hi</span> <span class="o">%</span> <span class="mi">64</span> <span class="o">&gt;=</span> <span class="mi">32</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="si">%.2f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">lo</span><span class="o">*</span><span class="mf">0.05</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">hi</span> <span class="o">%</span> <span class="mi">32</span> <span class="o">&gt;=</span> <span class="mi">16</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="si">%.1f</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">lo</span><span class="o">*</span><span class="mf">0.1</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">lo</span><span class="p">)</span>
<span class="n">msg</span> <span class="o">+=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span>
<span class="k">return</span> <span class="n">msg</span></div>
<div class="viewcode-block" id="encode_dep_vals"><a class="viewcode-back" href="../../api/RadarCommon.html#awips.RadarCommon.encode_dep_vals">[docs]</a><span class="k">def</span> <span class="nf">encode_dep_vals</span><span class="p">(</span><span class="n">depVals</span><span class="p">):</span>
<span class="n">nnn</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">depVals</span><span class="p">)</span>
<span class="n">j</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">msg</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">while</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">nnn</span><span class="p">:</span>
<span class="n">msg</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">depVals</span><span class="p">[</span><span class="n">j</span><span class="p">]))</span>
<span class="n">j</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="k">return</span> <span class="n">msg</span></div>
<div class="viewcode-block" id="encode_radial"><a class="viewcode-back" href="../../api/RadarCommon.html#awips.RadarCommon.encode_radial">[docs]</a><span class="k">def</span> <span class="nf">encode_radial</span><span class="p">(</span><span class="n">azVals</span><span class="p">):</span>
<span class="n">azValsLen</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">azVals</span><span class="p">)</span>
<span class="n">j</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">msg</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">while</span> <span class="n">j</span> <span class="o">&lt;</span> <span class="n">azValsLen</span><span class="p">:</span>
<span class="n">msg</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">azVals</span><span class="p">[</span><span class="n">j</span><span class="p">])</span>
<span class="n">j</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="k">return</span> <span class="n">msg</span></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,213 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.ThriftClient &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
<li class="breadcrumb-item active">awips.ThriftClient</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.ThriftClient</h1><div class="highlight"><pre>
<span></span><span class="c1">##</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1"># </span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1"># </span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1"># </span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1">##</span>
<span class="kn">import</span> <span class="nn">http.client</span>
<span class="kn">from</span> <span class="nn">dynamicserialize</span> <span class="kn">import</span> <span class="n">DynamicSerializationManager</span>
<span class="c1">#</span>
<span class="c1"># Provides a Python-based interface for executing Thrift requests.</span>
<span class="c1"># </span>
<span class="c1">#</span>
<span class="c1"># </span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1"># </span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 09/20/10 dgilling Initial Creation.</span>
<span class="c1"># </span>
<span class="c1"># </span>
<span class="c1">#</span>
<div class="viewcode-block" id="ThriftClient"><a class="viewcode-back" href="../../api/ThriftClient.html#awips.ThriftClient.ThriftClient">[docs]</a><span class="k">class</span> <span class="nc">ThriftClient</span><span class="p">:</span>
<span class="c1"># How to call this constructor:</span>
<span class="c1"># 1. Pass in all arguments separately (e.g., </span>
<span class="c1"># ThriftClient.ThriftClient(&quot;localhost&quot;, 9581, &quot;/services&quot;))</span>
<span class="c1"># will return a Thrift client pointed at http://localhost:9581/services.</span>
<span class="c1"># 2. Pass in all arguments through the host string (e.g., </span>
<span class="c1"># ThriftClient.ThriftClient(&quot;localhost:9581/services&quot;))</span>
<span class="c1"># will return a Thrift client pointed at http://localhost:9581/services.</span>
<span class="c1"># 3. Pass in host/port arguments through the host string (e.g., </span>
<span class="c1"># ThriftClient.ThriftClient(&quot;localhost:9581&quot;, &quot;/services&quot;))</span>
<span class="c1"># will return a Thrift client pointed at http://localhost:9581/services.</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span><span class="mi">9581</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="s2">&quot;/services&quot;</span><span class="p">):</span>
<span class="n">hostParts</span> <span class="o">=</span> <span class="n">host</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;/&quot;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="k">if</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">hostParts</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">):</span>
<span class="n">hostString</span> <span class="o">=</span> <span class="n">hostParts</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__uri</span> <span class="o">=</span> <span class="s2">&quot;/&quot;</span> <span class="o">+</span> <span class="n">hostParts</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__httpConn</span> <span class="o">=</span> <span class="n">http</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">HTTPConnection</span><span class="p">(</span><span class="n">hostString</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">if</span> <span class="p">(</span><span class="n">port</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__httpConn</span> <span class="o">=</span> <span class="n">http</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">HTTPConnection</span><span class="p">(</span><span class="n">host</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__httpConn</span> <span class="o">=</span> <span class="n">http</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">HTTPConnection</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__uri</span> <span class="o">=</span> <span class="n">uri</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__dsm</span> <span class="o">=</span> <span class="n">DynamicSerializationManager</span><span class="o">.</span><span class="n">DynamicSerializationManager</span><span class="p">()</span>
<div class="viewcode-block" id="ThriftClient.sendRequest"><a class="viewcode-back" href="../../api/ThriftClient.html#awips.ThriftClient.ThriftClient.sendRequest">[docs]</a> <span class="k">def</span> <span class="nf">sendRequest</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">uri</span><span class="o">=</span><span class="s2">&quot;/thrift&quot;</span><span class="p">):</span>
<span class="n">message</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__dsm</span><span class="o">.</span><span class="n">serializeObject</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__httpConn</span><span class="o">.</span><span class="n">connect</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__httpConn</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="s2">&quot;POST&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">__uri</span> <span class="o">+</span> <span class="n">uri</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__httpConn</span><span class="o">.</span><span class="n">getresponse</span><span class="p">()</span>
<span class="k">if</span> <span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="mi">200</span><span class="p">):</span>
<span class="k">raise</span> <span class="n">ThriftRequestException</span><span class="p">(</span><span class="s2">&quot;Unable to post request to server&quot;</span><span class="p">)</span>
<span class="n">rval</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__dsm</span><span class="o">.</span><span class="n">deserializeBytes</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__httpConn</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
<span class="c1"># let&#39;s verify we have an instance of ServerErrorResponse</span>
<span class="c1"># IF we do, through an exception up to the caller along</span>
<span class="c1"># with the original Java stack trace</span>
<span class="c1"># ELSE: we have a valid response and pass it back</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">forceError</span> <span class="o">=</span> <span class="n">rval</span><span class="o">.</span><span class="n">getException</span><span class="p">()</span>
<span class="k">raise</span> <span class="n">ThriftRequestException</span><span class="p">(</span><span class="n">forceError</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
<span class="k">pass</span>
<span class="k">return</span> <span class="n">rval</span></div></div>
<div class="viewcode-block" id="ThriftRequestException"><a class="viewcode-back" href="../../api/ThriftClient.html#awips.ThriftClient.ThriftRequestException">[docs]</a><span class="k">class</span> <span class="nc">ThriftRequestException</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">parameter</span> <span class="o">=</span> <span class="n">value</span>
<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">repr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parameter</span><span class="p">)</span></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,218 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.TimeUtil &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
<li class="breadcrumb-item active">awips.TimeUtil</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.TimeUtil</h1><div class="highlight"><pre>
<span></span><span class="c1">##</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1"># </span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1"># </span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1"># </span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1">##</span>
<span class="c1"># ----------------------------------------------------------------------------</span>
<span class="c1"># This software is in the public domain, furnished &quot;as is&quot;, without technical</span>
<span class="c1"># support, and with no warranty, express or implied, as to its usefulness for</span>
<span class="c1"># any purpose.</span>
<span class="c1">#</span>
<span class="c1"># offsetTime.py</span>
<span class="c1"># Handles Displaced Real Time for various applications</span>
<span class="c1">#</span>
<span class="c1"># Author: hansen/romberg</span>
<span class="c1"># ----------------------------------------------------------------------------</span>
<span class="kn">import</span> <span class="nn">time</span>
<span class="c1"># Given the timeStr, return the offset (in seconds)</span>
<span class="c1"># from the current time.</span>
<span class="c1"># Also return the launchStr i.e. Programs launched from this</span>
<span class="c1"># offset application will use the launchStr as the -z argument.</span>
<span class="c1"># The offset will be positive for time in the future,</span>
<span class="c1"># negative for time in the past.</span>
<span class="c1">#</span>
<span class="c1"># May still want it to be normalized to the most recent midnight.</span>
<span class="c1"># </span>
<span class="c1"># NOTES about synchronizing:</span>
<span class="c1"># --With synchronizing on, the &quot;current time&quot; for all processes started</span>
<span class="c1"># within a given hour will be the same.</span>
<span class="c1"># This guarantees that GFE&#39;s have the same current time and ISC grid</span>
<span class="c1"># time stamps are syncrhonized and can be exchanged.</span>
<span class="c1"># Formatters launched from the GFE in this mode will be synchronized as</span>
<span class="c1"># well by setting the launchStr to use the time difference format</span>
<span class="c1"># (YYYYMMDD_HHMM,YYYYMMDD_HHMM).</span>
<span class="c1"># --This does not solve the problem in the general case.</span>
<span class="c1"># For example, if someone starts the GFE at 12:59 and someone</span>
<span class="c1"># else starts it at 1:01, they will have different offsets and</span>
<span class="c1"># current times.</span>
<span class="c1"># --With synchronizing off, when the process starts, the current time </span>
<span class="c1"># matches the drtTime in the command line. However, with synchronizing</span>
<span class="c1"># on, the current time will be offset by the fraction of the hour at</span>
<span class="c1"># which the process was started. Examples:</span>
<span class="c1"># Actual Starting time: 20040617_1230</span>
<span class="c1"># drtTime 20040616_0000</span>
<span class="c1"># Synchronizing off:</span>
<span class="c1"># GFE Spatial Editor at StartUp: 20040616_0000</span>
<span class="c1"># Synchronizing on:</span>
<span class="c1"># GFE Spatial Editor at StartUp: 20040616_0030</span>
<span class="c1">#</span>
<div class="viewcode-block" id="determineDrtOffset"><a class="viewcode-back" href="../../api/TimeUtil.html#awips.TimeUtil.determineDrtOffset">[docs]</a><span class="k">def</span> <span class="nf">determineDrtOffset</span><span class="p">(</span><span class="n">timeStr</span><span class="p">):</span>
<span class="n">launchStr</span> <span class="o">=</span> <span class="n">timeStr</span>
<span class="c1"># Check for time difference</span>
<span class="k">if</span> <span class="n">timeStr</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="s2">&quot;,&quot;</span><span class="p">)</span> <span class="o">&gt;=</span><span class="mi">0</span><span class="p">:</span>
<span class="n">times</span> <span class="o">=</span> <span class="n">timeStr</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;,&quot;</span><span class="p">)</span>
<span class="n">t1</span> <span class="o">=</span> <span class="n">makeTime</span><span class="p">(</span><span class="n">times</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="n">t2</span> <span class="o">=</span> <span class="n">makeTime</span><span class="p">(</span><span class="n">times</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="c1">#print &quot;time offset&quot;, t1-t2, (t1-t2)/3600</span>
<span class="k">return</span> <span class="n">t1</span><span class="o">-</span><span class="n">t2</span><span class="p">,</span> <span class="n">launchStr</span>
<span class="c1"># Check for synchronized mode</span>
<span class="n">synch</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">if</span> <span class="n">timeStr</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s2">&quot;S&quot;</span><span class="p">:</span>
<span class="n">timeStr</span> <span class="o">=</span> <span class="n">timeStr</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
<span class="n">synch</span> <span class="o">=</span> <span class="mi">1</span>
<span class="n">drt_t</span> <span class="o">=</span> <span class="n">makeTime</span><span class="p">(</span><span class="n">timeStr</span><span class="p">)</span>
<span class="c1">#print &quot;input&quot;, year, month, day, hour, minute</span>
<span class="n">gm</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">gmtime</span><span class="p">()</span>
<span class="n">cur_t</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">mktime</span><span class="p">(</span><span class="n">gm</span><span class="p">)</span>
<span class="c1"># Synchronize to most recent hour</span>
<span class="c1"># i.e. &quot;truncate&quot; cur_t to most recent hour.</span>
<span class="c1">#print &quot;gmtime&quot;, gm</span>
<span class="k">if</span> <span class="n">synch</span><span class="p">:</span>
<span class="n">cur_t</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">mktime</span><span class="p">((</span><span class="n">gm</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">gm</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">gm</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> <span class="n">gm</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span>
<span class="n">curStr</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">_%H00</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">,</span> <span class="n">gm</span><span class="p">)</span>
<span class="n">launchStr</span> <span class="o">=</span> <span class="n">timeStr</span> <span class="o">+</span> <span class="s2">&quot;,&quot;</span> <span class="o">+</span> <span class="n">curStr</span>
<span class="c1">#print &quot;drt, cur&quot;, drt_t, cur_t</span>
<span class="n">offset</span> <span class="o">=</span> <span class="n">drt_t</span> <span class="o">-</span> <span class="n">cur_t</span>
<span class="c1">#print &quot;offset&quot;, offset, offset/3600, launchStr</span>
<span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">offset</span><span class="p">),</span> <span class="n">launchStr</span></div>
<div class="viewcode-block" id="makeTime"><a class="viewcode-back" href="../../api/TimeUtil.html#awips.TimeUtil.makeTime">[docs]</a><span class="k">def</span> <span class="nf">makeTime</span><span class="p">(</span><span class="n">timeStr</span><span class="p">):</span>
<span class="n">year</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">timeStr</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">4</span><span class="p">])</span>
<span class="n">month</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">timeStr</span><span class="p">[</span><span class="mi">4</span><span class="p">:</span><span class="mi">6</span><span class="p">])</span>
<span class="n">day</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">timeStr</span><span class="p">[</span><span class="mi">6</span><span class="p">:</span><span class="mi">8</span><span class="p">])</span>
<span class="n">hour</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">timeStr</span><span class="p">[</span><span class="mi">9</span><span class="p">:</span><span class="mi">11</span><span class="p">])</span>
<span class="n">minute</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">timeStr</span><span class="p">[</span><span class="mi">11</span><span class="p">:</span><span class="mi">13</span><span class="p">])</span>
<span class="c1"># Do not use daylight savings because gmtime is not in daylight</span>
<span class="c1"># savings time.</span>
<span class="k">return</span> <span class="n">time</span><span class="o">.</span><span class="n">mktime</span><span class="p">((</span><span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span><span class="p">,</span> <span class="n">hour</span><span class="p">,</span> <span class="n">minute</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,496 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.dataaccess &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">Module code</a></li>
<li class="breadcrumb-item active">awips.dataaccess</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.dataaccess</h1><div class="highlight"><pre>
<span></span><span class="c1">##</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1">#</span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1">#</span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1">#</span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1">##</span>
<span class="c1">#</span>
<span class="c1"># __init__.py for awips.dataaccess package</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1">#</span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 12/10/12 njensen Initial Creation.</span>
<span class="c1"># Feb 14, 2013 1614 bsteffen refactor data access framework</span>
<span class="c1"># to use single request.</span>
<span class="c1"># Apr 09, 2013 1871 njensen Add doc strings</span>
<span class="c1"># Jun 03, 2013 2023 dgilling Add getAttributes to IData, add</span>
<span class="c1"># getLatLonGrids() to IGridData.</span>
<span class="c1"># Aug 01, 2016 2416 tgurney Add INotificationSubscriber</span>
<span class="c1"># and INotificationFilter</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span>
<span class="p">]</span>
<span class="kn">import</span> <span class="nn">abc</span>
<div class="viewcode-block" id="IDataRequest"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest">[docs]</a><span class="k">class</span> <span class="nc">IDataRequest</span><span class="p">(</span><span class="nb">object</span><span class="p">,</span> <span class="n">metaclass</span><span class="o">=</span><span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> An IDataRequest to be submitted to the DataAccessLayer to retrieve data.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<div class="viewcode-block" id="IDataRequest.setDatatype"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.setDatatype">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">setDatatype</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">datatype</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Sets the datatype of the request.</span>
<span class="sd"> Args:</span>
<span class="sd"> datatype: A string of the datatype, such as &quot;grid&quot;, &quot;radar&quot;, &quot;gfe&quot;, &quot;obs&quot;</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.addIdentifier"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.addIdentifier">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">addIdentifier</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Adds an identifier to the request. Identifiers are specific to the</span>
<span class="sd"> datatype being requested.</span>
<span class="sd"> Args:</span>
<span class="sd"> key: the string key of the identifier</span>
<span class="sd"> value: the value of the identifier</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.setParameters"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.setParameters">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">setParameters</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">params</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Sets the parameters of data to request.</span>
<span class="sd"> Args:</span>
<span class="sd"> params: a list of strings of parameters to request</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.setLevels"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.setLevels">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">setLevels</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">levels</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Sets the levels of data to request. Not all datatypes support levels.</span>
<span class="sd"> Args:</span>
<span class="sd"> levels: a list of strings of level abbreviations to request</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.setEnvelope"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.setEnvelope">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">setEnvelope</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">env</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Sets the envelope of the request. If supported by the datatype factory,</span>
<span class="sd"> the data returned for the request will be constrained to only the data</span>
<span class="sd"> within the envelope.</span>
<span class="sd"> Args:</span>
<span class="sd"> env: a shapely geometry</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.setLocationNames"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.setLocationNames">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">setLocationNames</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">locationNames</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Sets the location names of the request.</span>
<span class="sd"> Args:</span>
<span class="sd"> locationNames: a list of strings of location names to request</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.getDatatype"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.getDatatype">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getDatatype</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the datatype of the request</span>
<span class="sd"> Returns:</span>
<span class="sd"> the datatype set on the request</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.getIdentifiers"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.getIdentifiers">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getIdentifiers</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the identifiers on the request</span>
<span class="sd"> Returns:</span>
<span class="sd"> a dictionary of the identifiers</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.getLevels"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.getLevels">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getLevels</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the levels on the request</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of the levels</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.getLocationNames"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.getLocationNames">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getLocationNames</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the location names on the request</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of the location names</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div>
<div class="viewcode-block" id="IDataRequest.getEnvelope"><a class="viewcode-back" href="../../api/IDataRequest.html#awips.dataaccess.IDataRequest.getEnvelope">[docs]</a> <span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getEnvelope</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the envelope on the request</span>
<span class="sd"> Returns:</span>
<span class="sd"> a rectangular shapely geometry</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span></div></div>
<span class="k">class</span> <span class="nc">IData</span><span class="p">(</span><span class="nb">object</span><span class="p">,</span> <span class="n">metaclass</span><span class="o">=</span><span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> An IData representing data returned from the DataAccessLayer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getAttribute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets an attribute of the data.</span>
<span class="sd"> Args:</span>
<span class="sd"> key: the key of the attribute</span>
<span class="sd"> Returns:</span>
<span class="sd"> the value of the attribute</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getAttributes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the valid attributes for the data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of the attribute names</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getDataTime</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the data time of the data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> the data time of the data, or None if no time is associated</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getLevel</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the level of the data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> the level of the data, or None if no level is associated</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getLocationName</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the location name of the data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> the location name of the data, or None if no location name is</span>
<span class="sd"> associated</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="k">class</span> <span class="nc">IGridData</span><span class="p">(</span><span class="n">IData</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> An IData representing grid data that is returned by the DataAccessLayer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getParameter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the parameter of the data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> the parameter of the data</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getUnit</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the unit of the data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> the string abbreviation of the unit, or None if no unit is associated</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getRawData</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the grid data as a numpy array.</span>
<span class="sd"> Returns:</span>
<span class="sd"> a numpy array of the data</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getLatLonCoords</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the lat/lon coordinates of the grid data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> a tuple where the first element is a numpy array of lons, and the</span>
<span class="sd"> second element is a numpy array of lats</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="k">class</span> <span class="nc">IGeometryData</span><span class="p">(</span><span class="n">IData</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> An IData representing geometry data that is returned by the DataAccessLayer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getGeometry</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the geometry of the data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> a shapely geometry</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getParameters</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Gets the parameters of the data.</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of the parameter names</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getString</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the string value of the specified param.</span>
<span class="sd"> Args:</span>
<span class="sd"> param: the string name of the param</span>
<span class="sd"> Returns:</span>
<span class="sd"> the string value of the param</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getNumber</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the number value of the specified param.</span>
<span class="sd"> Args:</span>
<span class="sd"> param: the string name of the param</span>
<span class="sd"> Returns:</span>
<span class="sd"> the number value of the param</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getUnit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the unit of the specified param.</span>
<span class="sd"> Args:</span>
<span class="sd"> param: the string name of the param</span>
<span class="sd"> Returns:</span>
<span class="sd"> the string abbreviation of the unit of the param</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">getType</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the type of the param.</span>
<span class="sd"> Args:</span>
<span class="sd"> param: the string name of the param</span>
<span class="sd"> Returns:</span>
<span class="sd"> a string of the type of the parameter, such as</span>
<span class="sd"> &quot;STRING&quot;, &quot;INT&quot;, &quot;LONG&quot;, &quot;FLOAT&quot;, or &quot;DOUBLE&quot;</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span>
<span class="k">class</span> <span class="nc">INotificationSubscriber</span><span class="p">(</span><span class="nb">object</span><span class="p">,</span> <span class="n">metaclass</span><span class="o">=</span><span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> An INotificationSubscriber representing a notification filter returned from</span>
<span class="sd"> the DataNotificationLayer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">subscribe</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">callback</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Subscribes to the requested data. Method will not return until close is</span>
<span class="sd"> called in a separate thread.</span>
<span class="sd"> Args:</span>
<span class="sd"> callback: the method to call with the IGridData/IGeometryData</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">pass</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Closes the notification subscriber&quot;&quot;&quot;</span>
<span class="k">pass</span>
<span class="k">class</span> <span class="nc">INotificationFilter</span><span class="p">(</span><span class="nb">object</span><span class="p">,</span> <span class="n">metaclass</span><span class="o">=</span><span class="n">abc</span><span class="o">.</span><span class="n">ABCMeta</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Represents data required to filter a set of URIs and</span>
<span class="sd"> return a corresponding list of IDataRequest to retrieve data for.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="nd">@abc</span><span class="o">.</span><span class="n">abstractmethod</span>
<span class="k">def</span> <span class="nf">accept</span><span class="p">(</span><span class="n">dataUri</span><span class="p">):</span>
<span class="k">pass</span>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,212 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.dataaccess.CombinedTimeQuery &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item"><a href="../dataaccess.html">awips.dataaccess</a></li>
<li class="breadcrumb-item active">awips.dataaccess.CombinedTimeQuery</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.dataaccess.CombinedTimeQuery</h1><div class="highlight"><pre>
<span></span><span class="c1"># #</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1"># </span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1"># </span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1"># </span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1"># #</span>
<span class="c1">#</span>
<span class="c1"># Method for performing a DAF time query where all parameter/level/location</span>
<span class="c1"># combinations must be available at the same time.</span>
<span class="c1">#</span>
<span class="c1"># </span>
<span class="c1"># </span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1"># </span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 06/22/16 #5591 bsteffen Initial Creation.</span>
<span class="c1">#</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">DataAccessLayer</span>
<div class="viewcode-block" id="getAvailableTimes"><a class="viewcode-back" href="../../../api/CombinedTimeQuery.html#awips.dataaccess.CombinedTimeQuery.getAvailableTimes">[docs]</a><span class="k">def</span> <span class="nf">getAvailableTimes</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
<span class="k">return</span> <span class="n">__getAvailableTimesForEachParameter</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="p">)</span></div>
<span class="k">def</span> <span class="nf">__getAvailableTimesForEachParameter</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
<span class="n">parameters</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getParameters</span><span class="p">()</span>
<span class="k">if</span> <span class="n">parameters</span><span class="p">:</span>
<span class="n">times</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">for</span> <span class="n">parameter</span> <span class="ow">in</span> <span class="n">parameters</span><span class="p">:</span>
<span class="n">specificRequest</span> <span class="o">=</span> <span class="n">__cloneRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">specificRequest</span><span class="o">.</span><span class="n">setParameters</span><span class="p">(</span><span class="n">parameter</span><span class="p">)</span>
<span class="n">specificTimes</span> <span class="o">=</span> <span class="n">__getAvailableTimesForEachLevel</span><span class="p">(</span><span class="n">specificRequest</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="p">)</span>
<span class="k">if</span> <span class="n">times</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">times</span> <span class="o">=</span> <span class="n">specificTimes</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">times</span><span class="o">.</span><span class="n">intersection_update</span><span class="p">(</span><span class="n">specificTimes</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">times</span><span class="p">:</span>
<span class="k">break</span>
<span class="k">return</span> <span class="n">times</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="n">__getAvailableTimesForEachLevel</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">__getAvailableTimesForEachLevel</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
<span class="n">levels</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getLevels</span><span class="p">()</span>
<span class="k">if</span> <span class="n">levels</span><span class="p">:</span>
<span class="n">times</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">for</span> <span class="n">level</span> <span class="ow">in</span> <span class="n">levels</span><span class="p">:</span>
<span class="n">specificRequest</span> <span class="o">=</span> <span class="n">__cloneRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">specificRequest</span><span class="o">.</span><span class="n">setLevels</span><span class="p">(</span><span class="n">level</span><span class="p">)</span>
<span class="n">specificTimes</span> <span class="o">=</span> <span class="n">__getAvailableTimesForEachLocation</span><span class="p">(</span><span class="n">specificRequest</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="p">)</span>
<span class="k">if</span> <span class="n">times</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">times</span> <span class="o">=</span> <span class="n">specificTimes</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">times</span><span class="o">.</span><span class="n">intersection_update</span><span class="p">(</span><span class="n">specificTimes</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">times</span><span class="p">:</span>
<span class="k">break</span>
<span class="k">return</span> <span class="n">times</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="n">__getAvailableTimesForEachLocation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">__getAvailableTimesForEachLocation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
<span class="n">locations</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getLocationNames</span><span class="p">()</span>
<span class="k">if</span> <span class="n">locations</span><span class="p">:</span>
<span class="n">times</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">for</span> <span class="n">location</span> <span class="ow">in</span> <span class="n">locations</span><span class="p">:</span>
<span class="n">specificRequest</span> <span class="o">=</span> <span class="n">__cloneRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">specificRequest</span><span class="o">.</span><span class="n">setLocationNames</span><span class="p">(</span><span class="n">location</span><span class="p">)</span>
<span class="n">specificTimes</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">specificRequest</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="p">)</span>
<span class="k">if</span> <span class="n">times</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">times</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">specificTimes</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">times</span><span class="o">.</span><span class="n">intersection_update</span><span class="p">(</span><span class="n">specificTimes</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">times</span><span class="p">:</span>
<span class="k">break</span>
<span class="k">return</span> <span class="n">times</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</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">refTimeOnly</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">__cloneRequest</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
<span class="k">return</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="n">datatype</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getDatatype</span><span class="p">(),</span>
<span class="n">parameters</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getParameters</span><span class="p">(),</span>
<span class="n">levels</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getLevels</span><span class="p">(),</span>
<span class="n">locationNames</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getLocationNames</span><span class="p">(),</span>
<span class="n">envelope</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">getEnvelope</span><span class="p">(),</span>
<span class="o">**</span><span class="n">request</span><span class="o">.</span><span class="n">getIdentifiers</span><span class="p">())</span>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,503 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.dataaccess.DataAccessLayer &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item"><a href="../dataaccess.html">awips.dataaccess</a></li>
<li class="breadcrumb-item active">awips.dataaccess.DataAccessLayer</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.dataaccess.DataAccessLayer</h1><div class="highlight"><pre>
<span></span><span class="c1">#</span>
<span class="c1"># Published interface for awips.dataaccess package</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1">#</span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ------- ---------- -------------------------</span>
<span class="c1"># 12/10/12 njensen Initial Creation.</span>
<span class="c1"># Feb 14, 2013 1614 bsteffen refactor data access framework to use single request.</span>
<span class="c1"># 04/10/13 1871 mnash move getLatLonCoords to JGridData and add default args</span>
<span class="c1"># 05/29/13 2023 dgilling Hook up ThriftClientRouter.</span>
<span class="c1"># 03/03/14 2673 bsteffen Add ability to query only ref times.</span>
<span class="c1"># 07/22/14 3185 njensen Added optional/default args to newDataRequest</span>
<span class="c1"># 07/30/14 3185 njensen Renamed valid identifiers to optional</span>
<span class="c1"># Apr 26, 2015 4259 njensen Updated for new JEP API</span>
<span class="c1"># Apr 13, 2016 5379 tgurney Add getIdentifierValues(), getRequiredIdentifiers(),</span>
<span class="c1"># and getOptionalIdentifiers()</span>
<span class="c1"># Oct 07, 2016 ---- mjames@ucar Added getForecastRun</span>
<span class="c1"># Oct 18, 2016 5916 bsteffen Add setLazyLoadGridLatLon</span>
<span class="c1"># Oct 11, 2018 ---- mjames@ucar Added getMetarObs() getSynopticObs()</span>
<span class="c1">#</span>
<span class="kn">import</span> <span class="nn">sys</span>
<span class="kn">import</span> <span class="nn">warnings</span>
<span class="n">THRIFT_HOST</span> <span class="o">=</span> <span class="s2">&quot;edex&quot;</span>
<span class="n">USING_NATIVE_THRIFT</span> <span class="o">=</span> <span class="kc">False</span>
<span class="k">if</span> <span class="s1">&#39;jep&#39;</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">:</span>
<span class="c1"># intentionally do not catch if this fails to import, we want it to</span>
<span class="c1"># be obvious that something is configured wrong when running from within</span>
<span class="c1"># Java instead of allowing false confidence and fallback behavior</span>
<span class="kn">import</span> <span class="nn">JepRouter</span>
<span class="n">router</span> <span class="o">=</span> <span class="n">JepRouter</span>
<span class="k">else</span><span class="p">:</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">ThriftClientRouter</span>
<span class="n">router</span> <span class="o">=</span> <span class="n">ThriftClientRouter</span><span class="o">.</span><span class="n">ThriftClientRouter</span><span class="p">(</span><span class="n">THRIFT_HOST</span><span class="p">)</span>
<span class="n">USING_NATIVE_THRIFT</span> <span class="o">=</span> <span class="kc">True</span>
<div class="viewcode-block" id="getRadarProductIDs"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRadarProductIDs">[docs]</a><span class="k">def</span> <span class="nf">getRadarProductIDs</span><span class="p">(</span><span class="n">availableParms</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get only the numeric idetifiers for NEXRAD3 products.</span>
<span class="sd"> Args:</span>
<span class="sd"> availableParms: Full list of radar parameters</span>
<span class="sd"> Returns:</span>
<span class="sd"> List of filtered parameters</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">productIDs</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">availableParms</span><span class="p">):</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">p</span><span class="p">),</span> <span class="nb">int</span><span class="p">):</span>
<span class="n">productIDs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">p</span><span class="p">))</span>
<span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
<span class="k">pass</span>
<span class="k">return</span> <span class="n">productIDs</span></div>
<div class="viewcode-block" id="getRadarProductNames"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRadarProductNames">[docs]</a><span class="k">def</span> <span class="nf">getRadarProductNames</span><span class="p">(</span><span class="n">availableParms</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get only the named idetifiers for NEXRAD3 products.</span>
<span class="sd"> Args:</span>
<span class="sd"> availableParms: Full list of radar parameters</span>
<span class="sd"> Returns:</span>
<span class="sd"> List of filtered parameters</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">productNames</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="n">availableParms</span><span class="p">):</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">3</span><span class="p">:</span>
<span class="n">productNames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
<span class="k">return</span> <span class="n">productNames</span></div>
<div class="viewcode-block" id="getMetarObs"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getMetarObs">[docs]</a><span class="k">def</span> <span class="nf">getMetarObs</span><span class="p">(</span><span class="n">response</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Processes a DataAccessLayer &quot;obs&quot; response into a dictionary,</span>
<span class="sd"> with special consideration for multi-value parameters</span>
<span class="sd"> &quot;presWeather&quot;, &quot;skyCover&quot;, and &quot;skyLayerBase&quot;.</span>
<span class="sd"> Args:</span>
<span class="sd"> response: DAL getGeometry() list</span>
<span class="sd"> Returns:</span>
<span class="sd"> A dictionary of METAR obs</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
<span class="n">single_val_params</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;timeObs&quot;</span><span class="p">,</span> <span class="s2">&quot;stationName&quot;</span><span class="p">,</span> <span class="s2">&quot;longitude&quot;</span><span class="p">,</span> <span class="s2">&quot;latitude&quot;</span><span class="p">,</span>
<span class="s2">&quot;temperature&quot;</span><span class="p">,</span> <span class="s2">&quot;dewpoint&quot;</span><span class="p">,</span> <span class="s2">&quot;windDir&quot;</span><span class="p">,</span>
<span class="s2">&quot;windSpeed&quot;</span><span class="p">,</span> <span class="s2">&quot;seaLevelPress&quot;</span><span class="p">]</span>
<span class="n">multi_val_params</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;presWeather&quot;</span><span class="p">,</span> <span class="s2">&quot;skyCover&quot;</span><span class="p">,</span> <span class="s2">&quot;skyLayerBase&quot;</span><span class="p">]</span>
<span class="n">params</span> <span class="o">=</span> <span class="n">single_val_params</span> <span class="o">+</span> <span class="n">multi_val_params</span>
<span class="n">station_names</span><span class="p">,</span> <span class="n">pres_weather</span><span class="p">,</span> <span class="n">sky_cov</span><span class="p">,</span> <span class="n">sky_layer_base</span> <span class="o">=</span> <span class="p">[],</span> <span class="p">[],</span> <span class="p">[],</span> <span class="p">[]</span>
<span class="n">obs</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">({</span><span class="n">params</span><span class="p">:</span> <span class="p">[]</span> <span class="k">for</span> <span class="n">params</span> <span class="ow">in</span> <span class="n">params</span><span class="p">})</span>
<span class="k">for</span> <span class="n">ob</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
<span class="n">avail_params</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="s2">&quot;presWeather&quot;</span> <span class="ow">in</span> <span class="n">avail_params</span><span class="p">:</span>
<span class="n">pres_weather</span><span class="o">.</span><span class="n">append</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">&quot;presWeather&quot;</span><span class="p">))</span>
<span class="k">elif</span> <span class="s2">&quot;skyCover&quot;</span> <span class="ow">in</span> <span class="n">avail_params</span> <span class="ow">and</span> <span class="s2">&quot;skyLayerBase&quot;</span> <span class="ow">in</span> <span class="n">avail_params</span><span class="p">:</span>
<span class="n">sky_cov</span><span class="o">.</span><span class="n">append</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">&quot;skyCover&quot;</span><span class="p">))</span>
<span class="n">sky_layer_base</span><span class="o">.</span><span class="n">append</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">&quot;skyLayerBase&quot;</span><span class="p">))</span>
<span class="k">else</span><span class="p">:</span>
<span class="c1"># If we already have a record for this stationName, skip</span>
<span class="k">if</span> <span class="n">ob</span><span class="o">.</span><span class="n">getString</span><span class="p">(</span><span class="s1">&#39;stationName&#39;</span><span class="p">)</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">station_names</span><span class="p">:</span>
<span class="n">station_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ob</span><span class="o">.</span><span class="n">getString</span><span class="p">(</span><span class="s1">&#39;stationName&#39;</span><span class="p">))</span>
<span class="k">for</span> <span class="n">param</span> <span class="ow">in</span> <span class="n">single_val_params</span><span class="p">:</span>
<span class="k">if</span> <span class="n">param</span> <span class="ow">in</span> <span class="n">avail_params</span><span class="p">:</span>
<span class="k">if</span> <span class="n">param</span> <span class="o">==</span> <span class="s1">&#39;timeObs&#39;</span><span class="p">:</span>
<span class="n">obs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</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="n">param</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1000.0</span><span class="p">))</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">obs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span><span class="o">.</span><span class="n">append</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="n">param</span><span class="p">))</span>
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
<span class="n">obs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span><span class="o">.</span><span class="n">append</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="n">param</span><span class="p">))</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">obs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span>
<span class="n">obs</span><span class="p">[</span><span class="s1">&#39;presWeather&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">pres_weather</span><span class="p">)</span>
<span class="n">obs</span><span class="p">[</span><span class="s1">&#39;skyCover&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sky_cov</span><span class="p">)</span>
<span class="n">obs</span><span class="p">[</span><span class="s1">&#39;skyLayerBase&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sky_layer_base</span><span class="p">)</span>
<span class="n">pres_weather</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">sky_cov</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">sky_layer_base</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">return</span> <span class="n">obs</span></div>
<div class="viewcode-block" id="getSynopticObs"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getSynopticObs">[docs]</a><span class="k">def</span> <span class="nf">getSynopticObs</span><span class="p">(</span><span class="n">response</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Processes a DataAccessLayer &quot;sfcobs&quot; response into a dictionary</span>
<span class="sd"> of available parameters.</span>
<span class="sd"> Args:</span>
<span class="sd"> response: DAL getGeometry() list</span>
<span class="sd"> Returns:</span>
<span class="sd"> A dictionary of synop obs</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span>
<span class="n">station_names</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">params</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="o">.</span><span class="n">getParameters</span><span class="p">()</span>
<span class="n">sfcobs</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">({</span><span class="n">params</span><span class="p">:</span> <span class="p">[]</span> <span class="k">for</span> <span class="n">params</span> <span class="ow">in</span> <span class="n">params</span><span class="p">})</span>
<span class="k">for</span> <span class="n">sfcob</span> <span class="ow">in</span> <span class="n">response</span><span class="p">:</span>
<span class="c1"># If we already have a record for this stationId, skip</span>
<span class="k">if</span> <span class="n">sfcob</span><span class="o">.</span><span class="n">getString</span><span class="p">(</span><span class="s1">&#39;stationId&#39;</span><span class="p">)</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">station_names</span><span class="p">:</span>
<span class="n">station_names</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sfcob</span><span class="o">.</span><span class="n">getString</span><span class="p">(</span><span class="s1">&#39;stationId&#39;</span><span class="p">))</span>
<span class="k">for</span> <span class="n">param</span> <span class="ow">in</span> <span class="n">params</span><span class="p">:</span>
<span class="k">if</span> <span class="n">param</span> <span class="o">==</span> <span class="s1">&#39;timeObs&#39;</span><span class="p">:</span>
<span class="n">sfcobs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">fromtimestamp</span><span class="p">(</span><span class="n">sfcob</span><span class="o">.</span><span class="n">getNumber</span><span class="p">(</span><span class="n">param</span><span class="p">)</span> <span class="o">/</span> <span class="mf">1000.0</span><span class="p">))</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">sfcobs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sfcob</span><span class="o">.</span><span class="n">getNumber</span><span class="p">(</span><span class="n">param</span><span class="p">))</span>
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
<span class="n">sfcobs</span><span class="p">[</span><span class="n">param</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sfcob</span><span class="o">.</span><span class="n">getString</span><span class="p">(</span><span class="n">param</span><span class="p">))</span>
<span class="k">return</span> <span class="n">sfcobs</span></div>
<div class="viewcode-block" id="getForecastRun"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getForecastRun">[docs]</a><span class="k">def</span> <span class="nf">getForecastRun</span><span class="p">(</span><span class="n">cycle</span><span class="p">,</span> <span class="n">times</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get the latest forecast run (list of objects) from all</span>
<span class="sd"> all cycles and times returned from DataAccessLayer &quot;grid&quot;</span>
<span class="sd"> response.</span>
<span class="sd"> Args:</span>
<span class="sd"> cycle: Forecast cycle reference time</span>
<span class="sd"> times: All available times/cycles</span>
<span class="sd"> Returns:</span>
<span class="sd"> DataTime array for a single forecast run</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">fcstRun</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">times</span><span class="p">:</span>
<span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">t</span><span class="p">)[:</span><span class="mi">19</span><span class="p">]</span> <span class="o">==</span> <span class="nb">str</span><span class="p">(</span><span class="n">cycle</span><span class="p">):</span>
<span class="n">fcstRun</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">t</span><span class="p">)</span>
<span class="k">return</span> <span class="n">fcstRun</span></div>
<div class="viewcode-block" id="getAvailableTimes"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableTimes">[docs]</a><span class="k">def</span> <span class="nf">getAvailableTimes</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Get the times of available data to the request.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the IDataRequest to get data for</span>
<span class="sd"> refTimeOnly: optional, use True if only unique refTimes should be</span>
<span class="sd"> returned (without a forecastHr)</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of DataTimes</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</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">refTimeOnly</span><span class="p">)</span></div>
<div class="viewcode-block" id="getGridData"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGridData">[docs]</a><span class="k">def</span> <span class="nf">getGridData</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="p">[]):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the grid data that matches the request at the specified times. Each</span>
<span class="sd"> combination of parameter, level, and dataTime will be returned as a</span>
<span class="sd"> separate IGridData.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the IDataRequest to get data for</span>
<span class="sd"> times: a list of DataTimes, a TimeRange, or None if the data is time</span>
<span class="sd"> agnostic</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of IGridData</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</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="n">times</span><span class="p">)</span></div>
<div class="viewcode-block" id="getGeometryData"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGeometryData">[docs]</a><span class="k">def</span> <span class="nf">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="p">[]):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the geometry data that matches the request at the specified times.</span>
<span class="sd"> Each combination of geometry, level, and dataTime will be returned as a</span>
<span class="sd"> separate IGeometryData.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the IDataRequest to get data for</span>
<span class="sd"> times: a list of DataTimes, a TimeRange, or None if the data is time</span>
<span class="sd"> agnostic</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of IGeometryData</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</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="p">)</span></div>
<div class="viewcode-block" id="getAvailableLocationNames"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLocationNames">[docs]</a><span class="k">def</span> <span class="nf">getAvailableLocationNames</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the available location names that match the request without actually</span>
<span class="sd"> requesting the data.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the request to find matching location names for</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of available location names.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</span><span class="o">.</span><span class="n">getAvailableLocationNames</span><span class="p">(</span><span class="n">request</span><span class="p">)</span></div>
<div class="viewcode-block" id="getAvailableParameters"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableParameters">[docs]</a><span class="k">def</span> <span class="nf">getAvailableParameters</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the available parameters names that match the request without actually</span>
<span class="sd"> requesting the data.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the request to find matching parameter names for</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of available parameter names.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</span><span class="o">.</span><span class="n">getAvailableParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span></div>
<div class="viewcode-block" id="getAvailableLevels"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLevels">[docs]</a><span class="k">def</span> <span class="nf">getAvailableLevels</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the available levels that match the request without actually</span>
<span class="sd"> requesting the data.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the request to find matching levels for</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of available levels.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</span><span class="o">.</span><span class="n">getAvailableLevels</span><span class="p">(</span><span class="n">request</span><span class="p">)</span></div>
<div class="viewcode-block" id="getRequiredIdentifiers"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRequiredIdentifiers">[docs]</a><span class="k">def</span> <span class="nf">getRequiredIdentifiers</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the required identifiers for this request. These identifiers</span>
<span class="sd"> must be set on a request for the request of this datatype to succeed.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the request to find required identifiers for</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of required identifiers</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">request</span><span class="p">)</span> <span class="o">==</span> <span class="n">request</span><span class="p">:</span>
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Use getRequiredIdentifiers(IDataRequest) instead&quot;</span><span class="p">,</span>
<span class="ne">DeprecationWarning</span><span class="p">)</span>
<span class="k">return</span> <span class="n">router</span><span class="o">.</span><span class="n">getRequiredIdentifiers</span><span class="p">(</span><span class="n">request</span><span class="p">)</span></div>
<div class="viewcode-block" id="getOptionalIdentifiers"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getOptionalIdentifiers">[docs]</a><span class="k">def</span> <span class="nf">getOptionalIdentifiers</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the optional identifiers for this request.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the request to find optional identifiers for</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of optional identifiers</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">request</span><span class="p">)</span> <span class="o">==</span> <span class="n">request</span><span class="p">:</span>
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">&quot;Use getOptionalIdentifiers(IDataRequest) instead&quot;</span><span class="p">,</span>
<span class="ne">DeprecationWarning</span><span class="p">)</span>
<span class="k">return</span> <span class="n">router</span><span class="o">.</span><span class="n">getOptionalIdentifiers</span><span class="p">(</span><span class="n">request</span><span class="p">)</span></div>
<div class="viewcode-block" id="getIdentifierValues"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getIdentifierValues">[docs]</a><span class="k">def</span> <span class="nf">getIdentifierValues</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">identifierKey</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the allowed values for a particular identifier on this datatype.</span>
<span class="sd"> Args:</span>
<span class="sd"> request: the request to find identifier values for</span>
<span class="sd"> identifierKey: the identifier to find values for</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of allowed values for the specified identifier</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</span><span class="o">.</span><span class="n">getIdentifierValues</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">identifierKey</span><span class="p">)</span></div>
<div class="viewcode-block" id="newDataRequest"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest">[docs]</a><span class="k">def</span> <span class="nf">newDataRequest</span><span class="p">(</span><span class="n">datatype</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Creates a new instance of IDataRequest suitable for the runtime environment.</span>
<span class="sd"> All args are optional and exist solely for convenience.</span>
<span class="sd"> Args:</span>
<span class="sd"> datatype: the datatype to create a request for</span>
<span class="sd"> parameters: a list of parameters to set on the request</span>
<span class="sd"> levels: a list of levels to set on the request</span>
<span class="sd"> locationNames: a list of locationNames to set on the request</span>
<span class="sd"> envelope: an envelope to limit the request</span>
<span class="sd"> kwargs: any leftover kwargs will be set as identifiers</span>
<span class="sd"> Returns:</span>
<span class="sd"> a new IDataRequest</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="n">datatype</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
<div class="viewcode-block" id="getSupportedDatatypes"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getSupportedDatatypes">[docs]</a><span class="k">def</span> <span class="nf">getSupportedDatatypes</span><span class="p">():</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Gets the datatypes that are supported by the framework</span>
<span class="sd"> Returns:</span>
<span class="sd"> a list of strings of supported datatypes</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">router</span><span class="o">.</span><span class="n">getSupportedDatatypes</span><span class="p">()</span></div>
<div class="viewcode-block" id="changeEDEXHost"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.changeEDEXHost">[docs]</a><span class="k">def</span> <span class="nf">changeEDEXHost</span><span class="p">(</span><span class="n">newHostName</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Changes the EDEX host the Data Access Framework is communicating with. Only</span>
<span class="sd"> works if using the native Python client implementation, otherwise, this</span>
<span class="sd"> method will throw a TypeError.</span>
<span class="sd"> Args:</span>
<span class="sd"> newHostName: the EDEX host to connect to</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">USING_NATIVE_THRIFT</span><span class="p">:</span>
<span class="k">global</span> <span class="n">THRIFT_HOST</span>
<span class="n">THRIFT_HOST</span> <span class="o">=</span> <span class="n">newHostName</span>
<span class="k">global</span> <span class="n">router</span>
<span class="n">router</span> <span class="o">=</span> <span class="n">ThriftClientRouter</span><span class="o">.</span><span class="n">ThriftClientRouter</span><span class="p">(</span><span class="n">THRIFT_HOST</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;Cannot call changeEDEXHost when using JepRouter.&quot;</span><span class="p">)</span></div>
<div class="viewcode-block" id="setLazyLoadGridLatLon"><a class="viewcode-back" href="../../../api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon">[docs]</a><span class="k">def</span> <span class="nf">setLazyLoadGridLatLon</span><span class="p">(</span><span class="n">lazyLoadGridLatLon</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Provide a hint to the Data Access Framework indicating whether to load the</span>
<span class="sd"> lat/lon data for a grid immediately or wait until it is needed. This is</span>
<span class="sd"> provided as a performance tuning hint and should not affect the way the</span>
<span class="sd"> Data Access Framework is used. Depending on the internal implementation of</span>
<span class="sd"> the Data Access Framework this hint might be ignored. Examples of when this</span>
<span class="sd"> should be set to True are when the lat/lon information is not used or when</span>
<span class="sd"> it is used only if certain conditions within the data are met. It could be</span>
<span class="sd"> set to False if it is guaranteed that all lat/lon information is needed and</span>
<span class="sd"> it would be better to get any performance overhead for generating the</span>
<span class="sd"> lat/lon data out of the way during the initial request.</span>
<span class="sd"> Args:</span>
<span class="sd"> lazyLoadGridLatLon: Boolean value indicating whether to lazy load.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">router</span><span class="o">.</span><span class="n">setLazyLoadGridLatLon</span><span class="p">(</span><span class="n">lazyLoadGridLatLon</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
<span class="c1"># The router is not required to support this capability.</span>
<span class="k">pass</span></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,343 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.dataaccess.ModelSounding &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item"><a href="../dataaccess.html">awips.dataaccess</a></li>
<li class="breadcrumb-item active">awips.dataaccess.ModelSounding</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.dataaccess.ModelSounding</h1><div class="highlight"><pre>
<span></span><span class="c1">#</span>
<span class="c1"># Classes for retrieving soundings based on gridded data from the Data Access</span>
<span class="c1"># Framework</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1">#</span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 06/24/15 #4480 dgilling Initial Creation.</span>
<span class="c1">#</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">DataAccessLayer</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.level</span> <span class="kn">import</span> <span class="n">Level</span>
<span class="kn">from</span> <span class="nn">shapely.geometry</span> <span class="kn">import</span> <span class="n">Point</span>
<div class="viewcode-block" id="getSounding"><a class="viewcode-back" href="../../../api/ModelSounding.html#awips.dataaccess.ModelSounding.getSounding">[docs]</a><span class="k">def</span> <span class="nf">getSounding</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">weatherElements</span><span class="p">,</span> <span class="n">levels</span><span class="p">,</span> <span class="n">samplePoint</span><span class="p">,</span> <span class="n">timeRange</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Performs a series of Data Access Framework requests to retrieve a sounding object</span>
<span class="sd"> based on the specified request parameters.</span>
<span class="sd"> Args:</span>
<span class="sd"> modelName: the grid model datasetid to use as the basis of the sounding.</span>
<span class="sd"> weatherElements: a list of parameters to return in the sounding.</span>
<span class="sd"> levels: a list of levels to sample the given weather elements at</span>
<span class="sd"> samplePoint: a lat/lon pair to perform the sampling of data at.</span>
<span class="sd"> timeRange: (optional) a list of times, or a TimeRange to specify</span>
<span class="sd"> which forecast hours to use. If not specified, will default to all forecast hours.</span>
<span class="sd"> Returns:</span>
<span class="sd"> A _SoundingCube instance, which acts a 3-tiered dictionary, keyed</span>
<span class="sd"> by DataTime, then by level and finally by weather element. If no</span>
<span class="sd"> data is available for the given request parameters, None is returned.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="p">(</span><span class="n">locationNames</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">levels</span><span class="p">,</span> <span class="n">envelope</span><span class="p">,</span> <span class="n">timeRange</span><span class="p">)</span> <span class="o">=</span> \
<span class="n">__sanitizeInputs</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">weatherElements</span><span class="p">,</span> <span class="n">levels</span><span class="p">,</span> <span class="n">samplePoint</span><span class="p">,</span> <span class="n">timeRange</span><span class="p">)</span>
<span class="n">requestArgs</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;datatype&#39;</span><span class="p">:</span> <span class="s1">&#39;grid&#39;</span><span class="p">,</span> <span class="s1">&#39;locationNames&#39;</span><span class="p">:</span> <span class="n">locationNames</span><span class="p">,</span>
<span class="s1">&#39;parameters&#39;</span><span class="p">:</span> <span class="n">parameters</span><span class="p">,</span> <span class="s1">&#39;levels&#39;</span><span class="p">:</span> <span class="n">levels</span><span class="p">,</span> <span class="s1">&#39;envelope&#39;</span><span class="p">:</span> <span class="n">envelope</span><span class="p">}</span>
<span class="n">req</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="o">**</span><span class="n">requestArgs</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">getGeometryData</span><span class="p">(</span><span class="n">req</span><span class="p">,</span> <span class="n">timeRange</span><span class="p">)</span>
<span class="n">soundingObject</span> <span class="o">=</span> <span class="n">_SoundingCube</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
<span class="k">return</span> <span class="n">soundingObject</span></div>
<div class="viewcode-block" id="changeEDEXHost"><a class="viewcode-back" href="../../../api/ModelSounding.html#awips.dataaccess.ModelSounding.changeEDEXHost">[docs]</a><span class="k">def</span> <span class="nf">changeEDEXHost</span><span class="p">(</span><span class="n">host</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Changes the EDEX host the Data Access Framework is communicating with.</span>
<span class="sd"> Args:</span>
<span class="sd"> host: the EDEX host to connect to</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">if</span> <span class="n">host</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="nb">str</span><span class="p">(</span><span class="n">host</span><span class="p">))</span></div>
<span class="k">def</span> <span class="nf">__sanitizeInputs</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">weatherElements</span><span class="p">,</span> <span class="n">levels</span><span class="p">,</span> <span class="n">samplePoint</span><span class="p">,</span> <span class="n">timeRange</span><span class="p">):</span>
<span class="n">locationNames</span> <span class="o">=</span> <span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">modelName</span><span class="p">)]</span>
<span class="n">parameters</span> <span class="o">=</span> <span class="n">__buildStringList</span><span class="p">(</span><span class="n">weatherElements</span><span class="p">)</span>
<span class="n">levels</span> <span class="o">=</span> <span class="n">__buildStringList</span><span class="p">(</span><span class="n">levels</span><span class="p">)</span>
<span class="n">envelope</span> <span class="o">=</span> <span class="n">Point</span><span class="p">(</span><span class="n">samplePoint</span><span class="p">)</span>
<span class="k">return</span> <span class="n">locationNames</span><span class="p">,</span> <span class="n">parameters</span><span class="p">,</span> <span class="n">levels</span><span class="p">,</span> <span class="n">envelope</span><span class="p">,</span> <span class="n">timeRange</span>
<span class="k">def</span> <span class="nf">__buildStringList</span><span class="p">(</span><span class="n">param</span><span class="p">):</span>
<span class="k">if</span> <span class="n">__notStringIter</span><span class="p">(</span><span class="n">param</span><span class="p">):</span>
<span class="k">return</span> <span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">param</span><span class="p">]</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">return</span> <span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">param</span><span class="p">)]</span>
<span class="k">def</span> <span class="nf">__notStringIter</span><span class="p">(</span><span class="n">iterable</span><span class="p">):</span>
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">iterable</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
<span class="k">try</span><span class="p">:</span>
<span class="nb">iter</span><span class="p">(</span><span class="n">iterable</span><span class="p">)</span>
<span class="k">return</span> <span class="kc">True</span>
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
<span class="k">return</span> <span class="kc">False</span>
<span class="k">class</span> <span class="nc">_SoundingCube</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> The top-level sounding object returned when calling ModelSounding.getSounding.</span>
<span class="sd"> This object acts as a 3-tiered dict which is keyed by time then level</span>
<span class="sd"> then parameter name. Calling times() will return all valid keys into this</span>
<span class="sd"> object.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">geometryDataObjects</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span> <span class="o">=</span> <span class="p">{}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_sortedTimes</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">if</span> <span class="n">geometryDataObjects</span><span class="p">:</span>
<span class="k">for</span> <span class="n">geometryData</span> <span class="ow">in</span> <span class="n">geometryDataObjects</span><span class="p">:</span>
<span class="n">dataTime</span> <span class="o">=</span> <span class="n">geometryData</span><span class="o">.</span><span class="n">getDataTime</span><span class="p">()</span>
<span class="n">level</span> <span class="o">=</span> <span class="n">geometryData</span><span class="o">.</span><span class="n">getLevel</span><span class="p">()</span>
<span class="k">for</span> <span class="n">parameter</span> <span class="ow">in</span> <span class="n">geometryData</span><span class="o">.</span><span class="n">getParameters</span><span class="p">():</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__addItem</span><span class="p">(</span><span class="n">parameter</span><span class="p">,</span> <span class="n">dataTime</span><span class="p">,</span> <span class="n">level</span><span class="p">,</span> <span class="n">geometryData</span><span class="o">.</span><span class="n">getNumber</span><span class="p">(</span><span class="n">parameter</span><span class="p">))</span>
<span class="k">def</span> <span class="nf">__addItem</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parameter</span><span class="p">,</span> <span class="n">dataTime</span><span class="p">,</span> <span class="n">level</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="n">timeLayer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">dataTime</span><span class="p">,</span> <span class="n">_SoundingTimeLayer</span><span class="p">(</span><span class="n">dataTime</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="p">[</span><span class="n">dataTime</span><span class="p">]</span> <span class="o">=</span> <span class="n">timeLayer</span>
<span class="n">timeLayer</span><span class="o">.</span><span class="n">_addItem</span><span class="p">(</span><span class="n">parameter</span><span class="p">,</span> <span class="n">level</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
<span class="k">if</span> <span class="n">dataTime</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sortedTimes</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_sortedTimes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">dataTime</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_sortedTimes</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
<span class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
<span class="k">def</span> <span class="fm">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">times</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Returns the valid times for this sounding.</span>
<span class="sd"> Returns:</span>
<span class="sd"> A list containing the valid DataTimes for this sounding in order.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sortedTimes</span>
<span class="k">class</span> <span class="nc">_SoundingTimeLayer</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> The second-level sounding object returned when calling ModelSounding.getSounding.</span>
<span class="sd"> This object acts as a 2-tiered dict which is keyed by level then parameter</span>
<span class="sd"> name. Calling levels() will return all valid keys into this</span>
<span class="sd"> object. Calling time() will return the DataTime for this particular layer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataTime</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_dataTime</span> <span class="o">=</span> <span class="n">dataTime</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span> <span class="o">=</span> <span class="p">{}</span>
<span class="k">def</span> <span class="nf">_addItem</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parameter</span><span class="p">,</span> <span class="n">level</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="n">asString</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">level</span><span class="p">)</span>
<span class="n">levelLayer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">asString</span><span class="p">,</span> <span class="n">_SoundingTimeAndLevelLayer</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_dataTime</span><span class="p">,</span> <span class="n">asString</span><span class="p">))</span>
<span class="n">levelLayer</span><span class="o">.</span><span class="n">_addItem</span><span class="p">(</span><span class="n">parameter</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="p">[</span><span class="n">asString</span><span class="p">]</span> <span class="o">=</span> <span class="n">levelLayer</span>
<span class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
<span class="n">asString</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
<span class="k">if</span> <span class="n">asString</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="p">:</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="p">[</span><span class="n">asString</span><span class="p">]</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">KeyError</span><span class="p">(</span><span class="s2">&quot;Level &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; is not a valid level for this sounding.&quot;</span><span class="p">)</span>
<span class="k">def</span> <span class="fm">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">time</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Returns the DataTime for this sounding cube layer.</span>
<span class="sd"> Returns:</span>
<span class="sd"> The DataTime for this sounding layer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_dataTime</span>
<span class="k">def</span> <span class="nf">levels</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Returns the valid levels for this sounding.</span>
<span class="sd"> Returns:</span>
<span class="sd"> A list containing the valid levels for this sounding in order of</span>
<span class="sd"> closest to surface to highest from surface.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">sortedLevels</span> <span class="o">=</span> <span class="p">[</span><span class="n">Level</span><span class="p">(</span><span class="n">level</span><span class="p">)</span> <span class="k">for</span> <span class="n">level</span> <span class="ow">in</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_dataDict</span><span class="o">.</span><span class="n">keys</span><span class="p">())]</span>
<span class="n">sortedLevels</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
<span class="k">return</span> <span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">level</span><span class="p">)</span> <span class="k">for</span> <span class="n">level</span> <span class="ow">in</span> <span class="n">sortedLevels</span><span class="p">]</span>
<span class="k">class</span> <span class="nc">_SoundingTimeAndLevelLayer</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> The bottom-level sounding object returned when calling ModelSounding.getSounding.</span>
<span class="sd"> This object acts as a dict which is keyed by parameter name. Calling</span>
<span class="sd"> parameters() will return all valid keys into this object. Calling time()</span>
<span class="sd"> will return the DataTime for this particular layer. Calling level() will</span>
<span class="sd"> return the level for this layer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">time</span><span class="p">,</span> <span class="n">level</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_time</span> <span class="o">=</span> <span class="n">time</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_level</span> <span class="o">=</span> <span class="n">level</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_parameters</span> <span class="o">=</span> <span class="p">{}</span>
<span class="k">def</span> <span class="nf">_addItem</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parameter</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_parameters</span><span class="p">[</span><span class="n">parameter</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<span class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_parameters</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
<span class="k">def</span> <span class="fm">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_parameters</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">level</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Returns the level for this sounding cube layer.</span>
<span class="sd"> Returns:</span>
<span class="sd"> The level for this sounding layer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_level</span>
<span class="k">def</span> <span class="nf">parameters</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Returns the valid parameters for this sounding.</span>
<span class="sd"> Returns:</span>
<span class="sd"> A list containing the valid parameter names.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_parameters</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
<span class="k">def</span> <span class="nf">time</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Returns the DataTime for this sounding cube layer.</span>
<span class="sd"> Returns:</span>
<span class="sd"> The DataTime for this sounding layer.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_time</span>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,169 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.dataaccess.PyData &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item"><a href="../dataaccess.html">awips.dataaccess</a></li>
<li class="breadcrumb-item active">awips.dataaccess.PyData</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.dataaccess.PyData</h1><div class="highlight"><pre>
<span></span><span class="c1">##</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1"># </span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1"># </span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1"># </span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1">##</span>
<span class="c1">#</span>
<span class="c1"># Implements IData for use by native Python clients to the Data Access</span>
<span class="c1"># Framework.</span>
<span class="c1"># </span>
<span class="c1"># </span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1"># </span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 06/03/13 dgilling Initial Creation.</span>
<span class="c1"># </span>
<span class="c1">#</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">IData</span>
<div class="viewcode-block" id="PyData"><a class="viewcode-back" href="../../../api/PyData.html#awips.dataaccess.PyData.PyData">[docs]</a><span class="k">class</span> <span class="nc">PyData</span><span class="p">(</span><span class="n">IData</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dataRecord</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__time</span> <span class="o">=</span> <span class="n">dataRecord</span><span class="o">.</span><span class="n">getTime</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__level</span> <span class="o">=</span> <span class="n">dataRecord</span><span class="o">.</span><span class="n">getLevel</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__locationName</span> <span class="o">=</span> <span class="n">dataRecord</span><span class="o">.</span><span class="n">getLocationName</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__attributes</span> <span class="o">=</span> <span class="n">dataRecord</span><span class="o">.</span><span class="n">getAttributes</span><span class="p">()</span>
<div class="viewcode-block" id="PyData.getAttribute"><a class="viewcode-back" href="../../../api/PyData.html#awips.dataaccess.PyData.PyData.getAttribute">[docs]</a> <span class="k">def</span> <span class="nf">getAttribute</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__attributes</span><span class="p">[</span><span class="n">key</span><span class="p">]</span></div>
<div class="viewcode-block" id="PyData.getAttributes"><a class="viewcode-back" href="../../../api/PyData.html#awips.dataaccess.PyData.PyData.getAttributes">[docs]</a> <span class="k">def</span> <span class="nf">getAttributes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__attributes</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span></div>
<div class="viewcode-block" id="PyData.getDataTime"><a class="viewcode-back" href="../../../api/PyData.html#awips.dataaccess.PyData.PyData.getDataTime">[docs]</a> <span class="k">def</span> <span class="nf">getDataTime</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__time</span></div>
<div class="viewcode-block" id="PyData.getLevel"><a class="viewcode-back" href="../../../api/PyData.html#awips.dataaccess.PyData.PyData.getLevel">[docs]</a> <span class="k">def</span> <span class="nf">getLevel</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__level</span></div>
<div class="viewcode-block" id="PyData.getLocationName"><a class="viewcode-back" href="../../../api/PyData.html#awips.dataaccess.PyData.PyData.getLocationName">[docs]</a> <span class="k">def</span> <span class="nf">getLocationName</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__locationName</span></div></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,188 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.dataaccess.PyGeometryData &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item"><a href="../dataaccess.html">awips.dataaccess</a></li>
<li class="breadcrumb-item active">awips.dataaccess.PyGeometryData</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.dataaccess.PyGeometryData</h1><div class="highlight"><pre>
<span></span><span class="c1">##</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1"># </span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1"># </span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1"># </span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1">##</span>
<span class="c1">#</span>
<span class="c1"># Implements IGeometryData for use by native Python clients to the Data Access</span>
<span class="c1"># Framework.</span>
<span class="c1"># </span>
<span class="c1"># </span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1"># </span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 06/03/13 dgilling Initial Creation.</span>
<span class="c1"># 01/06/14 2537 bsteffen Share geometry WKT.</span>
<span class="c1"># 03/19/14 2882 dgilling Raise an exception when getNumber()</span>
<span class="c1"># is called for data that is not a </span>
<span class="c1"># numeric Type.</span>
<span class="c1"># 06/09/16 5574 mapeters Handle &#39;SHORT&#39; type in getNumber().</span>
<span class="c1"># </span>
<span class="c1">#</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">IGeometryData</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">PyData</span>
<div class="viewcode-block" id="PyGeometryData"><a class="viewcode-back" href="../../../api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData">[docs]</a><span class="k">class</span> <span class="nc">PyGeometryData</span><span class="p">(</span><span class="n">IGeometryData</span><span class="p">,</span> <span class="n">PyData</span><span class="o">.</span><span class="n">PyData</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">geoDataRecord</span><span class="p">,</span> <span class="n">geometry</span><span class="p">):</span>
<span class="n">PyData</span><span class="o">.</span><span class="n">PyData</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">geoDataRecord</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__geometry</span> <span class="o">=</span> <span class="n">geometry</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__dataMap</span> <span class="o">=</span> <span class="p">{}</span>
<span class="n">tempDataMap</span> <span class="o">=</span> <span class="n">geoDataRecord</span><span class="o">.</span><span class="n">getDataMap</span><span class="p">()</span>
<span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">tempDataMap</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__dataMap</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">value</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">value</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">value</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
<div class="viewcode-block" id="PyGeometryData.getGeometry"><a class="viewcode-back" href="../../../api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getGeometry">[docs]</a> <span class="k">def</span> <span class="nf">getGeometry</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__geometry</span></div>
<div class="viewcode-block" id="PyGeometryData.getParameters"><a class="viewcode-back" href="../../../api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getParameters">[docs]</a> <span class="k">def</span> <span class="nf">getParameters</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__dataMap</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span></div>
<div class="viewcode-block" id="PyGeometryData.getString"><a class="viewcode-back" href="../../../api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getString">[docs]</a> <span class="k">def</span> <span class="nf">getString</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__dataMap</span><span class="p">[</span><span class="n">param</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
<span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span></div>
<div class="viewcode-block" id="PyGeometryData.getNumber"><a class="viewcode-back" href="../../../api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getNumber">[docs]</a> <span class="k">def</span> <span class="nf">getNumber</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__dataMap</span><span class="p">[</span><span class="n">param</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
<span class="n">t</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">getType</span><span class="p">(</span><span class="n">param</span><span class="p">)</span>
<span class="k">if</span> <span class="n">t</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;INT&#39;</span><span class="p">,</span> <span class="s1">&#39;SHORT&#39;</span><span class="p">,</span> <span class="s1">&#39;LONG&#39;</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">t</span> <span class="ow">in</span> <span class="p">(</span><span class="s1">&#39;DOUBLE&#39;</span><span class="p">,</span> <span class="s1">&#39;FLOAT&#39;</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">float</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;Data for parameter &quot;</span> <span class="o">+</span> <span class="n">param</span> <span class="o">+</span> <span class="s2">&quot; is not a numeric type.&quot;</span><span class="p">)</span></div>
<div class="viewcode-block" id="PyGeometryData.getUnit"><a class="viewcode-back" href="../../../api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getUnit">[docs]</a> <span class="k">def</span> <span class="nf">getUnit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__dataMap</span><span class="p">[</span><span class="n">param</span><span class="p">][</span><span class="mi">2</span><span class="p">]</span></div>
<div class="viewcode-block" id="PyGeometryData.getType"><a class="viewcode-back" href="../../../api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getType">[docs]</a> <span class="k">def</span> <span class="nf">getType</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">param</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__dataMap</span><span class="p">[</span><span class="n">param</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span></div></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,193 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.dataaccess.PyGridData &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item"><a href="../dataaccess.html">awips.dataaccess</a></li>
<li class="breadcrumb-item active">awips.dataaccess.PyGridData</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.dataaccess.PyGridData</h1><div class="highlight"><pre>
<span></span><span class="c1"># #</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1"># </span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1"># </span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1"># </span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1"># #</span>
<span class="c1">#</span>
<span class="c1"># Implements IGridData for use by native Python clients to the Data Access</span>
<span class="c1"># Framework.</span>
<span class="c1"># </span>
<span class="c1"># </span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1"># </span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 06/03/13 #2023 dgilling Initial Creation.</span>
<span class="c1"># 10/13/16 #5916 bsteffen Correct grid shape, allow lat/lon</span>
<span class="c1"># 11/10/16 #5900 bsteffen Correct grid shape</span>
<span class="c1"># to be requested by a delegate</span>
<span class="c1"># </span>
<span class="c1">#</span>
<span class="kn">import</span> <span class="nn">numpy</span>
<span class="kn">import</span> <span class="nn">warnings</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">IGridData</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">PyData</span>
<span class="n">NO_UNIT_CONVERT_WARNING</span> <span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
<span class="s2">The ability to unit convert grid data is not currently available in this version of the Data Access Framework.</span>
<span class="s2">&quot;&quot;&quot;</span>
<div class="viewcode-block" id="PyGridData"><a class="viewcode-back" href="../../../api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData">[docs]</a><span class="k">class</span> <span class="nc">PyGridData</span><span class="p">(</span><span class="n">IGridData</span><span class="p">,</span> <span class="n">PyData</span><span class="o">.</span><span class="n">PyData</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">gridDataRecord</span><span class="p">,</span> <span class="n">nx</span><span class="p">,</span> <span class="n">ny</span><span class="p">,</span> <span class="n">latLonGrid</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> <span class="n">latLonDelegate</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
<span class="n">PyData</span><span class="o">.</span><span class="n">PyData</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">gridDataRecord</span><span class="p">)</span>
<span class="n">nx</span> <span class="o">=</span> <span class="n">nx</span>
<span class="n">ny</span> <span class="o">=</span> <span class="n">ny</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__parameter</span> <span class="o">=</span> <span class="n">gridDataRecord</span><span class="o">.</span><span class="n">getParameter</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__unit</span> <span class="o">=</span> <span class="n">gridDataRecord</span><span class="o">.</span><span class="n">getUnit</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__gridData</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">gridDataRecord</span><span class="o">.</span><span class="n">getGridData</span><span class="p">()),</span> <span class="p">(</span><span class="n">ny</span><span class="p">,</span> <span class="n">nx</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__latLonGrid</span> <span class="o">=</span> <span class="n">latLonGrid</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__latLonDelegate</span> <span class="o">=</span> <span class="n">latLonDelegate</span>
<div class="viewcode-block" id="PyGridData.getParameter"><a class="viewcode-back" href="../../../api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData.getParameter">[docs]</a> <span class="k">def</span> <span class="nf">getParameter</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__parameter</span></div>
<div class="viewcode-block" id="PyGridData.getUnit"><a class="viewcode-back" href="../../../api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData.getUnit">[docs]</a> <span class="k">def</span> <span class="nf">getUnit</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__unit</span></div>
<div class="viewcode-block" id="PyGridData.getRawData"><a class="viewcode-back" href="../../../api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData.getRawData">[docs]</a> <span class="k">def</span> <span class="nf">getRawData</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">unit</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="c1"># TODO: Find a proper python library that deals will with numpy and</span>
<span class="c1"># javax.measure style unit strings and hook it in to this method to</span>
<span class="c1"># allow end-users to perform unit conversion for grid data.</span>
<span class="k">if</span> <span class="n">unit</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="n">NO_UNIT_CONVERT_WARNING</span><span class="p">,</span> <span class="n">stacklevel</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__gridData</span></div>
<div class="viewcode-block" id="PyGridData.getLatLonCoords"><a class="viewcode-back" href="../../../api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData.getLatLonCoords">[docs]</a> <span class="k">def</span> <span class="nf">getLatLonCoords</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">__latLonGrid</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__latLonGrid</span>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">__latLonDelegate</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__latLonDelegate</span><span class="p">()</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__latLonGrid</span></div></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,359 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.dataaccess.ThriftClientRouter &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item"><a href="../dataaccess.html">awips.dataaccess</a></li>
<li class="breadcrumb-item active">awips.dataaccess.ThriftClientRouter</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.dataaccess.ThriftClientRouter</h1><div class="highlight"><pre>
<span></span><span class="c1"># #</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1">#</span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1">#</span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1">#</span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1"># #</span>
<span class="c1">#</span>
<span class="c1"># Routes requests to the Data Access Framework through Python Thrift.</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="c1">#</span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1">#</span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 05/21/13 2023 dgilling Initial Creation.</span>
<span class="c1"># 01/06/14 2537 bsteffen Share geometry WKT.</span>
<span class="c1"># 03/03/14 2673 bsteffen Add ability to query only ref times.</span>
<span class="c1"># 07/22/14 3185 njensen Added optional/default args to newDataRequest</span>
<span class="c1"># 07/23/14 3185 njensen Added new methods</span>
<span class="c1"># 07/30/14 3185 njensen Renamed valid identifiers to optional</span>
<span class="c1"># 06/30/15 4569 nabowle Use hex WKB for geometries.</span>
<span class="c1"># 04/13/15 5379 tgurney Add getIdentifierValues()</span>
<span class="c1"># 06/01/16 5587 tgurney Add new signatures for</span>
<span class="c1"># getRequiredIdentifiers() and</span>
<span class="c1"># getOptionalIdentifiers()</span>
<span class="c1"># 08/01/16 2416 tgurney Add getNotificationFilter()</span>
<span class="c1"># 10/13/16 5916 bsteffen Correct grid shape, allow lazy grid lat/lon</span>
<span class="c1"># 10/26/16 5919 njensen Speed up geometry creation in getGeometryData()</span>
<span class="c1">#</span>
<span class="kn">import</span> <span class="nn">numpy</span>
<span class="kn">import</span> <span class="nn">shapely.wkb</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.impl</span> <span class="kn">import</span> <span class="n">DefaultDataRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetAvailableLocationNamesRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetAvailableTimesRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetGeometryDataRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetGridDataRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetGridLatLonRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetAvailableParametersRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetAvailableLevelsRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetRequiredIdentifiersRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetOptionalIdentifiersRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetIdentifierValuesRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetSupportedDatatypesRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request</span> <span class="kn">import</span> <span class="n">GetNotificationFilterRequest</span>
<span class="kn">from</span> <span class="nn">awips</span> <span class="kn">import</span> <span class="n">ThriftClient</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">PyGeometryData</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">PyGridData</span>
<div class="viewcode-block" id="LazyGridLatLon"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.LazyGridLatLon">[docs]</a><span class="k">class</span> <span class="nc">LazyGridLatLon</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">client</span><span class="p">,</span> <span class="n">nx</span><span class="p">,</span> <span class="n">ny</span><span class="p">,</span> <span class="n">envelope</span><span class="p">,</span> <span class="n">crsWkt</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_latLonGrid</span> <span class="o">=</span> <span class="kc">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_client</span> <span class="o">=</span> <span class="n">client</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_request</span> <span class="o">=</span> <span class="n">GetGridLatLonRequest</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_request</span><span class="o">.</span><span class="n">setNx</span><span class="p">(</span><span class="n">nx</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_request</span><span class="o">.</span><span class="n">setNy</span><span class="p">(</span><span class="n">ny</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_request</span><span class="o">.</span><span class="n">setEnvelope</span><span class="p">(</span><span class="n">envelope</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_request</span><span class="o">.</span><span class="n">setCrsWkt</span><span class="p">(</span><span class="n">crsWkt</span><span class="p">)</span>
<span class="k">def</span> <span class="fm">__call__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="c1"># Its important that the data is cached internally so that if multiple</span>
<span class="c1"># GridData are sharing the same delegate then they can also share a</span>
<span class="c1"># single request for the LatLon information.</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_latLonGrid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_request</span><span class="p">)</span>
<span class="n">nx</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">getNx</span><span class="p">()</span>
<span class="n">ny</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">getNy</span><span class="p">()</span>
<span class="n">latData</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">getLats</span><span class="p">()),</span> <span class="p">(</span><span class="n">ny</span><span class="p">,</span> <span class="n">nx</span><span class="p">))</span>
<span class="n">lonData</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">getLons</span><span class="p">()),</span> <span class="p">(</span><span class="n">ny</span><span class="p">,</span> <span class="n">nx</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_latLonGrid</span> <span class="o">=</span> <span class="p">(</span><span class="n">lonData</span><span class="p">,</span> <span class="n">latData</span><span class="p">)</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_latLonGrid</span></div>
<div class="viewcode-block" id="ThriftClientRouter"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter">[docs]</a><span class="k">class</span> <span class="nc">ThriftClientRouter</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="o">=</span><span class="s1">&#39;localhost&#39;</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_client</span> <span class="o">=</span> <span class="n">ThriftClient</span><span class="o">.</span><span class="n">ThriftClient</span><span class="p">(</span><span class="n">host</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_lazyLoadGridLatLon</span> <span class="o">=</span> <span class="kc">False</span>
<div class="viewcode-block" id="ThriftClientRouter.setLazyLoadGridLatLon"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.setLazyLoadGridLatLon">[docs]</a> <span class="k">def</span> <span class="nf">setLazyLoadGridLatLon</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">lazyLoadGridLatLon</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_lazyLoadGridLatLon</span> <span class="o">=</span> <span class="n">lazyLoadGridLatLon</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getAvailableTimes"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableTimes">[docs]</a> <span class="k">def</span> <span class="nf">getAvailableTimes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">refTimeOnly</span><span class="p">):</span>
<span class="n">timesRequest</span> <span class="o">=</span> <span class="n">GetAvailableTimesRequest</span><span class="p">()</span>
<span class="n">timesRequest</span><span class="o">.</span><span class="n">setRequestParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">timesRequest</span><span class="o">.</span><span class="n">setRefTimeOnly</span><span class="p">(</span><span class="n">refTimeOnly</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">timesRequest</span><span class="p">)</span>
<span class="k">return</span> <span class="n">response</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getGridData"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGridData">[docs]</a> <span class="k">def</span> <span class="nf">getGridData</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">times</span><span class="p">):</span>
<span class="n">gridDataRequest</span> <span class="o">=</span> <span class="n">GetGridDataRequest</span><span class="p">()</span>
<span class="n">gridDataRequest</span><span class="o">.</span><span class="n">setIncludeLatLonData</span><span class="p">(</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lazyLoadGridLatLon</span><span class="p">)</span>
<span class="n">gridDataRequest</span><span class="o">.</span><span class="n">setRequestParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="c1"># if we have an iterable times instance, then the user must have asked</span>
<span class="c1"># for grid data with the List of DataTime objects</span>
<span class="c1"># else, we assume it was a single TimeRange that was meant for the</span>
<span class="c1"># request</span>
<span class="k">try</span><span class="p">:</span>
<span class="nb">iter</span><span class="p">(</span><span class="n">times</span><span class="p">)</span>
<span class="n">gridDataRequest</span><span class="o">.</span><span class="n">setRequestedTimes</span><span class="p">(</span><span class="n">times</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
<span class="n">gridDataRequest</span><span class="o">.</span><span class="n">setRequestedPeriod</span><span class="p">(</span><span class="n">times</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">gridDataRequest</span><span class="p">)</span>
<span class="n">locSpecificData</span> <span class="o">=</span> <span class="p">{}</span>
<span class="n">locNames</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">getSiteNxValues</span><span class="p">()</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
<span class="k">for</span> <span class="n">location</span> <span class="ow">in</span> <span class="n">locNames</span><span class="p">:</span>
<span class="n">nx</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">getSiteNxValues</span><span class="p">()[</span><span class="n">location</span><span class="p">]</span>
<span class="n">ny</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">getSiteNyValues</span><span class="p">()[</span><span class="n">location</span><span class="p">]</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lazyLoadGridLatLon</span><span class="p">:</span>
<span class="n">envelope</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">getSiteEnvelopes</span><span class="p">()[</span><span class="n">location</span><span class="p">]</span>
<span class="n">crsWkt</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">getSiteCrsWkt</span><span class="p">()[</span><span class="n">location</span><span class="p">]</span>
<span class="n">delegate</span> <span class="o">=</span> <span class="n">LazyGridLatLon</span><span class="p">(</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="p">,</span> <span class="n">nx</span><span class="p">,</span> <span class="n">ny</span><span class="p">,</span> <span class="n">envelope</span><span class="p">,</span> <span class="n">crsWkt</span><span class="p">)</span>
<span class="n">locSpecificData</span><span class="p">[</span><span class="n">location</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">nx</span><span class="p">,</span> <span class="n">ny</span><span class="p">,</span> <span class="n">delegate</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">latData</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
<span class="n">response</span><span class="o">.</span><span class="n">getSiteLatGrids</span><span class="p">()[</span><span class="n">location</span><span class="p">]),</span> <span class="p">(</span><span class="n">ny</span><span class="p">,</span> <span class="n">nx</span><span class="p">))</span>
<span class="n">lonData</span> <span class="o">=</span> <span class="n">numpy</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">numpy</span><span class="o">.</span><span class="n">array</span><span class="p">(</span>
<span class="n">response</span><span class="o">.</span><span class="n">getSiteLonGrids</span><span class="p">()[</span><span class="n">location</span><span class="p">]),</span> <span class="p">(</span><span class="n">ny</span><span class="p">,</span> <span class="n">nx</span><span class="p">))</span>
<span class="n">locSpecificData</span><span class="p">[</span><span class="n">location</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">nx</span><span class="p">,</span> <span class="n">ny</span><span class="p">,</span> <span class="p">(</span><span class="n">lonData</span><span class="p">,</span> <span class="n">latData</span><span class="p">))</span>
<span class="n">retVal</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">gridDataRecord</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">getGridData</span><span class="p">():</span>
<span class="n">locationName</span> <span class="o">=</span> <span class="n">gridDataRecord</span><span class="o">.</span><span class="n">getLocationName</span><span class="p">()</span>
<span class="n">locData</span> <span class="o">=</span> <span class="n">locSpecificData</span><span class="p">[</span><span class="n">locationName</span><span class="p">]</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_lazyLoadGridLatLon</span><span class="p">:</span>
<span class="n">retVal</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">PyGridData</span><span class="o">.</span><span class="n">PyGridData</span><span class="p">(</span><span class="n">gridDataRecord</span><span class="p">,</span> <span class="n">locData</span><span class="p">[</span>
<span class="mi">0</span><span class="p">],</span> <span class="n">locData</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">latLonDelegate</span><span class="o">=</span><span class="n">locData</span><span class="p">[</span><span class="mi">2</span><span class="p">]))</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">retVal</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">PyGridData</span><span class="o">.</span><span class="n">PyGridData</span><span class="p">(</span>
<span class="n">gridDataRecord</span><span class="p">,</span> <span class="n">locData</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">locData</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">locData</span><span class="p">[</span><span class="mi">2</span><span class="p">]))</span>
<span class="k">return</span> <span class="n">retVal</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getGeometryData"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGeometryData">[docs]</a> <span class="k">def</span> <span class="nf">getGeometryData</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">times</span><span class="p">):</span>
<span class="n">geoDataRequest</span> <span class="o">=</span> <span class="n">GetGeometryDataRequest</span><span class="p">()</span>
<span class="n">geoDataRequest</span><span class="o">.</span><span class="n">setRequestParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="c1"># if we have an iterable times instance, then the user must have asked</span>
<span class="c1"># for geometry data with the List of DataTime objects</span>
<span class="c1"># else, we assume it was a single TimeRange that was meant for the</span>
<span class="c1"># request</span>
<span class="k">try</span><span class="p">:</span>
<span class="nb">iter</span><span class="p">(</span><span class="n">times</span><span class="p">)</span>
<span class="n">geoDataRequest</span><span class="o">.</span><span class="n">setRequestedTimes</span><span class="p">(</span><span class="n">times</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
<span class="n">geoDataRequest</span><span class="o">.</span><span class="n">setRequestedPeriod</span><span class="p">(</span><span class="n">times</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">geoDataRequest</span><span class="p">)</span>
<span class="n">geometries</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">wkb</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">getGeometryWKBs</span><span class="p">():</span>
<span class="c1"># the wkb is a numpy.ndarray of dtype int8</span>
<span class="c1"># convert the bytearray to a byte string and load it</span>
<span class="n">geometries</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">shapely</span><span class="o">.</span><span class="n">wkb</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">wkb</span><span class="o">.</span><span class="n">tostring</span><span class="p">()))</span>
<span class="n">retVal</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">geoDataRecord</span> <span class="ow">in</span> <span class="n">response</span><span class="o">.</span><span class="n">getGeoData</span><span class="p">():</span>
<span class="n">geom</span> <span class="o">=</span> <span class="n">geometries</span><span class="p">[</span><span class="n">geoDataRecord</span><span class="o">.</span><span class="n">getGeometryWKBindex</span><span class="p">()]</span>
<span class="n">retVal</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">PyGeometryData</span><span class="o">.</span><span class="n">PyGeometryData</span><span class="p">(</span><span class="n">geoDataRecord</span><span class="p">,</span> <span class="n">geom</span><span class="p">))</span>
<span class="k">return</span> <span class="n">retVal</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getAvailableLocationNames"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLocationNames">[docs]</a> <span class="k">def</span> <span class="nf">getAvailableLocationNames</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
<span class="n">locNamesRequest</span> <span class="o">=</span> <span class="n">GetAvailableLocationNamesRequest</span><span class="p">()</span>
<span class="n">locNamesRequest</span><span class="o">.</span><span class="n">setRequestParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">locNamesRequest</span><span class="p">)</span>
<span class="k">return</span> <span class="n">response</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getAvailableParameters"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableParameters">[docs]</a> <span class="k">def</span> <span class="nf">getAvailableParameters</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
<span class="n">paramReq</span> <span class="o">=</span> <span class="n">GetAvailableParametersRequest</span><span class="p">()</span>
<span class="n">paramReq</span><span class="o">.</span><span class="n">setRequestParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">paramReq</span><span class="p">)</span>
<span class="k">return</span> <span class="n">response</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getAvailableLevels"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLevels">[docs]</a> <span class="k">def</span> <span class="nf">getAvailableLevels</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
<span class="n">levelReq</span> <span class="o">=</span> <span class="n">GetAvailableLevelsRequest</span><span class="p">()</span>
<span class="n">levelReq</span><span class="o">.</span><span class="n">setRequestParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">levelReq</span><span class="p">)</span>
<span class="k">return</span> <span class="n">response</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getRequiredIdentifiers"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getRequiredIdentifiers">[docs]</a> <span class="k">def</span> <span class="nf">getRequiredIdentifiers</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
<span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">request</span><span class="p">)</span> <span class="o">==</span> <span class="n">request</span><span class="p">:</span>
<span class="c1"># Handle old version getRequiredIdentifiers(str)</span>
<span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">idReq</span> <span class="o">=</span> <span class="n">GetRequiredIdentifiersRequest</span><span class="p">()</span>
<span class="n">idReq</span><span class="o">.</span><span class="n">setRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">idReq</span><span class="p">)</span>
<span class="k">return</span> <span class="n">response</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getOptionalIdentifiers"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getOptionalIdentifiers">[docs]</a> <span class="k">def</span> <span class="nf">getOptionalIdentifiers</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
<span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">request</span><span class="p">)</span> <span class="o">==</span> <span class="n">request</span><span class="p">:</span>
<span class="c1"># Handle old version getOptionalIdentifiers(str)</span>
<span class="n">request</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">idReq</span> <span class="o">=</span> <span class="n">GetOptionalIdentifiersRequest</span><span class="p">()</span>
<span class="n">idReq</span><span class="o">.</span><span class="n">setRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">idReq</span><span class="p">)</span>
<span class="k">return</span> <span class="n">response</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getIdentifierValues"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getIdentifierValues">[docs]</a> <span class="k">def</span> <span class="nf">getIdentifierValues</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="n">identifierKey</span><span class="p">):</span>
<span class="n">idValReq</span> <span class="o">=</span> <span class="n">GetIdentifierValuesRequest</span><span class="p">()</span>
<span class="n">idValReq</span><span class="o">.</span><span class="n">setIdentifierKey</span><span class="p">(</span><span class="n">identifierKey</span><span class="p">)</span>
<span class="n">idValReq</span><span class="o">.</span><span class="n">setRequestParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">idValReq</span><span class="p">)</span>
<span class="k">return</span> <span class="n">response</span></div>
<div class="viewcode-block" id="ThriftClientRouter.newDataRequest"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.newDataRequest">[docs]</a> <span class="k">def</span> <span class="nf">newDataRequest</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">datatype</span><span class="p">,</span> <span class="n">parameters</span><span class="o">=</span><span class="p">[],</span> <span class="n">levels</span><span class="o">=</span><span class="p">[],</span> <span class="n">locationNames</span><span class="o">=</span><span class="p">[],</span> <span class="n">envelope</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
<span class="n">req</span> <span class="o">=</span> <span class="n">DefaultDataRequest</span><span class="p">()</span>
<span class="k">if</span> <span class="n">datatype</span><span class="p">:</span>
<span class="n">req</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="n">datatype</span><span class="p">)</span>
<span class="k">if</span> <span class="n">parameters</span><span class="p">:</span>
<span class="n">req</span><span class="o">.</span><span class="n">setParameters</span><span class="p">(</span><span class="o">*</span><span class="n">parameters</span><span class="p">)</span>
<span class="k">if</span> <span class="n">levels</span><span class="p">:</span>
<span class="n">req</span><span class="o">.</span><span class="n">setLevels</span><span class="p">(</span><span class="o">*</span><span class="n">levels</span><span class="p">)</span>
<span class="k">if</span> <span class="n">locationNames</span><span class="p">:</span>
<span class="n">req</span><span class="o">.</span><span class="n">setLocationNames</span><span class="p">(</span><span class="o">*</span><span class="n">locationNames</span><span class="p">)</span>
<span class="k">if</span> <span class="n">envelope</span><span class="p">:</span>
<span class="n">req</span><span class="o">.</span><span class="n">setEnvelope</span><span class="p">(</span><span class="n">envelope</span><span class="p">)</span>
<span class="k">if</span> <span class="n">kwargs</span><span class="p">:</span>
<span class="c1"># any args leftover are assumed to be identifiers</span>
<span class="n">req</span><span class="o">.</span><span class="n">identifiers</span> <span class="o">=</span> <span class="n">kwargs</span>
<span class="k">return</span> <span class="n">req</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getSupportedDatatypes"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getSupportedDatatypes">[docs]</a> <span class="k">def</span> <span class="nf">getSupportedDatatypes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">GetSupportedDatatypesRequest</span><span class="p">())</span>
<span class="k">return</span> <span class="n">response</span></div>
<div class="viewcode-block" id="ThriftClientRouter.getNotificationFilter"><a class="viewcode-back" href="../../../api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getNotificationFilter">[docs]</a> <span class="k">def</span> <span class="nf">getNotificationFilter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
<span class="n">notifReq</span> <span class="o">=</span> <span class="n">GetNotificationFilterRequest</span><span class="p">()</span>
<span class="n">notifReq</span><span class="o">.</span><span class="n">setRequestParameters</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">notifReq</span><span class="p">)</span>
<span class="k">return</span> <span class="n">response</span></div></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,283 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>awips.gfe.IFPClient &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../../../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item active">awips.gfe.IFPClient</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Source code for awips.gfe.IFPClient</h1><div class="highlight"><pre>
<span></span><span class="c1">##</span>
<span class="c1"># This software was developed and / or modified by Raytheon Company,</span>
<span class="c1"># pursuant to Contract DG133W-05-CQ-1067 with the US Government.</span>
<span class="c1"># </span>
<span class="c1"># U.S. EXPORT CONTROLLED TECHNICAL DATA</span>
<span class="c1"># This software product contains export-restricted data whose</span>
<span class="c1"># export/transfer/disclosure is restricted by U.S. law. Dissemination</span>
<span class="c1"># to non-U.S. persons whether in the United States or abroad requires</span>
<span class="c1"># an export license or other authorization.</span>
<span class="c1"># </span>
<span class="c1"># Contractor Name: Raytheon Company</span>
<span class="c1"># Contractor Address: 6825 Pine Street, Suite 340</span>
<span class="c1"># Mail Stop B8</span>
<span class="c1"># Omaha, NE 68106</span>
<span class="c1"># 402.291.0100</span>
<span class="c1"># </span>
<span class="c1"># See the AWIPS II Master Rights File (&quot;Master Rights File.pdf&quot;) for</span>
<span class="c1"># further licensing information.</span>
<span class="c1">##</span>
<span class="kn">from</span> <span class="nn">awips</span> <span class="kn">import</span> <span class="n">ThriftClient</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.db.objects</span> <span class="kn">import</span> <span class="n">DatabaseID</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.db.objects</span> <span class="kn">import</span> <span class="n">ParmID</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request</span> <span class="kn">import</span> <span class="n">CommitGridsRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request</span> <span class="kn">import</span> <span class="n">GetGridInventoryRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request</span> <span class="kn">import</span> <span class="n">GetParmListRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request</span> <span class="kn">import</span> <span class="n">GetSelectTimeRangeRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.server.request</span> <span class="kn">import</span> <span class="n">CommitGridRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.message</span> <span class="kn">import</span> <span class="n">WsId</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.site.requests</span> <span class="kn">import</span> <span class="n">GetActiveSitesRequest</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.server.message</span> <span class="kn">import</span> <span class="n">ServerResponse</span>
<span class="c1">#</span>
<span class="c1"># Provides a Python-based interface for executing GFE requests.</span>
<span class="c1"># </span>
<span class="c1">#</span>
<span class="c1"># </span>
<span class="c1"># SOFTWARE HISTORY</span>
<span class="c1"># </span>
<span class="c1"># Date Ticket# Engineer Description</span>
<span class="c1"># ------------ ---------- ----------- --------------------------</span>
<span class="c1"># 07/26/12 dgilling Initial Creation.</span>
<span class="c1"># 08/31/23 srcarter@ucar From MJ - replace type with isinstance</span>
<span class="c1"># </span>
<span class="c1">#</span>
<div class="viewcode-block" id="IFPClient"><a class="viewcode-back" href="../../../api/IFPClient.html#awips.gfe.IFPClient.IFPClient">[docs]</a><span class="k">class</span> <span class="nc">IFPClient</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">,</span> <span class="n">user</span><span class="p">,</span> <span class="n">site</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">progName</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__thrift</span> <span class="o">=</span> <span class="n">ThriftClient</span><span class="o">.</span><span class="n">ThriftClient</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">port</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__wsId</span> <span class="o">=</span> <span class="n">WsId</span><span class="p">(</span><span class="n">userName</span><span class="o">=</span><span class="n">user</span><span class="p">,</span> <span class="n">progName</span><span class="o">=</span><span class="n">progName</span><span class="p">)</span>
<span class="c1"># retrieve default site</span>
<span class="k">if</span> <span class="n">site</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">sr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">getSiteID</span><span class="p">()</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">())</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">site</span> <span class="o">=</span> <span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__siteId</span> <span class="o">=</span> <span class="n">site</span>
<div class="viewcode-block" id="IFPClient.commitGrid"><a class="viewcode-back" href="../../../api/IFPClient.html#awips.gfe.IFPClient.IFPClient.commitGrid">[docs]</a> <span class="k">def</span> <span class="nf">commitGrid</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">CommitGridRequest</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__commitGrid</span><span class="p">([</span><span class="n">request</span><span class="p">])</span>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">__isHomogenousIterable</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">CommitGridRequest</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__commitGrid</span><span class="p">([</span><span class="n">cgr</span> <span class="k">for</span> <span class="n">cgr</span> <span class="ow">in</span> <span class="n">request</span><span class="p">])</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;Invalid type: &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">request</span><span class="p">))</span> <span class="o">+</span> <span class="s2">&quot; specified to commitGrid(). Only accepts CommitGridRequest or lists of CommitGridRequest.&quot;</span><span class="p">)</span></div>
<span class="k">def</span> <span class="nf">__commitGrid</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">requests</span><span class="p">):</span>
<span class="n">ssr</span> <span class="o">=</span> <span class="n">ServerResponse</span><span class="p">()</span>
<span class="n">request</span> <span class="o">=</span> <span class="n">CommitGridsRequest</span><span class="p">()</span>
<span class="n">request</span><span class="o">.</span><span class="n">setCommits</span><span class="p">(</span><span class="n">requests</span><span class="p">)</span>
<span class="n">sr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__makeRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">ssr</span><span class="o">.</span><span class="n">setMessages</span><span class="p">(</span><span class="n">sr</span><span class="o">.</span><span class="n">getMessages</span><span class="p">())</span>
<span class="k">return</span> <span class="n">ssr</span>
<div class="viewcode-block" id="IFPClient.getParmList"><a class="viewcode-back" href="../../../api/IFPClient.html#awips.gfe.IFPClient.IFPClient.getParmList">[docs]</a> <span class="k">def</span> <span class="nf">getParmList</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">id</span><span class="p">):</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">argType</span><span class="p">,</span> <span class="n">DatabaseID</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__getParmList</span><span class="p">([</span><span class="nb">id</span><span class="p">])</span>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">__isHomogenousIterable</span><span class="p">(</span><span class="nb">id</span><span class="p">,</span> <span class="n">DatabaseID</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__getParmList</span><span class="p">([</span><span class="n">dbid</span> <span class="k">for</span> <span class="n">dbid</span> <span class="ow">in</span> <span class="nb">id</span><span class="p">])</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;Invalid type: &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">argType</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot; specified to getParmList(). Only accepts DatabaseID or lists of DatabaseID.&quot;</span><span class="p">)</span> </div>
<span class="k">def</span> <span class="nf">__getParmList</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ids</span><span class="p">):</span>
<span class="n">ssr</span> <span class="o">=</span> <span class="n">ServerResponse</span><span class="p">()</span>
<span class="n">request</span> <span class="o">=</span> <span class="n">GetParmListRequest</span><span class="p">()</span>
<span class="n">request</span><span class="o">.</span><span class="n">setDbIds</span><span class="p">(</span><span class="n">ids</span><span class="p">)</span>
<span class="n">sr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__makeRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">ssr</span><span class="o">.</span><span class="n">setMessages</span><span class="p">(</span><span class="n">sr</span><span class="o">.</span><span class="n">getMessages</span><span class="p">())</span>
<span class="nb">list</span> <span class="o">=</span> <span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">()</span> <span class="k">if</span> <span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">()</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="p">[]</span>
<span class="n">ssr</span><span class="o">.</span><span class="n">setPayload</span><span class="p">(</span><span class="nb">list</span><span class="p">)</span>
<span class="k">return</span> <span class="n">ssr</span>
<span class="k">def</span> <span class="nf">__isHomogenousIterable</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">iterable</span><span class="p">,</span> <span class="n">classType</span><span class="p">):</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">iterator</span> <span class="o">=</span> <span class="nb">iter</span><span class="p">(</span><span class="n">iterable</span><span class="p">)</span>
<span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">iterator</span><span class="p">:</span>
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">classType</span><span class="p">):</span>
<span class="k">return</span> <span class="kc">False</span>
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
<span class="k">return</span> <span class="kc">False</span>
<span class="k">return</span> <span class="kc">True</span>
<div class="viewcode-block" id="IFPClient.getGridInventory"><a class="viewcode-back" href="../../../api/IFPClient.html#awips.gfe.IFPClient.IFPClient.getGridInventory">[docs]</a> <span class="k">def</span> <span class="nf">getGridInventory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parmID</span><span class="p">):</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">parmID</span><span class="p">,</span> <span class="n">ParmID</span><span class="p">):</span>
<span class="n">sr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__getGridInventory</span><span class="p">([</span><span class="n">parmID</span><span class="p">])</span>
<span class="nb">list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">try</span><span class="p">:</span>
<span class="nb">list</span> <span class="o">=</span> <span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">()[</span><span class="n">parmID</span><span class="p">]</span>
<span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
<span class="c1"># no-op, we&#39;ve already default the TimeRange list to empty</span>
<span class="k">pass</span>
<span class="n">sr</span><span class="o">.</span><span class="n">setPayload</span><span class="p">(</span><span class="nb">list</span><span class="p">)</span>
<span class="k">return</span> <span class="n">sr</span>
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">__isHomogenousIterable</span><span class="p">(</span><span class="n">parmID</span><span class="p">,</span> <span class="n">ParmID</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__getGridInventory</span><span class="p">([</span><span class="nb">id</span> <span class="k">for</span> <span class="nb">id</span> <span class="ow">in</span> <span class="n">parmID</span><span class="p">])</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">&quot;Invalid type: &quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">parmID</span><span class="p">))</span> <span class="o">+</span> <span class="s2">&quot; specified to getGridInventory(). Only accepts ParmID or lists of ParmID.&quot;</span><span class="p">)</span></div>
<span class="k">def</span> <span class="nf">__getGridInventory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parmIDs</span><span class="p">):</span>
<span class="n">ssr</span> <span class="o">=</span> <span class="n">ServerResponse</span><span class="p">()</span>
<span class="n">request</span> <span class="o">=</span> <span class="n">GetGridInventoryRequest</span><span class="p">()</span>
<span class="n">request</span><span class="o">.</span><span class="n">setParmIds</span><span class="p">(</span><span class="n">parmIDs</span><span class="p">)</span>
<span class="n">sr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__makeRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">ssr</span><span class="o">.</span><span class="n">setMessages</span><span class="p">(</span><span class="n">sr</span><span class="o">.</span><span class="n">getMessages</span><span class="p">())</span>
<span class="n">trs</span> <span class="o">=</span> <span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">()</span> <span class="k">if</span> <span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">()</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="p">{}</span>
<span class="n">ssr</span><span class="o">.</span><span class="n">setPayload</span><span class="p">(</span><span class="n">trs</span><span class="p">)</span>
<span class="k">return</span> <span class="n">ssr</span>
<div class="viewcode-block" id="IFPClient.getSelectTR"><a class="viewcode-back" href="../../../api/IFPClient.html#awips.gfe.IFPClient.IFPClient.getSelectTR">[docs]</a> <span class="k">def</span> <span class="nf">getSelectTR</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
<span class="n">request</span> <span class="o">=</span> <span class="n">GetSelectTimeRangeRequest</span><span class="p">()</span>
<span class="n">request</span><span class="o">.</span><span class="n">setName</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
<span class="n">sr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__makeRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">ssr</span> <span class="o">=</span> <span class="n">ServerResponse</span><span class="p">()</span>
<span class="n">ssr</span><span class="o">.</span><span class="n">setMessages</span><span class="p">(</span><span class="n">sr</span><span class="o">.</span><span class="n">getMessages</span><span class="p">())</span>
<span class="n">ssr</span><span class="o">.</span><span class="n">setPayload</span><span class="p">(</span><span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">())</span>
<span class="k">return</span> <span class="n">ssr</span></div>
<div class="viewcode-block" id="IFPClient.getSiteID"><a class="viewcode-back" href="../../../api/IFPClient.html#awips.gfe.IFPClient.IFPClient.getSiteID">[docs]</a> <span class="k">def</span> <span class="nf">getSiteID</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">ssr</span> <span class="o">=</span> <span class="n">ServerResponse</span><span class="p">()</span>
<span class="n">request</span> <span class="o">=</span> <span class="n">GetActiveSitesRequest</span><span class="p">()</span>
<span class="n">sr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__makeRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="n">ssr</span><span class="o">.</span><span class="n">setMessages</span><span class="p">(</span><span class="n">sr</span><span class="o">.</span><span class="n">getMessages</span><span class="p">())</span>
<span class="n">ids</span> <span class="o">=</span> <span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">()</span> <span class="k">if</span> <span class="n">sr</span><span class="o">.</span><span class="n">getPayload</span><span class="p">()</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="p">[]</span>
<span class="n">sr</span><span class="o">.</span><span class="n">setPayload</span><span class="p">(</span><span class="n">ids</span><span class="p">)</span>
<span class="k">return</span> <span class="n">sr</span></div>
<span class="k">def</span> <span class="nf">__makeRequest</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">request</span><span class="o">.</span><span class="n">setSiteID</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__siteId</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
<span class="k">pass</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">request</span><span class="o">.</span><span class="n">setWorkstationID</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__wsId</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
<span class="k">pass</span>
<span class="n">sr</span> <span class="o">=</span> <span class="n">ServerResponse</span><span class="p">()</span>
<span class="n">response</span> <span class="o">=</span> <span class="kc">None</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__thrift</span><span class="o">.</span><span class="n">sendRequest</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
<span class="k">except</span> <span class="n">ThriftClient</span><span class="o">.</span><span class="n">ThriftRequestException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">sr</span><span class="o">.</span><span class="n">setMessages</span><span class="p">([</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)])</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">sr</span><span class="o">.</span><span class="n">setPayload</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">getPayload</span><span class="p">())</span>
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
<span class="n">sr</span><span class="o">.</span><span class="n">setPayload</span><span class="p">(</span><span class="n">response</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">sr</span><span class="o">.</span><span class="n">setMessages</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">getMessages</span><span class="p">())</span>
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
<span class="c1"># not a server response, nothing else to do</span>
<span class="k">pass</span>
<span class="k">return</span> <span class="n">sr</span></div>
</pre></div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,123 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview: module code &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="../examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="../about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Overview: module code</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>All modules for which code is available</h1>
<ul><li><a href="awips/DateTimeConverter.html">awips.DateTimeConverter</a></li>
<li><a href="awips/RadarCommon.html">awips.RadarCommon</a></li>
<li><a href="awips/ThriftClient.html">awips.ThriftClient</a></li>
<li><a href="awips/TimeUtil.html">awips.TimeUtil</a></li>
<li><a href="awips/dataaccess.html">awips.dataaccess</a></li>
<ul><li><a href="awips/dataaccess/CombinedTimeQuery.html">awips.dataaccess.CombinedTimeQuery</a></li>
<li><a href="awips/dataaccess/DataAccessLayer.html">awips.dataaccess.DataAccessLayer</a></li>
<li><a href="awips/dataaccess/ModelSounding.html">awips.dataaccess.ModelSounding</a></li>
<li><a href="awips/dataaccess/PyData.html">awips.dataaccess.PyData</a></li>
<li><a href="awips/dataaccess/PyGeometryData.html">awips.dataaccess.PyGeometryData</a></li>
<li><a href="awips/dataaccess/PyGridData.html">awips.dataaccess.PyGridData</a></li>
<li><a href="awips/dataaccess/ThriftClientRouter.html">awips.dataaccess.ThriftClientRouter</a></li>
</ul><li><a href="awips/gfe/IFPClient.html">awips.gfe.IFPClient</a></li>
</ul>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -54,7 +54,7 @@ visualization.
from awips.dataaccess import DataAccessLayer from awips.dataaccess import DataAccessLayer
from dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange from dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange
from datetime import datetime, timedelta from datetime import datetime, timedelta, UTC
import numpy as np import numpy as np
import cartopy.crs as ccrs import cartopy.crs as ccrs
import warnings import warnings
@ -95,7 +95,7 @@ just created.
.. code:: ipython3 .. code:: ipython3
# New obs request # New obs request
edexServer = "edex-cloud.unidata.ucar.edu" edexServer = "edex-beta.unidata.ucar.edu"
DataAccessLayer.changeEDEXHost(edexServer) DataAccessLayer.changeEDEXHost(edexServer)
request = DataAccessLayer.newDataRequest("obs", envelope=envelope) request = DataAccessLayer.newDataRequest("obs", envelope=envelope)
params = ["temperature", "longitude", "latitude", "stationName"] params = ["temperature", "longitude", "latitude", "stationName"]
@ -115,9 +115,9 @@ server to get our results, which are kept in the **obs** variable.
.. code:: ipython3 .. code:: ipython3
# Get records from the last 15 minutes # Get records from the last 15 minutes
lastHourDateTime = datetime.utcnow() - timedelta(minutes = 15) lastHourDateTime = datetime.now(UTC) - timedelta(minutes = 15)
start = lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S') start = lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S')
end = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S') end = datetime.now(UTC).strftime('%Y-%m-%d %H:%M:%S')
beginRange = datetime.strptime( start , "%Y-%m-%d %H:%M:%S") beginRange = datetime.strptime( start , "%Y-%m-%d %H:%M:%S")
endRange = datetime.strptime( end , "%Y-%m-%d %H:%M:%S") endRange = datetime.strptime( end , "%Y-%m-%d %H:%M:%S")

View file

@ -75,7 +75,7 @@ in meters), respectively.
.. code:: ipython3 .. code:: ipython3
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest() request = DataAccessLayer.newDataRequest()
request.setDatatype("grid") request.setDatatype("grid")
request.setLocationNames("RAP13") request.setLocationNames("RAP13")

View file

@ -88,7 +88,7 @@ numerous times throughout the notebook.
.. code:: ipython3 .. code:: ipython3
server = 'edex-cloud.unidata.ucar.edu' server = 'edex-beta.unidata.ucar.edu'
DataAccessLayer.changeEDEXHost(server) DataAccessLayer.changeEDEXHost(server)
`Top <https://unidata.github.io/python-awips/examples/generated/Forecast_Model_Vertical_Sounding.html>`__ `Top <https://unidata.github.io/python-awips/examples/generated/Forecast_Model_Vertical_Sounding.html>`__

View file

@ -87,7 +87,7 @@ and set the data type to **satellite**.
.. code:: ipython3 .. code:: ipython3
# Create an EDEX data request # Create an EDEX data request
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest() request = DataAccessLayer.newDataRequest()
request.setDatatype("satellite") request.setDatatype("satellite")
@ -265,7 +265,7 @@ whereever this notebook lives.
:: ::
outputDir = '/Users/scarter/test_dir/output/' outputDir = '/Users/awips/test_dir/output/'
.. code:: ipython3 .. code:: ipython3

View file

@ -70,7 +70,7 @@ that EDEX
.. code:: ipython3 .. code:: ipython3
# Unidata's cloud EDEX instance is used in this example # Unidata's cloud EDEX instance is used in this example
edex_url = "edex-cloud.unidata.ucar.edu" edex_url = "edex-beta.unidata.ucar.edu"
DataAccessLayer.changeEDEXHost(edex_url) DataAccessLayer.changeEDEXHost(edex_url)
`Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__ `Top <https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html>`__

View file

@ -61,7 +61,7 @@ subsequent imports are for data manipulation and visualization.
from awips.dataaccess import DataAccessLayer from awips.dataaccess import DataAccessLayer
from dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange from dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange
from datetime import datetime, timedelta from datetime import datetime, timedelta, UTC
import numpy as np import numpy as np
import cartopy.crs as ccrs import cartopy.crs as ccrs
import cartopy.feature as cfeature import cartopy.feature as cfeature
@ -118,7 +118,7 @@ request object.
.. code:: ipython3 .. code:: ipython3
# EDEX Request # EDEX Request
edexServer = "edex-cloud.unidata.ucar.edu" edexServer = "edex-beta.unidata.ucar.edu"
DataAccessLayer.changeEDEXHost(edexServer) DataAccessLayer.changeEDEXHost(edexServer)
request = DataAccessLayer.newDataRequest("obs") request = DataAccessLayer.newDataRequest("obs")
@ -171,7 +171,7 @@ take to run.
.. code:: ipython3 .. code:: ipython3
# Time range # Time range
lastHourDateTime = datetime.utcnow() - timedelta(hours = 1) lastHourDateTime = datetime.now(UTC) - timedelta(hours = 1)
start = lastHourDateTime.strftime('%Y-%m-%d %H') start = lastHourDateTime.strftime('%Y-%m-%d %H')
beginRange = datetime.strptime( start + ":00:00", "%Y-%m-%d %H:%M:%S") beginRange = datetime.strptime( start + ":00:00", "%Y-%m-%d %H:%M:%S")
endRange = datetime.strptime( start + ":59:59", "%Y-%m-%d %H:%M:%S") endRange = datetime.strptime( start + ":59:59", "%Y-%m-%d %H:%M:%S")
@ -367,7 +367,7 @@ Finally, we display the plot!
**datetime:** **datetime:**
- `datetime.datetime <https://docs.python.org/3/library/datetime.html#datetime-objects>`__ - `datetime.datetime <https://docs.python.org/3/library/datetime.html#datetime-objects>`__
- `datetime.utcnow() <https://docs.python.org/3/library/datetime.html?#datetime.datetime.utcnow>`__ - `datetime.now(UTC) <https://docs.python.org/3/library/datetime.html?#datetime.datetime.utcnow>`__
- `datetime.timedelta <https://docs.python.org/3/library/datetime.html#timedelta-objects>`__ - `datetime.timedelta <https://docs.python.org/3/library/datetime.html#timedelta-objects>`__
- `datetime.strftime() and - `datetime.strftime() and
datetime.strptime() <https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior>`__ datetime.strptime() <https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior>`__

View file

@ -61,7 +61,7 @@ visualization.
import numpy.ma as ma import numpy.ma as ma
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
from cartopy.feature import ShapelyFeature,NaturalEarthFeature from cartopy.feature import ShapelyFeature,NaturalEarthFeature
from shapely.ops import cascaded_union from shapely.ops import unary_union
`Top <https://unidata.github.io/python-awips/examples/generated/Map_Resources_and_Topography.html>`__ `Top <https://unidata.github.io/python-awips/examples/generated/Map_Resources_and_Topography.html>`__
@ -78,7 +78,7 @@ and set the data type to **maps**.
.. code:: ipython3 .. code:: ipython3
# Server, Data Request Type, and Database Table # Server, Data Request Type, and Database Table
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest('maps') request = DataAccessLayer.newDataRequest('maps')
`Top <https://unidata.github.io/python-awips/examples/generated/Map_Resources_and_Topography.html>`__ `Top <https://unidata.github.io/python-awips/examples/generated/Map_Resources_and_Topography.html>`__
@ -162,7 +162,7 @@ to refine our query to EDEX.
# All WFO counties merged to a single Polygon # All WFO counties merged to a single Polygon
merged_counties = cascaded_union(counties) merged_counties = unary_union(counties)
envelope = merged_counties.buffer(2) envelope = merged_counties.buffer(2)
boundaries=[merged_counties] boundaries=[merged_counties]

View file

@ -92,7 +92,7 @@ parameters and an identifier on the request.
.. code:: ipython3 .. code:: ipython3
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest("modelsounding") request = DataAccessLayer.newDataRequest("modelsounding")
forecastModel = "GFS" forecastModel = "GFS"
request.addIdentifier("reportType", forecastModel) request.addIdentifier("reportType", forecastModel)

View file

@ -72,7 +72,7 @@ numerous times throughout the notebook.
.. code:: ipython3 .. code:: ipython3
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest("radar") request = DataAccessLayer.newDataRequest("radar")
`Top <https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html>`__ `Top <https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html>`__

View file

@ -109,7 +109,7 @@ just created.
.. code:: ipython3 .. code:: ipython3
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest("grid", envelope=conus_envelope) request = DataAccessLayer.newDataRequest("grid", envelope=conus_envelope)
2.3 Refine the Request 2.3 Refine the Request

View file

@ -82,7 +82,7 @@ subsequent imports are for data manipulation and visualization.
from awips.dataaccess import DataAccessLayer from awips.dataaccess import DataAccessLayer
from dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange from dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange
from datetime import datetime, timedelta from datetime import datetime, timedelta, UTC
import numpy as np import numpy as np
import cartopy.crs as ccrs import cartopy.crs as ccrs
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
@ -265,7 +265,7 @@ First we establish a connection to Unidatas public EDEX server.
.. code:: ipython3 .. code:: ipython3
# EDEX connection # EDEX connection
edexServer = "edex-cloud.unidata.ucar.edu" edexServer = "edex-beta.unidata.ucar.edu"
DataAccessLayer.changeEDEXHost(edexServer) DataAccessLayer.changeEDEXHost(edexServer)
Maps Request and Response Maps Request and Response
@ -360,9 +360,9 @@ we can use it in both of their data requests to EDEX.
.. code:: ipython3 .. code:: ipython3
# Filter for the last hour # Filter for the last hour
lastHourDateTime = datetime.utcnow() - timedelta(minutes = 60) lastHourDateTime = datetime.now(UTC) - timedelta(minutes = 60)
start = lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S') start = lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S')
end = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S') end = datetime.now(UTC).strftime('%Y-%m-%d %H:%M:%S')
beginRange = datetime.strptime( start , "%Y-%m-%d %H:%M:%S") beginRange = datetime.strptime( start , "%Y-%m-%d %H:%M:%S")
endRange = datetime.strptime( end , "%Y-%m-%d %H:%M:%S") endRange = datetime.strptime( end , "%Y-%m-%d %H:%M:%S")
@ -648,7 +648,7 @@ Additional Documentation
**datetime:** **datetime:**
- `datetime.datetime <https://docs.python.org/3/library/datetime.html#datetime-objects>`__ - `datetime.datetime <https://docs.python.org/3/library/datetime.html#datetime-objects>`__
- `datetime.utcnow() <https://docs.python.org/3/library/datetime.html?#datetime.datetime.utcnow>`__ - `datetime.now(UTC) <https://docs.python.org/3/library/datetime.html?#datetime.datetime.utcnow>`__
- `datetime.timedelta <https://docs.python.org/3/library/datetime.html#timedelta-objects>`__ - `datetime.timedelta <https://docs.python.org/3/library/datetime.html#timedelta-objects>`__
- `datetime.strftime() and - `datetime.strftime() and
datetime.strptime() <https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior>`__ datetime.strptime() <https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior>`__

View file

@ -62,7 +62,9 @@ visualization.
import cartopy.feature as cfeat import cartopy.feature as cfeat
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import datetime from datetime import datetime, UTC
from pytz import timezone as tz
`Top <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__ `Top <https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html>`__
@ -79,7 +81,7 @@ and set the data type to **satellite**.
.. code:: ipython3 .. code:: ipython3
# Create an EDEX data request # Create an EDEX data request
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest() request = DataAccessLayer.newDataRequest()
request.setDatatype("satellite") request.setDatatype("satellite")
@ -893,9 +895,11 @@ about the data (metadata).
request.setParameters("CH-13-10.35um") request.setParameters("CH-13-10.35um")
# Filter results by time # Filter results by time
utc = datetime.datetime.utcnow() utc = datetime.now(UTC)
times = DataAccessLayer.getAvailableTimes(request) times = DataAccessLayer.getAvailableTimes(request)
hourdiff = utc - datetime.datetime.strptime(str(times[-1]),'%Y-%m-%d %H:%M:%S') sTime = datetime.strptime(str(times[-1]),'%Y-%m-%d %H:%M:%S')
sTime = sTime.replace(tzinfo=tz('UTC'))
hourdiff = utc - sTime
hours,days = hourdiff.seconds/3600,hourdiff.days hours,days = hourdiff.seconds/3600,hourdiff.days
minute = str((hourdiff.seconds - (3600 * hours)) / 60) minute = str((hourdiff.seconds - (3600 * hours)) / 60)
offsetStr = '' offsetStr = ''

View file

@ -94,7 +94,7 @@ and an identifier on the request.
.. code:: ipython3 .. code:: ipython3
# Set the edex server # Set the edex server
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest() request = DataAccessLayer.newDataRequest()
# Set data type # Set data type

View file

@ -71,7 +71,7 @@ manipulation and visualization.
.. code:: ipython3 .. code:: ipython3
from datetime import datetime, timedelta from datetime import datetime, timedelta, UTC
import numpy as np import numpy as np
import matplotlib.patches as mpatches import matplotlib.patches as mpatches
@ -168,7 +168,7 @@ and set the data type to **warning**, and set the Parameters to
.. code:: ipython3 .. code:: ipython3
DataAccessLayer.changeEDEXHost("edex-cloud.unidata.ucar.edu") DataAccessLayer.changeEDEXHost("edex-beta.unidata.ucar.edu")
request = DataAccessLayer.newDataRequest() request = DataAccessLayer.newDataRequest()
request.setDatatype("warning") request.setDatatype("warning")
params = ["phensig", "sig"] params = ["phensig", "sig"]
@ -211,9 +211,9 @@ will take to run.
.. code:: ipython3 .. code:: ipython3
# Get records from the last 12 hours # Get records from the last 12 hours
lastHourDateTime = datetime.utcnow() - timedelta(hours = 12) lastHourDateTime = datetime.now(UTC) - timedelta(hours = 12)
start = lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S') start = lastHourDateTime.strftime('%Y-%m-%d %H:%M:%S')
end = datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S') end = datetime.now(UTC).strftime('%Y-%m-%d %H:%M:%S')
beginRange = datetime.strptime( start , "%Y-%m-%d %H:%M:%S") beginRange = datetime.strptime( start , "%Y-%m-%d %H:%M:%S")
endRange = datetime.strptime( end , "%Y-%m-%d %H:%M:%S") endRange = datetime.strptime( end , "%Y-%m-%d %H:%M:%S")
@ -335,7 +335,7 @@ phensig.
# set the geometries based on whether it's a MultiPolygon or Polygon # set the geometries based on whether it's a MultiPolygon or Polygon
if poly.geom_type == 'MultiPolygon': if poly.geom_type == 'MultiPolygon':
geometries = np.array([]) geometries = np.array([])
geometries = np.append(geometries,MultiPolygon(poly)) geometries = np.append(geometries,MultiPolygon(poly).geoms)
else: else:
geometries = np.array([]) geometries = np.array([])
geometries = np.append(geometries,Polygon(poly)) geometries = np.append(geometries,Polygon(poly))

View file

@ -14,7 +14,7 @@ Pre-requisite Software
In order to effictively use python-awips you'll need to have these installed already: In order to effictively use python-awips you'll need to have these installed already:
- python3 - python3
- conda - micromamba (or conda)
- git *(for the source code and examples installation)* - git *(for the source code and examples installation)*
Package-Only Install Package-Only Install
@ -31,12 +31,12 @@ Pip Install
pip install python-awips pip install python-awips
Conda Install Micromamba (conda) Install
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
:: ::
conda install -c conda-forge python-awips micromamba install -c conda-forge python-awips
@ -49,9 +49,9 @@ Below are instructions on how to install the source code of python-awips, with a
git clone https://github.com/Unidata/python-awips.git git clone https://github.com/Unidata/python-awips.git
cd python-awips cd python-awips
conda env create -f environment.yml micromamba env create -f environment.yml
conda activate python3-awips micromamba activate python-awips
python setup.py install --force pip install .
jupyter notebook examples jupyter notebook examples

View file

@ -1 +1 @@
.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} .clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions .rst-other-versions .rtd-current-item{font-weight:700}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}#flyout-search-form{padding:6px}

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,4 +0,0 @@
/**
* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);

View file

@ -1,4 +0,0 @@
/**
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);

228
_static/js/versions.js Normal file
View file

@ -0,0 +1,228 @@
const themeFlyoutDisplay = "hidden";
const themeVersionSelector = true;
const themeLanguageSelector = true;
if (themeFlyoutDisplay === "attached") {
function renderLanguages(config) {
if (!config.projects.translations.length) {
return "";
}
// Insert the current language to the options on the selector
let languages = config.projects.translations.concat(config.projects.current);
languages = languages.sort((a, b) => a.language.name.localeCompare(b.language.name));
const languagesHTML = `
<dl>
<dt>Languages</dt>
${languages
.map(
(translation) => `
<dd ${translation.slug == config.projects.current.slug ? 'class="rtd-current-item"' : ""}>
<a href="${translation.urls.documentation}">${translation.language.code}</a>
</dd>
`,
)
.join("\n")}
</dl>
`;
return languagesHTML;
}
function renderVersions(config) {
if (!config.versions.active.length) {
return "";
}
const versionsHTML = `
<dl>
<dt>Versions</dt>
${config.versions.active
.map(
(version) => `
<dd ${version.slug === config.versions.current.slug ? 'class="rtd-current-item"' : ""}>
<a href="${version.urls.documentation}">${version.slug}</a>
</dd>
`,
)
.join("\n")}
</dl>
`;
return versionsHTML;
}
function renderDownloads(config) {
if (!Object.keys(config.versions.current.downloads).length) {
return "";
}
const downloadsNameDisplay = {
pdf: "PDF",
epub: "Epub",
htmlzip: "HTML",
};
const downloadsHTML = `
<dl>
<dt>Downloads</dt>
${Object.entries(config.versions.current.downloads)
.map(
([name, url]) => `
<dd>
<a href="${url}">${downloadsNameDisplay[name]}</a>
</dd>
`,
)
.join("\n")}
</dl>
`;
return downloadsHTML;
}
document.addEventListener("readthedocs-addons-data-ready", function (event) {
const config = event.detail.data();
const flyout = `
<div class="rst-versions" data-toggle="rst-versions" role="note">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Read the Docs</span>
v: ${config.versions.current.slug}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<div class="injected">
${renderLanguages(config)}
${renderVersions(config)}
${renderDownloads(config)}
<dl>
<dt>On Read the Docs</dt>
<dd>
<a href="${config.projects.current.urls.home}">Project Home</a>
</dd>
<dd>
<a href="${config.projects.current.urls.builds}">Builds</a>
</dd>
<dd>
<a href="${config.projects.current.urls.downloads}">Downloads</a>
</dd>
</dl>
<dl>
<dt>Search</dt>
<dd>
<form id="flyout-search-form">
<input
class="wy-form"
type="text"
name="q"
aria-label="Search docs"
placeholder="Search docs"
/>
</form>
</dd>
</dl>
<hr />
<small>
<span>Hosted by <a href="https://about.readthedocs.org/?utm_source=&utm_content=flyout">Read the Docs</a></span>
</small>
</div>
</div>
`;
// Inject the generated flyout into the body HTML element.
document.body.insertAdjacentHTML("beforeend", flyout);
// Trigger the Read the Docs Addons Search modal when clicking on the "Search docs" input from inside the flyout.
document
.querySelector("#flyout-search-form")
.addEventListener("focusin", () => {
const event = new CustomEvent("readthedocs-search-show");
document.dispatchEvent(event);
});
})
}
if (themeLanguageSelector || themeVersionSelector) {
function onSelectorSwitch(event) {
const option = event.target.selectedIndex;
const item = event.target.options[option];
window.location.href = item.dataset.url;
}
document.addEventListener("readthedocs-addons-data-ready", function (event) {
const config = event.detail.data();
const versionSwitch = document.querySelector(
"div.switch-menus > div.version-switch",
);
if (themeVersionSelector) {
let versions = config.versions.active;
if (config.versions.current.hidden || config.versions.current.type === "external") {
versions.unshift(config.versions.current);
}
const versionSelect = `
<select>
${versions
.map(
(version) => `
<option
value="${version.slug}"
${config.versions.current.slug === version.slug ? 'selected="selected"' : ""}
data-url="${version.urls.documentation}">
${version.slug}
</option>`,
)
.join("\n")}
</select>
`;
versionSwitch.innerHTML = versionSelect;
versionSwitch.firstElementChild.addEventListener("change", onSelectorSwitch);
}
const languageSwitch = document.querySelector(
"div.switch-menus > div.language-switch",
);
if (themeLanguageSelector) {
if (config.projects.translations.length) {
// Add the current language to the options on the selector
let languages = config.projects.translations.concat(
config.projects.current,
);
languages = languages.sort((a, b) =>
a.language.name.localeCompare(b.language.name),
);
const languageSelect = `
<select>
${languages
.map(
(language) => `
<option
value="${language.language.code}"
${config.projects.current.slug === language.slug ? 'selected="selected"' : ""}
data-url="${language.urls.documentation}">
${language.language.name}
</option>`,
)
.join("\n")}
</select>
`;
languageSwitch.innerHTML = languageSelect;
languageSwitch.firstElementChild.addEventListener("change", onSelectorSwitch);
}
else {
languageSwitch.remove();
}
}
});
}
document.addEventListener("readthedocs-addons-data-ready", function (event) {
// Trigger the Read the Docs Addons Search modal when clicking on "Search docs" input from the topnav.
document
.querySelector("[role='search'] input")
.addEventListener("focusin", () => {
const event = new CustomEvent("readthedocs-search-show");
document.dispatchEvent(event);
});
});

View file

@ -6,26 +6,26 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
.highlight .hll { background-color: #ffffcc } .highlight .hll { background-color: #ffffcc }
.highlight { background: #eeffcc; } .highlight { background: #eeffcc; }
.highlight .c { color: #408090; font-style: italic } /* Comment */ .highlight .c { color: #408090; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */ .highlight .err { border: 1px solid #F00 } /* Error */
.highlight .k { color: #007020; font-weight: bold } /* Keyword */ .highlight .k { color: #007020; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */ .highlight .o { color: #666 } /* Operator */
.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ .highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ .highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #007020 } /* Comment.Preproc */ .highlight .cp { color: #007020 } /* Comment.Preproc */
.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ .highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ .highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ .highlight .cs { color: #408090; background-color: #FFF0F0 } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */ .highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #FF0000 } /* Generic.Error */ .highlight .gr { color: #F00 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */ .highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #333333 } /* Generic.Output */ .highlight .go { color: #333 } /* Generic.Output */
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ .highlight .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */ .highlight .gt { color: #04D } /* Generic.Traceback */
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ .highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ .highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ .highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
@ -33,43 +33,43 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ .highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #902000 } /* Keyword.Type */ .highlight .kt { color: #902000 } /* Keyword.Type */
.highlight .m { color: #208050 } /* Literal.Number */ .highlight .m { color: #208050 } /* Literal.Number */
.highlight .s { color: #4070a0 } /* Literal.String */ .highlight .s { color: #4070A0 } /* Literal.String */
.highlight .na { color: #4070a0 } /* Name.Attribute */ .highlight .na { color: #4070A0 } /* Name.Attribute */
.highlight .nb { color: #007020 } /* Name.Builtin */ .highlight .nb { color: #007020 } /* Name.Builtin */
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ .highlight .nc { color: #0E84B5; font-weight: bold } /* Name.Class */
.highlight .no { color: #60add5 } /* Name.Constant */ .highlight .no { color: #60ADD5 } /* Name.Constant */
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ .highlight .nd { color: #555; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ .highlight .ni { color: #D55537; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #007020 } /* Name.Exception */ .highlight .ne { color: #007020 } /* Name.Exception */
.highlight .nf { color: #06287e } /* Name.Function */ .highlight .nf { color: #06287E } /* Name.Function */
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ .highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ .highlight .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ .highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #bb60d5 } /* Name.Variable */ .highlight .nv { color: #BB60D5 } /* Name.Variable */
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ .highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .w { color: #BBB } /* Text.Whitespace */
.highlight .mb { color: #208050 } /* Literal.Number.Bin */ .highlight .mb { color: #208050 } /* Literal.Number.Bin */
.highlight .mf { color: #208050 } /* Literal.Number.Float */ .highlight .mf { color: #208050 } /* Literal.Number.Float */
.highlight .mh { color: #208050 } /* Literal.Number.Hex */ .highlight .mh { color: #208050 } /* Literal.Number.Hex */
.highlight .mi { color: #208050 } /* Literal.Number.Integer */ .highlight .mi { color: #208050 } /* Literal.Number.Integer */
.highlight .mo { color: #208050 } /* Literal.Number.Oct */ .highlight .mo { color: #208050 } /* Literal.Number.Oct */
.highlight .sa { color: #4070a0 } /* Literal.String.Affix */ .highlight .sa { color: #4070A0 } /* Literal.String.Affix */
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ .highlight .sb { color: #4070A0 } /* Literal.String.Backtick */
.highlight .sc { color: #4070a0 } /* Literal.String.Char */ .highlight .sc { color: #4070A0 } /* Literal.String.Char */
.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */ .highlight .dl { color: #4070A0 } /* Literal.String.Delimiter */
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ .highlight .sd { color: #4070A0; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ .highlight .s2 { color: #4070A0 } /* Literal.String.Double */
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ .highlight .se { color: #4070A0; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ .highlight .sh { color: #4070A0 } /* Literal.String.Heredoc */
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ .highlight .si { color: #70A0D0; font-style: italic } /* Literal.String.Interpol */
.highlight .sx { color: #c65d09 } /* Literal.String.Other */ .highlight .sx { color: #C65D09 } /* Literal.String.Other */
.highlight .sr { color: #235388 } /* Literal.String.Regex */ .highlight .sr { color: #235388 } /* Literal.String.Regex */
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ .highlight .s1 { color: #4070A0 } /* Literal.String.Single */
.highlight .ss { color: #517918 } /* Literal.String.Symbol */ .highlight .ss { color: #517918 } /* Literal.String.Symbol */
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ .highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #06287e } /* Name.Function.Magic */ .highlight .fm { color: #06287E } /* Name.Function.Magic */
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ .highlight .vc { color: #BB60D5 } /* Name.Variable.Class */
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ .highlight .vg { color: #BB60D5 } /* Name.Variable.Global */
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ .highlight .vi { color: #BB60D5 } /* Name.Variable.Instance */
.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */ .highlight .vm { color: #BB60D5 } /* Name.Variable.Magic */
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ .highlight .il { color: #208050 } /* Literal.Number.Integer.Long */

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>About Unidata AWIPS &mdash; python-awips documentation</title> <title>About Unidata AWIPS &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/js/html5shiv.min.js"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="_static/sphinx_highlight.js?v=4825356b"></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>
<script src="_static/js/theme.js"></script> <script src="_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="#" /> <link rel="author" title="About these documents" href="#" />
<link rel="index" title="Index" href="genindex.html" /> <link rel="index" title="Index" href="genindex.html" />
@ -36,9 +34,6 @@
<a href="index.html" class="icon icon-home"> <a href="index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -264,7 +259,7 @@ process that coordinates logging. PyPIES is started and stopped by
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>CombinedTimeQuery &mdash; python-awips documentation</title> <title>CombinedTimeQuery &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -62,10 +57,7 @@
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li> <li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li>
<li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li> <li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li> <li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">CombinedTimeQuery</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">CombinedTimeQuery</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.CombinedTimeQuery.getAvailableTimes"><code class="docutils literal notranslate"><span class="pre">getAvailableTimes()</span></code></a></li>
</ul>
</li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="../datatypes.html">Available Data Types</a></li> <li class="toctree-l1"><a class="reference internal" href="../datatypes.html">Available Data Types</a></li>
@ -100,13 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.dataaccess.CombinedTimeQuery"> <section id="combinedtimequery">
<span id="combinedtimequery"></span><h1>CombinedTimeQuery<a class="headerlink" href="#module-awips.dataaccess.CombinedTimeQuery" title="Permalink to this heading"></a></h1> <h1>CombinedTimeQuery<a class="headerlink" href="#combinedtimequery" title="Permalink to this heading"></a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.CombinedTimeQuery.getAvailableTimes">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.CombinedTimeQuery.</span></span><span class="sig-name descname"><span class="pre">getAvailableTimes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refTimeOnly</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/CombinedTimeQuery.html#getAvailableTimes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.CombinedTimeQuery.getAvailableTimes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section> </section>
@ -120,7 +107,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>DataAccessLayer &mdash; python-awips documentation</title> <title>DataAccessLayer &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -50,27 +45,7 @@
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current"> <ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API Documentation</a><ul class="current"> <li class="toctree-l1 current"><a class="reference internal" href="index.html">API Documentation</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">DataAccessLayer</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">DataAccessLayer</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.changeEDEXHost"><code class="docutils literal notranslate"><span class="pre">changeEDEXHost()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getAvailableLevels"><code class="docutils literal notranslate"><span class="pre">getAvailableLevels()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getAvailableLocationNames"><code class="docutils literal notranslate"><span class="pre">getAvailableLocationNames()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getAvailableParameters"><code class="docutils literal notranslate"><span class="pre">getAvailableParameters()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getAvailableTimes"><code class="docutils literal notranslate"><span class="pre">getAvailableTimes()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getForecastRun"><code class="docutils literal notranslate"><span class="pre">getForecastRun()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getGeometryData"><code class="docutils literal notranslate"><span class="pre">getGeometryData()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getGridData"><code class="docutils literal notranslate"><span class="pre">getGridData()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getIdentifierValues"><code class="docutils literal notranslate"><span class="pre">getIdentifierValues()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getMetarObs"><code class="docutils literal notranslate"><span class="pre">getMetarObs()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getOptionalIdentifiers"><code class="docutils literal notranslate"><span class="pre">getOptionalIdentifiers()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getRadarProductIDs"><code class="docutils literal notranslate"><span class="pre">getRadarProductIDs()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getRadarProductNames"><code class="docutils literal notranslate"><span class="pre">getRadarProductNames()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getRequiredIdentifiers"><code class="docutils literal notranslate"><span class="pre">getRequiredIdentifiers()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getSupportedDatatypes"><code class="docutils literal notranslate"><span class="pre">getSupportedDatatypes()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.getSynopticObs"><code class="docutils literal notranslate"><span class="pre">getSynopticObs()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.newDataRequest"><code class="docutils literal notranslate"><span class="pre">newDataRequest()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon"><code class="docutils literal notranslate"><span class="pre">setLazyLoadGridLatLon()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li> <li class="toctree-l2"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li>
@ -117,264 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.dataaccess.DataAccessLayer"> <section id="dataaccesslayer">
<span id="dataaccesslayer"></span><h1>DataAccessLayer<a class="headerlink" href="#module-awips.dataaccess.DataAccessLayer" title="Permalink to this heading"></a></h1> <h1>DataAccessLayer<a class="headerlink" href="#dataaccesslayer" title="Permalink to this heading"></a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.changeEDEXHost">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">changeEDEXHost</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">newHostName</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#changeEDEXHost"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.changeEDEXHost" title="Permalink to this definition"></a></dt>
<dd><p>Changes the EDEX host the Data Access Framework is communicating with. Only
works if using the native Python client implementation, otherwise, this
method will throw a TypeError.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>newHostName: the EDEX host to connect to</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getAvailableLevels">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getAvailableLevels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getAvailableLevels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getAvailableLevels" title="Permalink to this definition"></a></dt>
<dd><p>Gets the available levels that match the request without actually
requesting the data.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>request: the request to find matching levels for</p>
</dd>
<dt>Returns:</dt><dd><p>a list of strings of available levels.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getAvailableLocationNames">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getAvailableLocationNames</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getAvailableLocationNames"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getAvailableLocationNames" title="Permalink to this definition"></a></dt>
<dd><p>Gets the available location names that match the request without actually
requesting the data.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>request: the request to find matching location names for</p>
</dd>
<dt>Returns:</dt><dd><p>a list of strings of available location names.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getAvailableParameters">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getAvailableParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getAvailableParameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getAvailableParameters" title="Permalink to this definition"></a></dt>
<dd><p>Gets the available parameters names that match the request without actually
requesting the data.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>request: the request to find matching parameter names for</p>
</dd>
<dt>Returns:</dt><dd><p>a list of strings of available parameter names.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getAvailableTimes">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getAvailableTimes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refTimeOnly</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getAvailableTimes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getAvailableTimes" title="Permalink to this definition"></a></dt>
<dd><p>Get the times of available data to the request.</p>
<dl>
<dt>Args:</dt><dd><p>request: the IDataRequest to get data for
refTimeOnly: optional, use True if only unique refTimes should be</p>
<blockquote>
<div><p>returned (without a forecastHr)</p>
</div></blockquote>
</dd>
<dt>Returns:</dt><dd><p>a list of DataTimes</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getForecastRun">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getForecastRun</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cycle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">times</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getForecastRun"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getForecastRun" title="Permalink to this definition"></a></dt>
<dd><p>Get the latest forecast run (list of objects) from all
all cycles and times returned from DataAccessLayer “grid”
response.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>cycle: Forecast cycle reference time
times: All available times/cycles</p>
</dd>
<dt>Returns:</dt><dd><p>DataTime array for a single forecast run</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getGeometryData">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getGeometryData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">times</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getGeometryData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getGeometryData" title="Permalink to this definition"></a></dt>
<dd><p>Gets the geometry data that matches the request at the specified times.
Each combination of geometry, level, and dataTime will be returned as a
separate IGeometryData.</p>
<dl>
<dt>Args:</dt><dd><p>request: the IDataRequest to get data for
times: a list of DataTimes, a TimeRange, or None if the data is time</p>
<blockquote>
<div><p>agnostic</p>
</div></blockquote>
</dd>
<dt>Returns:</dt><dd><p>a list of IGeometryData</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getGridData">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getGridData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">times</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getGridData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getGridData" title="Permalink to this definition"></a></dt>
<dd><p>Gets the grid data that matches the request at the specified times. Each
combination of parameter, level, and dataTime will be returned as a
separate IGridData.</p>
<dl>
<dt>Args:</dt><dd><p>request: the IDataRequest to get data for
times: a list of DataTimes, a TimeRange, or None if the data is time</p>
<blockquote>
<div><p>agnostic</p>
</div></blockquote>
</dd>
<dt>Returns:</dt><dd><p>a list of IGridData</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getIdentifierValues">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getIdentifierValues</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">identifierKey</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getIdentifierValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getIdentifierValues" title="Permalink to this definition"></a></dt>
<dd><p>Gets the allowed values for a particular identifier on this datatype.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>request: the request to find identifier values for
identifierKey: the identifier to find values for</p>
</dd>
<dt>Returns:</dt><dd><p>a list of strings of allowed values for the specified identifier</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getMetarObs">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getMetarObs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getMetarObs"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getMetarObs" title="Permalink to this definition"></a></dt>
<dd><p>Processes a DataAccessLayer “obs” response into a dictionary,
with special consideration for multi-value parameters
“presWeather”, “skyCover”, and “skyLayerBase”.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>response: DAL getGeometry() list</p>
</dd>
<dt>Returns:</dt><dd><p>A dictionary of METAR obs</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getOptionalIdentifiers">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getOptionalIdentifiers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getOptionalIdentifiers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getOptionalIdentifiers" title="Permalink to this definition"></a></dt>
<dd><p>Gets the optional identifiers for this request.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>request: the request to find optional identifiers for</p>
</dd>
<dt>Returns:</dt><dd><p>a list of strings of optional identifiers</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getRadarProductIDs">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getRadarProductIDs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">availableParms</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getRadarProductIDs"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getRadarProductIDs" title="Permalink to this definition"></a></dt>
<dd><p>Get only the numeric idetifiers for NEXRAD3 products.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>availableParms: Full list of radar parameters</p>
</dd>
<dt>Returns:</dt><dd><p>List of filtered parameters</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getRadarProductNames">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getRadarProductNames</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">availableParms</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getRadarProductNames"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getRadarProductNames" title="Permalink to this definition"></a></dt>
<dd><blockquote>
<div><p>Get only the named idetifiers for NEXRAD3 products.</p>
</div></blockquote>
<dl class="simple">
<dt>Args:</dt><dd><p>availableParms: Full list of radar parameters</p>
</dd>
<dt>Returns:</dt><dd><p>List of filtered parameters</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getRequiredIdentifiers">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getRequiredIdentifiers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getRequiredIdentifiers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getRequiredIdentifiers" title="Permalink to this definition"></a></dt>
<dd><p>Gets the required identifiers for this request. These identifiers
must be set on a request for the request of this datatype to succeed.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>request: the request to find required identifiers for</p>
</dd>
<dt>Returns:</dt><dd><p>a list of strings of required identifiers</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getSupportedDatatypes">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getSupportedDatatypes</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getSupportedDatatypes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getSupportedDatatypes" title="Permalink to this definition"></a></dt>
<dd><p>Gets the datatypes that are supported by the framework</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a list of strings of supported datatypes</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.getSynopticObs">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">getSynopticObs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#getSynopticObs"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.getSynopticObs" title="Permalink to this definition"></a></dt>
<dd><p>Processes a DataAccessLayer “sfcobs” response into a dictionary
of available parameters.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>response: DAL getGeometry() list</p>
</dd>
<dt>Returns:</dt><dd><p>A dictionary of synop obs</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.newDataRequest">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">newDataRequest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">datatype</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#newDataRequest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.newDataRequest" title="Permalink to this definition"></a></dt>
<dd><p>Creates a new instance of IDataRequest suitable for the runtime environment.
All args are optional and exist solely for convenience.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>datatype: the datatype to create a request for
parameters: a list of parameters to set on the request
levels: a list of levels to set on the request
locationNames: a list of locationNames to set on the request
envelope: an envelope to limit the request
kwargs: any leftover kwargs will be set as identifiers</p>
</dd>
<dt>Returns:</dt><dd><p>a new IDataRequest</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.DataAccessLayer.</span></span><span class="sig-name descname"><span class="pre">setLazyLoadGridLatLon</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lazyLoadGridLatLon</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/DataAccessLayer.html#setLazyLoadGridLatLon"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon" title="Permalink to this definition"></a></dt>
<dd><p>Provide a hint to the Data Access Framework indicating whether to load the
lat/lon data for a grid immediately or wait until it is needed. This is
provided as a performance tuning hint and should not affect the way the
Data Access Framework is used. Depending on the internal implementation of
the Data Access Framework this hint might be ignored. Examples of when this
should be set to True are when the lat/lon information is not used or when
it is used only if certain conditions within the data are met. It could be
set to False if it is guaranteed that all lat/lon information is needed and
it would be better to get any performance overhead for generating the
lat/lon data out of the way during the initial request.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>lazyLoadGridLatLon: Boolean value indicating whether to lazy load.</p>
</dd>
</dl>
</dd></dl>
</section> </section>
@ -388,7 +107,7 @@ lat/lon data out of the way during the initial request.</p>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>DateTimeConverter &mdash; python-awips documentation</title> <title>DateTimeConverter &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -61,11 +56,7 @@
<li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li> <li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li> <li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li>
<li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li> <li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">DateTimeConverter</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">DateTimeConverter</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.DateTimeConverter.constructTimeRange"><code class="docutils literal notranslate"><span class="pre">constructTimeRange()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.DateTimeConverter.convertToDateTime"><code class="docutils literal notranslate"><span class="pre">convertToDateTime()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="CombinedTimeQuery.html">CombinedTimeQuery</a></li> <li class="toctree-l2"><a class="reference internal" href="CombinedTimeQuery.html">CombinedTimeQuery</a></li>
</ul> </ul>
</li> </li>
@ -101,41 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.DateTimeConverter"> <section id="datetimeconverter">
<span id="datetimeconverter"></span><h1>DateTimeConverter<a class="headerlink" href="#module-awips.DateTimeConverter" title="Permalink to this heading"></a></h1> <h1>DateTimeConverter<a class="headerlink" href="#datetimeconverter" title="Permalink to this heading"></a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="awips.DateTimeConverter.constructTimeRange">
<span class="sig-prename descclassname"><span class="pre">awips.DateTimeConverter.</span></span><span class="sig-name descname"><span class="pre">constructTimeRange</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/DateTimeConverter.html#constructTimeRange"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.DateTimeConverter.constructTimeRange" title="Permalink to this definition"></a></dt>
<dd><p>Builds a python dynamicserialize TimeRange object from the given
arguments.</p>
<dl class="simple">
<dt>Args:</dt><dd><dl class="simple">
<dt>args*: must be a TimeRange or a pair of objects that can be </dt><dd><p>converted to a datetime via convertToDateTime().</p>
</dd>
</dl>
</dd>
<dt>Returns:</dt><dd><p>A TimeRange.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.DateTimeConverter.convertToDateTime">
<span class="sig-prename descclassname"><span class="pre">awips.DateTimeConverter.</span></span><span class="sig-name descname"><span class="pre">convertToDateTime</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timeArg</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/DateTimeConverter.html#convertToDateTime"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.DateTimeConverter.convertToDateTime" title="Permalink to this definition"></a></dt>
<dd><p>Converts the given object to a python datetime object. Supports native
python representations like datetime and struct_time, but also
the dynamicserialize types like Date and Timestamp. Raises TypeError
if no conversion can be performed.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>timeArg: a python object representing a date and time. Supported
types include datetime, struct_time, float, int, long and the
dynamicserialize types Date and Timestamp.</p>
</dd>
<dt>Returns:</dt><dd><p>A datetime that represents the same date/time as the passed in object.</p>
</dd>
</dl>
</dd></dl>
</section> </section>
@ -149,7 +107,7 @@ dynamicserialize types Date and Timestamp.</p>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>IDataRequest (newDataRequest()) &mdash; python-awips documentation</title> <title>IDataRequest (newDataRequest()) &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -51,24 +46,7 @@
<ul class="current"> <ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API Documentation</a><ul class="current"> <li class="toctree-l1 current"><a class="reference internal" href="index.html">API Documentation</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html">DataAccessLayer</a></li> <li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html">DataAccessLayer</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">IDataRequest (newDataRequest())</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">IDataRequest (newDataRequest())</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.IDataRequest"><code class="docutils literal notranslate"><span class="pre">IDataRequest</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.__weakref__"><code class="docutils literal notranslate"><span class="pre">IDataRequest.__weakref__</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.addIdentifier"><code class="docutils literal notranslate"><span class="pre">IDataRequest.addIdentifier()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.getDatatype"><code class="docutils literal notranslate"><span class="pre">IDataRequest.getDatatype()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.getEnvelope"><code class="docutils literal notranslate"><span class="pre">IDataRequest.getEnvelope()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.getIdentifiers"><code class="docutils literal notranslate"><span class="pre">IDataRequest.getIdentifiers()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.getLevels"><code class="docutils literal notranslate"><span class="pre">IDataRequest.getLevels()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.getLocationNames"><code class="docutils literal notranslate"><span class="pre">IDataRequest.getLocationNames()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.setDatatype"><code class="docutils literal notranslate"><span class="pre">IDataRequest.setDatatype()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.setEnvelope"><code class="docutils literal notranslate"><span class="pre">IDataRequest.setEnvelope()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.setLevels"><code class="docutils literal notranslate"><span class="pre">IDataRequest.setLevels()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.setLocationNames"><code class="docutils literal notranslate"><span class="pre">IDataRequest.setLocationNames()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.IDataRequest.setParameters"><code class="docutils literal notranslate"><span class="pre">IDataRequest.setParameters()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li>
@ -116,132 +94,6 @@
<section id="idatarequest-newdatarequest"> <section id="idatarequest-newdatarequest">
<h1>IDataRequest (newDataRequest())<a class="headerlink" href="#idatarequest-newdatarequest" title="Permalink to this heading"></a></h1> <h1>IDataRequest (newDataRequest())<a class="headerlink" href="#idatarequest-newdatarequest" title="Permalink to this heading"></a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.dataaccess.</span></span><span class="sig-name descname"><span class="pre">IDataRequest</span></span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest" title="Permalink to this definition"></a></dt>
<dd><p>An IDataRequest to be submitted to the DataAccessLayer to retrieve data.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.__weakref__">
<span class="sig-name descname"><span class="pre">__weakref__</span></span><a class="headerlink" href="#awips.dataaccess.IDataRequest.__weakref__" title="Permalink to this definition"></a></dt>
<dd><p>list of weak references to the object (if defined)</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.addIdentifier">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">addIdentifier</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.addIdentifier"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.addIdentifier" title="Permalink to this definition"></a></dt>
<dd><p>Adds an identifier to the request. Identifiers are specific to the
datatype being requested.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>key: the string key of the identifier
value: the value of the identifier</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.getDatatype">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getDatatype</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.getDatatype"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.getDatatype" title="Permalink to this definition"></a></dt>
<dd><p>Gets the datatype of the request</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>the datatype set on the request</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.getEnvelope">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getEnvelope</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.getEnvelope"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.getEnvelope" title="Permalink to this definition"></a></dt>
<dd><p>Gets the envelope on the request</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a rectangular shapely geometry</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.getIdentifiers">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getIdentifiers</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.getIdentifiers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.getIdentifiers" title="Permalink to this definition"></a></dt>
<dd><p>Gets the identifiers on the request</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a dictionary of the identifiers</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.getLevels">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getLevels</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.getLevels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.getLevels" title="Permalink to this definition"></a></dt>
<dd><p>Gets the levels on the request</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a list of strings of the levels</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.getLocationNames">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">getLocationNames</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.getLocationNames"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.getLocationNames" title="Permalink to this definition"></a></dt>
<dd><p>Gets the location names on the request</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a list of strings of the location names</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.setDatatype">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setDatatype</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">datatype</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.setDatatype"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.setDatatype" title="Permalink to this definition"></a></dt>
<dd><p>Sets the datatype of the request.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>datatype: A string of the datatype, such as “grid”, “radar”, “gfe”, “obs”</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.setEnvelope">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setEnvelope</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.setEnvelope"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.setEnvelope" title="Permalink to this definition"></a></dt>
<dd><p>Sets the envelope of the request. If supported by the datatype factory,
the data returned for the request will be constrained to only the data
within the envelope.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>env: a shapely geometry</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.setLevels">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setLevels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">levels</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.setLevels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.setLevels" title="Permalink to this definition"></a></dt>
<dd><p>Sets the levels of data to request. Not all datatypes support levels.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>levels: a list of strings of level abbreviations to request</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.setLocationNames">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setLocationNames</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">locationNames</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.setLocationNames"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.setLocationNames" title="Permalink to this definition"></a></dt>
<dd><p>Sets the location names of the request.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>locationNames: a list of strings of location names to request</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.IDataRequest.setParameters">
<em class="property"><span class="pre">abstract</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">params</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess.html#IDataRequest.setParameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.IDataRequest.setParameters" title="Permalink to this definition"></a></dt>
<dd><p>Sets the parameters of data to request.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>params: a list of strings of parameters to request</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section> </section>
@ -255,7 +107,7 @@ within the envelope.</p>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>IFPClient &mdash; python-awips documentation</title> <title>IFPClient &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -60,17 +55,7 @@
<li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li> <li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li> <li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">IFPClient</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">IFPClient</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.gfe.IFPClient.IFPClient"><code class="docutils literal notranslate"><span class="pre">IFPClient</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="#awips.gfe.IFPClient.IFPClient.commitGrid"><code class="docutils literal notranslate"><span class="pre">IFPClient.commitGrid()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.gfe.IFPClient.IFPClient.getGridInventory"><code class="docutils literal notranslate"><span class="pre">IFPClient.getGridInventory()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.gfe.IFPClient.IFPClient.getParmList"><code class="docutils literal notranslate"><span class="pre">IFPClient.getParmList()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.gfe.IFPClient.IFPClient.getSelectTR"><code class="docutils literal notranslate"><span class="pre">IFPClient.getSelectTR()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.gfe.IFPClient.IFPClient.getSiteID"><code class="docutils literal notranslate"><span class="pre">IFPClient.getSiteID()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li> <li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li>
<li class="toctree-l2"><a class="reference internal" href="CombinedTimeQuery.html">CombinedTimeQuery</a></li> <li class="toctree-l2"><a class="reference internal" href="CombinedTimeQuery.html">CombinedTimeQuery</a></li>
</ul> </ul>
@ -107,38 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.gfe.IFPClient"> <section id="ifpclient">
<span id="ifpclient"></span><h1>IFPClient<a class="headerlink" href="#module-awips.gfe.IFPClient" title="Permalink to this heading"></a></h1> <h1>IFPClient<a class="headerlink" href="#ifpclient" title="Permalink to this heading"></a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="awips.gfe.IFPClient.IFPClient">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.gfe.IFPClient.</span></span><span class="sig-name descname"><span class="pre">IFPClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">host</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">progName</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/gfe/IFPClient.html#IFPClient"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.gfe.IFPClient.IFPClient" title="Permalink to this definition"></a></dt>
<dd><dl class="py method">
<dt class="sig sig-object py" id="awips.gfe.IFPClient.IFPClient.commitGrid">
<span class="sig-name descname"><span class="pre">commitGrid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/gfe/IFPClient.html#IFPClient.commitGrid"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.gfe.IFPClient.IFPClient.commitGrid" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.gfe.IFPClient.IFPClient.getGridInventory">
<span class="sig-name descname"><span class="pre">getGridInventory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">parmID</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/gfe/IFPClient.html#IFPClient.getGridInventory"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.gfe.IFPClient.IFPClient.getGridInventory" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.gfe.IFPClient.IFPClient.getParmList">
<span class="sig-name descname"><span class="pre">getParmList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/gfe/IFPClient.html#IFPClient.getParmList"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.gfe.IFPClient.IFPClient.getParmList" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.gfe.IFPClient.IFPClient.getSelectTR">
<span class="sig-name descname"><span class="pre">getSelectTR</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/gfe/IFPClient.html#IFPClient.getSelectTR"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.gfe.IFPClient.IFPClient.getSelectTR" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.gfe.IFPClient.IFPClient.getSiteID">
<span class="sig-name descname"><span class="pre">getSiteID</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/gfe/IFPClient.html#IFPClient.getSiteID"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.gfe.IFPClient.IFPClient.getSiteID" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section> </section>
@ -152,7 +107,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ModelSounding &mdash; python-awips documentation</title> <title>ModelSounding &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -55,11 +50,7 @@
<li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">ModelSounding</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">ModelSounding</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.ModelSounding.changeEDEXHost"><code class="docutils literal notranslate"><span class="pre">changeEDEXHost()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.ModelSounding.getSounding"><code class="docutils literal notranslate"><span class="pre">getSounding()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li> <li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li>
@ -101,38 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.dataaccess.ModelSounding"> <section id="modelsounding">
<span id="modelsounding"></span><h1>ModelSounding<a class="headerlink" href="#module-awips.dataaccess.ModelSounding" title="Permalink to this heading"></a></h1> <h1>ModelSounding<a class="headerlink" href="#modelsounding" title="Permalink to this heading"></a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.ModelSounding.changeEDEXHost">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.ModelSounding.</span></span><span class="sig-name descname"><span class="pre">changeEDEXHost</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">host</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ModelSounding.html#changeEDEXHost"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ModelSounding.changeEDEXHost" title="Permalink to this definition"></a></dt>
<dd><p>Changes the EDEX host the Data Access Framework is communicating with.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>host: the EDEX host to connect to</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.dataaccess.ModelSounding.getSounding">
<span class="sig-prename descclassname"><span class="pre">awips.dataaccess.ModelSounding.</span></span><span class="sig-name descname"><span class="pre">getSounding</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">modelName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weatherElements</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">levels</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">samplePoint</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeRange</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ModelSounding.html#getSounding"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ModelSounding.getSounding" title="Permalink to this definition"></a></dt>
<dd><p>Performs a series of Data Access Framework requests to retrieve a sounding object
based on the specified request parameters.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>modelName: the grid model datasetid to use as the basis of the sounding.
weatherElements: a list of parameters to return in the sounding.
levels: a list of levels to sample the given weather elements at
samplePoint: a lat/lon pair to perform the sampling of data at.
timeRange: (optional) a list of times, or a TimeRange to specify
which forecast hours to use. If not specified, will default to all forecast hours.</p>
</dd>
<dt>Returns:</dt><dd><p>A _SoundingCube instance, which acts a 3-tiered dictionary, keyed
by DataTime, then by level and finally by weather element. If no
data is available for the given request parameters, None is returned.</p>
</dd>
</dl>
</dd></dl>
</section> </section>
@ -146,7 +107,7 @@ data is available for the given request parameters, None is returned.</p>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>PyData &mdash; python-awips documentation</title> <title>PyData &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -52,17 +47,7 @@
<li class="toctree-l1 current"><a class="reference internal" href="index.html">API Documentation</a><ul class="current"> <li class="toctree-l1 current"><a class="reference internal" href="index.html">API Documentation</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html">DataAccessLayer</a></li> <li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html">DataAccessLayer</a></li>
<li class="toctree-l2"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li> <li class="toctree-l2"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">PyData</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">PyData</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.PyData.PyData"><code class="docutils literal notranslate"><span class="pre">PyData</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyData.PyData.getAttribute"><code class="docutils literal notranslate"><span class="pre">PyData.getAttribute()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyData.PyData.getAttributes"><code class="docutils literal notranslate"><span class="pre">PyData.getAttributes()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyData.PyData.getDataTime"><code class="docutils literal notranslate"><span class="pre">PyData.getDataTime()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyData.PyData.getLevel"><code class="docutils literal notranslate"><span class="pre">PyData.getLevel()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyData.PyData.getLocationName"><code class="docutils literal notranslate"><span class="pre">PyData.getLocationName()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li>
<li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li> <li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li>
@ -107,66 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.dataaccess.PyData"> <section id="pydata">
<span id="pydata"></span><h1>PyData<a class="headerlink" href="#module-awips.dataaccess.PyData" title="Permalink to this heading"></a></h1> <h1>PyData<a class="headerlink" href="#pydata" title="Permalink to this heading"></a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="awips.dataaccess.PyData.PyData">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.dataaccess.PyData.</span></span><span class="sig-name descname"><span class="pre">PyData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dataRecord</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyData.html#PyData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyData.PyData" title="Permalink to this definition"></a></dt>
<dd><dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyData.PyData.getAttribute">
<span class="sig-name descname"><span class="pre">getAttribute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyData.html#PyData.getAttribute"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyData.PyData.getAttribute" title="Permalink to this definition"></a></dt>
<dd><p>Gets an attribute of the data.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>key: the key of the attribute</p>
</dd>
<dt>Returns:</dt><dd><p>the value of the attribute</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyData.PyData.getAttributes">
<span class="sig-name descname"><span class="pre">getAttributes</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyData.html#PyData.getAttributes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyData.PyData.getAttributes" title="Permalink to this definition"></a></dt>
<dd><p>Gets the valid attributes for the data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a list of strings of the attribute names</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyData.PyData.getDataTime">
<span class="sig-name descname"><span class="pre">getDataTime</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyData.html#PyData.getDataTime"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyData.PyData.getDataTime" title="Permalink to this definition"></a></dt>
<dd><p>Gets the data time of the data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>the data time of the data, or None if no time is associated</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyData.PyData.getLevel">
<span class="sig-name descname"><span class="pre">getLevel</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyData.html#PyData.getLevel"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyData.PyData.getLevel" title="Permalink to this definition"></a></dt>
<dd><p>Gets the level of the data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>the level of the data, or None if no level is associated</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyData.PyData.getLocationName">
<span class="sig-name descname"><span class="pre">getLocationName</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyData.html#PyData.getLocationName"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyData.PyData.getLocationName" title="Permalink to this definition"></a></dt>
<dd><p>Gets the location name of the data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>the location name of the data, or None if no location name is
associated</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section> </section>
@ -180,7 +107,7 @@ associated</p>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>PyGeometryData &mdash; python-awips documentation</title> <title>PyGeometryData &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -54,18 +49,7 @@
<li class="toctree-l2"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li> <li class="toctree-l2"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">PyGeometryData</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">PyGeometryData</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.PyGeometryData.PyGeometryData"><code class="docutils literal notranslate"><span class="pre">PyGeometryData</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getGeometry"><code class="docutils literal notranslate"><span class="pre">PyGeometryData.getGeometry()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getNumber"><code class="docutils literal notranslate"><span class="pre">PyGeometryData.getNumber()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getParameters"><code class="docutils literal notranslate"><span class="pre">PyGeometryData.getParameters()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getString"><code class="docutils literal notranslate"><span class="pre">PyGeometryData.getString()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getType"><code class="docutils literal notranslate"><span class="pre">PyGeometryData.getType()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getUnit"><code class="docutils literal notranslate"><span class="pre">PyGeometryData.getUnit()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li> <li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li>
@ -108,82 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.dataaccess.PyGeometryData"> <section id="pygeometrydata">
<span id="pygeometrydata"></span><h1>PyGeometryData<a class="headerlink" href="#module-awips.dataaccess.PyGeometryData" title="Permalink to this heading"></a></h1> <h1>PyGeometryData<a class="headerlink" href="#pygeometrydata" title="Permalink to this heading"></a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="awips.dataaccess.PyGeometryData.PyGeometryData">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.dataaccess.PyGeometryData.</span></span><span class="sig-name descname"><span class="pre">PyGeometryData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">geoDataRecord</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">geometry</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGeometryData.html#PyGeometryData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGeometryData.PyGeometryData" title="Permalink to this definition"></a></dt>
<dd><dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGeometryData.PyGeometryData.getGeometry">
<span class="sig-name descname"><span class="pre">getGeometry</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGeometryData.html#PyGeometryData.getGeometry"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getGeometry" title="Permalink to this definition"></a></dt>
<dd><p>Gets the geometry of the data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a shapely geometry</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGeometryData.PyGeometryData.getNumber">
<span class="sig-name descname"><span class="pre">getNumber</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGeometryData.html#PyGeometryData.getNumber"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getNumber" title="Permalink to this definition"></a></dt>
<dd><p>Gets the number value of the specified param.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>param: the string name of the param</p>
</dd>
<dt>Returns:</dt><dd><p>the number value of the param</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGeometryData.PyGeometryData.getParameters">
<span class="sig-name descname"><span class="pre">getParameters</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGeometryData.html#PyGeometryData.getParameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getParameters" title="Permalink to this definition"></a></dt>
<dd><p>Gets the parameters of the data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a list of strings of the parameter names</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGeometryData.PyGeometryData.getString">
<span class="sig-name descname"><span class="pre">getString</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGeometryData.html#PyGeometryData.getString"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getString" title="Permalink to this definition"></a></dt>
<dd><p>Gets the string value of the specified param.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>param: the string name of the param</p>
</dd>
<dt>Returns:</dt><dd><p>the string value of the param</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGeometryData.PyGeometryData.getType">
<span class="sig-name descname"><span class="pre">getType</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGeometryData.html#PyGeometryData.getType"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getType" title="Permalink to this definition"></a></dt>
<dd><p>Gets the type of the param.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>param: the string name of the param</p>
</dd>
<dt>Returns:</dt><dd><p>a string of the type of the parameter, such as
“STRING”, “INT”, “LONG”, “FLOAT”, or “DOUBLE”</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGeometryData.PyGeometryData.getUnit">
<span class="sig-name descname"><span class="pre">getUnit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">param</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGeometryData.html#PyGeometryData.getUnit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGeometryData.PyGeometryData.getUnit" title="Permalink to this definition"></a></dt>
<dd><p>Gets the unit of the specified param.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>param: the string name of the param</p>
</dd>
<dt>Returns:</dt><dd><p>the string abbreviation of the unit of the param</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section> </section>
@ -197,7 +107,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>PyGridData &mdash; python-awips documentation</title> <title>PyGridData &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -53,16 +48,7 @@
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html">DataAccessLayer</a></li> <li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html">DataAccessLayer</a></li>
<li class="toctree-l2"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li> <li class="toctree-l2"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyData.html">PyData</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">PyGridData</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">PyGridData</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.PyGridData.PyGridData"><code class="docutils literal notranslate"><span class="pre">PyGridData</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGridData.PyGridData.getLatLonCoords"><code class="docutils literal notranslate"><span class="pre">PyGridData.getLatLonCoords()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGridData.PyGridData.getParameter"><code class="docutils literal notranslate"><span class="pre">PyGridData.getParameter()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGridData.PyGridData.getRawData"><code class="docutils literal notranslate"><span class="pre">PyGridData.getRawData()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.PyGridData.PyGridData.getUnit"><code class="docutils literal notranslate"><span class="pre">PyGridData.getUnit()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li>
<li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li> <li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li>
@ -106,54 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.dataaccess.PyGridData"> <section id="pygriddata">
<span id="pygriddata"></span><h1>PyGridData<a class="headerlink" href="#module-awips.dataaccess.PyGridData" title="Permalink to this heading"></a></h1> <h1>PyGridData<a class="headerlink" href="#pygriddata" title="Permalink to this heading"></a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="awips.dataaccess.PyGridData.PyGridData">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.dataaccess.PyGridData.</span></span><span class="sig-name descname"><span class="pre">PyGridData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">gridDataRecord</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ny</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">latLonGrid</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">latLonDelegate</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGridData.html#PyGridData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGridData.PyGridData" title="Permalink to this definition"></a></dt>
<dd><dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGridData.PyGridData.getLatLonCoords">
<span class="sig-name descname"><span class="pre">getLatLonCoords</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGridData.html#PyGridData.getLatLonCoords"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGridData.PyGridData.getLatLonCoords" title="Permalink to this definition"></a></dt>
<dd><p>Gets the lat/lon coordinates of the grid data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a tuple where the first element is a numpy array of lons, and the
second element is a numpy array of lats</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGridData.PyGridData.getParameter">
<span class="sig-name descname"><span class="pre">getParameter</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGridData.html#PyGridData.getParameter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGridData.PyGridData.getParameter" title="Permalink to this definition"></a></dt>
<dd><p>Gets the parameter of the data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>the parameter of the data</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGridData.PyGridData.getRawData">
<span class="sig-name descname"><span class="pre">getRawData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">unit</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGridData.html#PyGridData.getRawData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGridData.PyGridData.getRawData" title="Permalink to this definition"></a></dt>
<dd><p>Gets the grid data as a numpy array.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>a numpy array of the data</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.PyGridData.PyGridData.getUnit">
<span class="sig-name descname"><span class="pre">getUnit</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/PyGridData.html#PyGridData.getUnit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.PyGridData.PyGridData.getUnit" title="Permalink to this definition"></a></dt>
<dd><p>Gets the unit of the data.</p>
<dl class="simple">
<dt>Returns:</dt><dd><p>the string abbreviation of the unit, or None if no unit is associated</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</section> </section>
@ -167,7 +107,7 @@ second element is a numpy array of lats</p>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>RadarCommon &mdash; python-awips documentation</title> <title>RadarCommon &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -59,16 +54,7 @@
<li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li> <li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">RadarCommon</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">RadarCommon</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.RadarCommon.encode_dep_vals"><code class="docutils literal notranslate"><span class="pre">encode_dep_vals()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.RadarCommon.encode_radial"><code class="docutils literal notranslate"><span class="pre">encode_radial()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.RadarCommon.encode_thresh_vals"><code class="docutils literal notranslate"><span class="pre">encode_thresh_vals()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.RadarCommon.get_data_type"><code class="docutils literal notranslate"><span class="pre">get_data_type()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.RadarCommon.get_datetime_str"><code class="docutils literal notranslate"><span class="pre">get_datetime_str()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.RadarCommon.get_hdf5_data"><code class="docutils literal notranslate"><span class="pre">get_hdf5_data()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.RadarCommon.get_header"><code class="docutils literal notranslate"><span class="pre">get_header()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li> <li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li> <li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li>
<li class="toctree-l2"><a class="reference internal" href="CombinedTimeQuery.html">CombinedTimeQuery</a></li> <li class="toctree-l2"><a class="reference internal" href="CombinedTimeQuery.html">CombinedTimeQuery</a></li>
@ -106,57 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.RadarCommon"> <section id="radarcommon">
<span id="radarcommon"></span><h1>RadarCommon<a class="headerlink" href="#module-awips.RadarCommon" title="Permalink to this heading"></a></h1> <h1>RadarCommon<a class="headerlink" href="#radarcommon" title="Permalink to this heading"></a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="awips.RadarCommon.encode_dep_vals">
<span class="sig-prename descclassname"><span class="pre">awips.RadarCommon.</span></span><span class="sig-name descname"><span class="pre">encode_dep_vals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">depVals</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/RadarCommon.html#encode_dep_vals"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.RadarCommon.encode_dep_vals" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.RadarCommon.encode_radial">
<span class="sig-prename descclassname"><span class="pre">awips.RadarCommon.</span></span><span class="sig-name descname"><span class="pre">encode_radial</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">azVals</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/RadarCommon.html#encode_radial"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.RadarCommon.encode_radial" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.RadarCommon.encode_thresh_vals">
<span class="sig-prename descclassname"><span class="pre">awips.RadarCommon.</span></span><span class="sig-name descname"><span class="pre">encode_thresh_vals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">threshVals</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/RadarCommon.html#encode_thresh_vals"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.RadarCommon.encode_thresh_vals" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.RadarCommon.get_data_type">
<span class="sig-prename descclassname"><span class="pre">awips.RadarCommon.</span></span><span class="sig-name descname"><span class="pre">get_data_type</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">azdat</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/RadarCommon.html#get_data_type"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.RadarCommon.get_data_type" title="Permalink to this definition"></a></dt>
<dd><p>Get the radar file type (radial or raster).</p>
<dl class="simple">
<dt>Args:</dt><dd><p>azdat: Boolean.</p>
</dd>
<dt>Returns:</dt><dd><p>Radial or raster.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.RadarCommon.get_datetime_str">
<span class="sig-prename descclassname"><span class="pre">awips.RadarCommon.</span></span><span class="sig-name descname"><span class="pre">get_datetime_str</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">record</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/RadarCommon.html#get_datetime_str"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.RadarCommon.get_datetime_str" title="Permalink to this definition"></a></dt>
<dd><p>Get the datetime string for a record.</p>
<dl class="simple">
<dt>Args:</dt><dd><p>record: the record to get data for.</p>
</dd>
<dt>Returns:</dt><dd><p>datetime string.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.RadarCommon.get_hdf5_data">
<span class="sig-prename descclassname"><span class="pre">awips.RadarCommon.</span></span><span class="sig-name descname"><span class="pre">get_hdf5_data</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idra</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/RadarCommon.html#get_hdf5_data"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.RadarCommon.get_hdf5_data" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.RadarCommon.get_header">
<span class="sig-prename descclassname"><span class="pre">awips.RadarCommon.</span></span><span class="sig-name descname"><span class="pre">get_header</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">record</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">headerFormat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">xLen</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">yLen</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">azdat</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">description</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/RadarCommon.html#get_header"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.RadarCommon.get_header" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section> </section>
@ -170,7 +107,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ThriftClient &mdash; python-awips documentation</title> <title>ThriftClient &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -57,14 +52,7 @@
<li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li>
<li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li> <li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">ThriftClient</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">ThriftClient</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.ThriftClient.ThriftClient"><code class="docutils literal notranslate"><span class="pre">ThriftClient</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="#awips.ThriftClient.ThriftClient.sendRequest"><code class="docutils literal notranslate"><span class="pre">ThriftClient.sendRequest()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="#awips.ThriftClient.ThriftRequestException"><code class="docutils literal notranslate"><span class="pre">ThriftRequestException</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li> <li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li> <li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li>
<li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li> <li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li>
@ -104,23 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.ThriftClient"> <section id="thriftclient">
<span id="thriftclient"></span><h1>ThriftClient<a class="headerlink" href="#module-awips.ThriftClient" title="Permalink to this heading"></a></h1> <h1>ThriftClient<a class="headerlink" href="#thriftclient" title="Permalink to this heading"></a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="awips.ThriftClient.ThriftClient">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.ThriftClient.</span></span><span class="sig-name descname"><span class="pre">ThriftClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">host</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">9581</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">uri</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'/services'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/ThriftClient.html#ThriftClient"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.ThriftClient.ThriftClient" title="Permalink to this definition"></a></dt>
<dd><dl class="py method">
<dt class="sig sig-object py" id="awips.ThriftClient.ThriftClient.sendRequest">
<span class="sig-name descname"><span class="pre">sendRequest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">uri</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'/thrift'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/ThriftClient.html#ThriftClient.sendRequest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.ThriftClient.ThriftClient.sendRequest" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="awips.ThriftClient.ThriftRequestException">
<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.ThriftClient.</span></span><span class="sig-name descname"><span class="pre">ThriftRequestException</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/ThriftClient.html#ThriftRequestException"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.ThriftClient.ThriftRequestException" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section> </section>
@ -134,7 +107,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ThriftClientRouter &mdash; python-awips documentation</title> <title>ThriftClientRouter &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -56,26 +51,7 @@
<li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGridData.html">PyGridData</a></li>
<li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li> <li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li>
<li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li> <li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">ThriftClientRouter</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">ThriftClientRouter</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.LazyGridLatLon"><code class="docutils literal notranslate"><span class="pre">LazyGridLatLon</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLevels"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getAvailableLevels()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLocationNames"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getAvailableLocationNames()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableParameters"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getAvailableParameters()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableTimes"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getAvailableTimes()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGeometryData"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getGeometryData()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGridData"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getGridData()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getIdentifierValues"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getIdentifierValues()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getNotificationFilter"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getNotificationFilter()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getOptionalIdentifiers"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getOptionalIdentifiers()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getRequiredIdentifiers"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getRequiredIdentifiers()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getSupportedDatatypes"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.getSupportedDatatypes()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.newDataRequest"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.newDataRequest()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.setLazyLoadGridLatLon"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter.setLazyLoadGridLatLon()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li> <li class="toctree-l2"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li> <li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li>
@ -116,83 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.dataaccess.ThriftClientRouter"> <section id="thriftclientrouter">
<span id="thriftclientrouter"></span><h1>ThriftClientRouter<a class="headerlink" href="#module-awips.dataaccess.ThriftClientRouter" title="Permalink to this heading"></a></h1> <h1>ThriftClientRouter<a class="headerlink" href="#thriftclientrouter" title="Permalink to this heading"></a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.LazyGridLatLon">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.dataaccess.ThriftClientRouter.</span></span><span class="sig-name descname"><span class="pre">LazyGridLatLon</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">client</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ny</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">envelope</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">crsWkt</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#LazyGridLatLon"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.LazyGridLatLon" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">awips.dataaccess.ThriftClientRouter.</span></span><span class="sig-name descname"><span class="pre">ThriftClientRouter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter" title="Permalink to this definition"></a></dt>
<dd><dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLevels">
<span class="sig-name descname"><span class="pre">getAvailableLevels</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getAvailableLevels"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLevels" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLocationNames">
<span class="sig-name descname"><span class="pre">getAvailableLocationNames</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getAvailableLocationNames"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLocationNames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableParameters">
<span class="sig-name descname"><span class="pre">getAvailableParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getAvailableParameters"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableParameters" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableTimes">
<span class="sig-name descname"><span class="pre">getAvailableTimes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refTimeOnly</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getAvailableTimes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableTimes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGeometryData">
<span class="sig-name descname"><span class="pre">getGeometryData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">times</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getGeometryData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGeometryData" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGridData">
<span class="sig-name descname"><span class="pre">getGridData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">times</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getGridData"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGridData" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getIdentifierValues">
<span class="sig-name descname"><span class="pre">getIdentifierValues</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">identifierKey</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getIdentifierValues"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getIdentifierValues" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getNotificationFilter">
<span class="sig-name descname"><span class="pre">getNotificationFilter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getNotificationFilter"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getNotificationFilter" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getOptionalIdentifiers">
<span class="sig-name descname"><span class="pre">getOptionalIdentifiers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getOptionalIdentifiers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getOptionalIdentifiers" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getRequiredIdentifiers">
<span class="sig-name descname"><span class="pre">getRequiredIdentifiers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getRequiredIdentifiers"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getRequiredIdentifiers" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getSupportedDatatypes">
<span class="sig-name descname"><span class="pre">getSupportedDatatypes</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.getSupportedDatatypes"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getSupportedDatatypes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.newDataRequest">
<span class="sig-name descname"><span class="pre">newDataRequest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">datatype</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parameters</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">levels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">locationNames</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">envelope</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.newDataRequest"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.newDataRequest" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="awips.dataaccess.ThriftClientRouter.ThriftClientRouter.setLazyLoadGridLatLon">
<span class="sig-name descname"><span class="pre">setLazyLoadGridLatLon</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lazyLoadGridLatLon</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/dataaccess/ThriftClientRouter.html#ThriftClientRouter.setLazyLoadGridLatLon"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.setLazyLoadGridLatLon" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section> </section>
@ -206,7 +107,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>TimeUtil &mdash; python-awips documentation</title> <title>TimeUtil &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -58,11 +53,7 @@
<li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li> <li class="toctree-l2"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li> <li class="toctree-l2"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">TimeUtil</a><ul> <li class="toctree-l2 current"><a class="current reference internal" href="#">TimeUtil</a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.TimeUtil.determineDrtOffset"><code class="docutils literal notranslate"><span class="pre">determineDrtOffset()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#awips.TimeUtil.makeTime"><code class="docutils literal notranslate"><span class="pre">makeTime()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li> <li class="toctree-l2"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li>
<li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li> <li class="toctree-l2"><a class="reference internal" href="IFPClient.html">IFPClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li> <li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li>
@ -101,18 +92,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<section id="module-awips.TimeUtil"> <section id="timeutil">
<span id="timeutil"></span><h1>TimeUtil<a class="headerlink" href="#module-awips.TimeUtil" title="Permalink to this heading"></a></h1> <h1>TimeUtil<a class="headerlink" href="#timeutil" title="Permalink to this heading"></a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="awips.TimeUtil.determineDrtOffset">
<span class="sig-prename descclassname"><span class="pre">awips.TimeUtil.</span></span><span class="sig-name descname"><span class="pre">determineDrtOffset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timeStr</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/TimeUtil.html#determineDrtOffset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.TimeUtil.determineDrtOffset" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="awips.TimeUtil.makeTime">
<span class="sig-prename descclassname"><span class="pre">awips.TimeUtil.</span></span><span class="sig-name descname"><span class="pre">makeTime</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timeStr</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/awips/TimeUtil.html#makeTime"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#awips.TimeUtil.makeTime" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</section> </section>
@ -126,7 +107,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>API Documentation &mdash; python-awips documentation</title> <title>API Documentation &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -100,86 +95,19 @@
<h1>API Documentation<a class="headerlink" href="#api-documentation" title="Permalink to this heading"></a></h1> <h1>API Documentation<a class="headerlink" href="#api-documentation" title="Permalink to this heading"></a></h1>
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="DataAccessLayer.html">DataAccessLayer</a><ul> <li class="toctree-l1"><a class="reference internal" href="DataAccessLayer.html">DataAccessLayer</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.changeEDEXHost"><code class="docutils literal notranslate"><span class="pre">changeEDEXHost()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLevels"><code class="docutils literal notranslate"><span class="pre">getAvailableLevels()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="PyData.html">PyData</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLocationNames"><code class="docutils literal notranslate"><span class="pre">getAvailableLocationNames()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="PyGridData.html">PyGridData</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableParameters"><code class="docutils literal notranslate"><span class="pre">getAvailableParameters()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableTimes"><code class="docutils literal notranslate"><span class="pre">getAvailableTimes()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="ModelSounding.html">ModelSounding</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getForecastRun"><code class="docutils literal notranslate"><span class="pre">getForecastRun()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGeometryData"><code class="docutils literal notranslate"><span class="pre">getGeometryData()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="ThriftClient.html">ThriftClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGridData"><code class="docutils literal notranslate"><span class="pre">getGridData()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="TimeUtil.html">TimeUtil</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getIdentifierValues"><code class="docutils literal notranslate"><span class="pre">getIdentifierValues()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="RadarCommon.html">RadarCommon</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getMetarObs"><code class="docutils literal notranslate"><span class="pre">getMetarObs()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="IFPClient.html">IFPClient</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getOptionalIdentifiers"><code class="docutils literal notranslate"><span class="pre">getOptionalIdentifiers()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRadarProductIDs"><code class="docutils literal notranslate"><span class="pre">getRadarProductIDs()</span></code></a></li> <li class="toctree-l1"><a class="reference internal" href="CombinedTimeQuery.html">CombinedTimeQuery</a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRadarProductNames"><code class="docutils literal notranslate"><span class="pre">getRadarProductNames()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRequiredIdentifiers"><code class="docutils literal notranslate"><span class="pre">getRequiredIdentifiers()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getSupportedDatatypes"><code class="docutils literal notranslate"><span class="pre">getSupportedDatatypes()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getSynopticObs"><code class="docutils literal notranslate"><span class="pre">getSynopticObs()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest"><code class="docutils literal notranslate"><span class="pre">newDataRequest()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="DataAccessLayer.html#awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon"><code class="docutils literal notranslate"><span class="pre">setLazyLoadGridLatLon()</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="IDataRequest.html">IDataRequest (newDataRequest())</a><ul>
<li class="toctree-l2"><a class="reference internal" href="IDataRequest.html#awips.dataaccess.IDataRequest"><code class="docutils literal notranslate"><span class="pre">IDataRequest</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="PyData.html">PyData</a><ul>
<li class="toctree-l2"><a class="reference internal" href="PyData.html#awips.dataaccess.PyData.PyData"><code class="docutils literal notranslate"><span class="pre">PyData</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="PyGridData.html">PyGridData</a><ul>
<li class="toctree-l2"><a class="reference internal" href="PyGridData.html#awips.dataaccess.PyGridData.PyGridData"><code class="docutils literal notranslate"><span class="pre">PyGridData</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="PyGeometryData.html">PyGeometryData</a><ul>
<li class="toctree-l2"><a class="reference internal" href="PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData"><code class="docutils literal notranslate"><span class="pre">PyGeometryData</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="ModelSounding.html">ModelSounding</a><ul>
<li class="toctree-l2"><a class="reference internal" href="ModelSounding.html#awips.dataaccess.ModelSounding.changeEDEXHost"><code class="docutils literal notranslate"><span class="pre">changeEDEXHost()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="ModelSounding.html#awips.dataaccess.ModelSounding.getSounding"><code class="docutils literal notranslate"><span class="pre">getSounding()</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="ThriftClientRouter.html">ThriftClientRouter</a><ul>
<li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.LazyGridLatLon"><code class="docutils literal notranslate"><span class="pre">LazyGridLatLon</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter"><code class="docutils literal notranslate"><span class="pre">ThriftClientRouter</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="ThriftClient.html">ThriftClient</a><ul>
<li class="toctree-l2"><a class="reference internal" href="ThriftClient.html#awips.ThriftClient.ThriftClient"><code class="docutils literal notranslate"><span class="pre">ThriftClient</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="ThriftClient.html#awips.ThriftClient.ThriftRequestException"><code class="docutils literal notranslate"><span class="pre">ThriftRequestException</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="TimeUtil.html">TimeUtil</a><ul>
<li class="toctree-l2"><a class="reference internal" href="TimeUtil.html#awips.TimeUtil.determineDrtOffset"><code class="docutils literal notranslate"><span class="pre">determineDrtOffset()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="TimeUtil.html#awips.TimeUtil.makeTime"><code class="docutils literal notranslate"><span class="pre">makeTime()</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="RadarCommon.html">RadarCommon</a><ul>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html#awips.RadarCommon.encode_dep_vals"><code class="docutils literal notranslate"><span class="pre">encode_dep_vals()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html#awips.RadarCommon.encode_radial"><code class="docutils literal notranslate"><span class="pre">encode_radial()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html#awips.RadarCommon.encode_thresh_vals"><code class="docutils literal notranslate"><span class="pre">encode_thresh_vals()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html#awips.RadarCommon.get_data_type"><code class="docutils literal notranslate"><span class="pre">get_data_type()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html#awips.RadarCommon.get_datetime_str"><code class="docutils literal notranslate"><span class="pre">get_datetime_str()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html#awips.RadarCommon.get_hdf5_data"><code class="docutils literal notranslate"><span class="pre">get_hdf5_data()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="RadarCommon.html#awips.RadarCommon.get_header"><code class="docutils literal notranslate"><span class="pre">get_header()</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="IFPClient.html">IFPClient</a><ul>
<li class="toctree-l2"><a class="reference internal" href="IFPClient.html#awips.gfe.IFPClient.IFPClient"><code class="docutils literal notranslate"><span class="pre">IFPClient</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="DateTimeConverter.html">DateTimeConverter</a><ul>
<li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html#awips.DateTimeConverter.constructTimeRange"><code class="docutils literal notranslate"><span class="pre">constructTimeRange()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="DateTimeConverter.html#awips.DateTimeConverter.convertToDateTime"><code class="docutils literal notranslate"><span class="pre">convertToDateTime()</span></code></a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CombinedTimeQuery.html">CombinedTimeQuery</a><ul>
<li class="toctree-l2"><a class="reference internal" href="CombinedTimeQuery.html#awips.dataaccess.CombinedTimeQuery.getAvailableTimes"><code class="docutils literal notranslate"><span class="pre">getAvailableTimes()</span></code></a></li>
</ul>
</li>
</ul> </ul>
</div> </div>
<ul class="simple"> <ul class="simple">
@ -198,7 +126,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Available Data Types &mdash; python-awips documentation</title> <title>Available Data Types &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/js/html5shiv.min.js"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="_static/sphinx_highlight.js?v=4825356b"></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>
<script src="_static/js/theme.js"></script> <script src="_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="about.html" /> <link rel="author" title="About these documents" href="about.html" />
<link rel="index" title="Index" href="genindex.html" /> <link rel="index" title="Index" href="genindex.html" />
@ -37,9 +35,6 @@
<a href="index.html" class="icon icon-home"> <a href="index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -230,7 +225,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Development Guide &mdash; python-awips documentation</title> <title>Development Guide &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/js/html5shiv.min.js"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="_static/sphinx_highlight.js?v=4825356b"></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>
<script src="_static/js/theme.js"></script> <script src="_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="about.html" /> <link rel="author" title="About these documents" href="about.html" />
<link rel="index" title="Index" href="genindex.html" /> <link rel="index" title="Index" href="genindex.html" />
@ -37,9 +35,6 @@
<a href="index.html" class="icon icon-home"> <a href="index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -199,7 +194,7 @@ similar manner. Plug-ins that want to use the data access framework to
retrieve data should include <strong>com.raytheon.uf.common.dataaccess</strong> as a retrieve data should include <strong>com.raytheon.uf.common.dataaccess</strong> as a
Required Bundle in their MANIFEST.MF.</p> Required Bundle in their MANIFEST.MF.</p>
<p>To retrieve data using the Python interface :</p> <p>To retrieve data using the Python interface :</p>
<div class="highlight-default 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> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</span>
<span class="n">req</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="n">req</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="n">req</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;grid&quot;</span><span class="p">)</span> <span class="n">req</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;grid&quot;</span><span class="p">)</span>
<span class="n">req</span><span class="o">.</span><span class="n">setParameters</span><span class="p">(</span><span class="s2">&quot;T&quot;</span><span class="p">)</span> <span class="n">req</span><span class="o">.</span><span class="n">setParameters</span><span class="p">(</span><span class="s2">&quot;T&quot;</span><span class="p">)</span>
@ -654,7 +649,7 @@ all factories may support this.</p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Colored Surface Temperature Plot &mdash; python-awips documentation</title> <title>Colored Surface Temperature Plot &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -157,15 +152,15 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span> <span class="kn">import</span> <span class="n">TimeRange</span> <span class="kn">from</span><span class="w"> </span><span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span><span class="w"> </span><span class="kn">import</span> <span class="n">TimeRange</span>
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span> <span class="kn">from</span><span class="w"> </span><span class="nn">datetime</span><span class="w"> </span><span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">,</span> <span class="n">UTC</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
<span class="kn">import</span> <span class="nn">cartopy.crs</span> <span class="k">as</span> <span class="nn">ccrs</span> <span class="kn">import</span><span class="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ccrs</span>
<span class="kn">import</span> <span class="nn">warnings</span> <span class="kn">import</span><span class="w"> </span><span class="nn">warnings</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">shapely.geometry</span> <span class="kn">import</span> <span class="n">Polygon</span> <span class="kn">from</span><span class="w"> </span><span class="nn">shapely.geometry</span><span class="w"> </span><span class="kn">import</span> <span class="n">Polygon</span>
<span class="kn">from</span> <span class="nn">metpy.plots</span> <span class="kn">import</span> <span class="n">StationPlot</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.plots</span><span class="w"> </span><span class="kn">import</span> <span class="n">StationPlot</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Colored_Surface_Temperature_Plot.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Colored_Surface_Temperature_Plot.html">Top</a></p>
@ -193,7 +188,7 @@ object</a>
and set the data type to <strong>obs</strong>, and use the geographic <strong>envelope</strong> we and set the data type to <strong>obs</strong>, and use the geographic <strong>envelope</strong> we
just created.</p> just created.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># New obs request</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># New obs request</span>
<span class="n">edexServer</span> <span class="o">=</span> <span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span> <span class="n">edexServer</span> <span class="o">=</span> <span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">edexServer</span><span class="p">)</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">edexServer</span><span class="p">)</span>
<span class="n">request</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="s2">&quot;obs&quot;</span><span class="p">,</span> <span class="n">envelope</span><span class="o">=</span><span class="n">envelope</span><span class="p">)</span> <span class="n">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">&quot;obs&quot;</span><span class="p">,</span> <span class="n">envelope</span><span class="o">=</span><span class="n">envelope</span><span class="p">)</span>
<span class="n">params</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;temperature&quot;</span><span class="p">,</span> <span class="s2">&quot;longitude&quot;</span><span class="p">,</span> <span class="s2">&quot;latitude&quot;</span><span class="p">,</span> <span class="s2">&quot;stationName&quot;</span><span class="p">]</span> <span class="n">params</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;temperature&quot;</span><span class="p">,</span> <span class="s2">&quot;longitude&quot;</span><span class="p">,</span> <span class="s2">&quot;latitude&quot;</span><span class="p">,</span> <span class="s2">&quot;stationName&quot;</span><span class="p">]</span>
@ -210,9 +205,9 @@ just created.</p>
range for the last 15 minutes, and then send the request to the EDEX range for the last 15 minutes, and then send the request to the EDEX
server to get our results, which are kept in the <strong>obs</strong> variable.</p> server to get our results, which are kept in the <strong>obs</strong> variable.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Get records from the last 15 minutes</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Get records from the last 15 minutes</span>
<span class="n">lastHourDateTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">minutes</span> <span class="o">=</span> <span class="mi">15</span><span class="p">)</span> <span class="n">lastHourDateTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">UTC</span><span class="p">)</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">minutes</span> <span class="o">=</span> <span class="mi">15</span><span class="p">)</span>
<span class="n">start</span> <span class="o">=</span> <span class="n">lastHourDateTime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span> <span class="n">start</span> <span class="o">=</span> <span class="n">lastHourDateTime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
<span class="n">end</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span> <span class="n">end</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">UTC</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
<span class="n">beginRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span> <span class="n">beginRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
<span class="n">endRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">end</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span> <span class="n">endRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">end</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
@ -344,7 +339,7 @@ final, colored figure.</p>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Colorized Grid Data &mdash; python-awips documentation</title> <title>Colorized Grid Data &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -155,11 +150,11 @@ Documentation</a></div>
<h3>1 Imports<a class="headerlink" href="#imports" title="Permalink to this heading"></a></h3> <h3>1 Imports<a class="headerlink" href="#imports" title="Permalink to this heading"></a></h3>
<p>Start by importing both the python-awips specific library, as well as <p>Start by importing both the python-awips specific library, as well as
the libraries needed for plotting and manipulating the data</p> the libraries needed for plotting and manipulating the data</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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </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="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </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="w"> </span><span class="nn">cartopy.mpl.gridliner</span><span class="w"> </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">scipy.constants</span> <span class="kn">import</span> <span class="n">convert_temperature</span> <span class="kn">from</span><span class="w"> </span><span class="nn">scipy.constants</span><span class="w"> </span><span class="kn">import</span> <span class="n">convert_temperature</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Colorized_Grid_Data.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Colorized_Grid_Data.html">Top</a></p>
@ -175,7 +170,7 @@ as the data type to define our request. In addition to setting the data
type, the location, parameters and levels are also set as <strong>RAP13</strong>, type, the location, parameters and levels are also set as <strong>RAP13</strong>,
<strong>T</strong> (for temperature), and <strong>2.0FHAG</strong> (for Fixed Height Above Ground <strong>T</strong> (for temperature), and <strong>2.0FHAG</strong> (for Fixed Height Above Ground
in meters), respectively.</p> in meters), respectively.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span><span class="p">)</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</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="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="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;grid&quot;</span><span class="p">)</span> <span class="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;grid&quot;</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">&quot;RAP13&quot;</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">&quot;RAP13&quot;</span><span class="p">)</span>
@ -226,7 +221,7 @@ defined. This function uses the <a class="reference external" href="https://matp
(plt)</a> (plt)</a>
to create a figure and axis. The coastlines (continental boundaries) are to create a figure and axis. The coastlines (continental boundaries) are
added, along with lat/lon grids.</p> added, along with lat/lon grids.</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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </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">16</span><span class="p">,</span> <span class="mi">9</span><span class="p">),</span> <span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">16</span><span class="p">,</span> <span class="mi">9</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">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">set_extent</span><span class="p">(</span><span class="n">bbox</span><span class="p">)</span>
@ -347,7 +342,7 @@ Parameters</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Forecast Model Vertical Sounding &mdash; python-awips documentation</title> <title>Forecast Model Vertical Sounding &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -175,14 +170,14 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> 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><span class="p">,</span> <span class="n">ModelSounding</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</span><span class="p">,</span> <span class="n">ModelSounding</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
<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> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.plots</span><span class="w"> </span><span class="kn">import</span> <span class="n">SkewT</span><span class="p">,</span> <span class="n">Hodograph</span>
<span class="kn">from</span> <span class="nn">metpy.units</span> <span class="kn">import</span> <span class="n">units</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.units</span><span class="w"> </span><span class="kn">import</span> <span class="n">units</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">from</span><span class="w"> </span><span class="nn">mpl_toolkits.axes_grid1.inset_locator</span><span class="w"> </span><span class="kn">import</span> <span class="n">inset_axes</span>
<span class="kn">from</span> <span class="nn">math</span> <span class="kn">import</span> <span class="n">sqrt</span> <span class="kn">from</span><span class="w"> </span><span class="nn">math</span><span class="w"> </span><span class="kn">import</span> <span class="n">sqrt</span>
<span class="kn">from</span> <span class="nn">shapely.geometry</span> <span class="kn">import</span> <span class="n">Point</span> <span class="kn">from</span><span class="w"> </span><span class="nn">shapely.geometry</span><span class="w"> </span><span class="kn">import</span> <span class="n">Point</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Forecast_Model_Vertical_Sounding.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Forecast_Model_Vertical_Sounding.html">Top</a></p>
@ -193,7 +188,7 @@ visualization.</p>
<p>First we establish a connection to Unidatas public EDEX server. This <p>First we establish a connection to Unidatas public EDEX server. This
sets the proper server on the <strong>DataAccessLayer</strong>, which we will use sets the proper server on the <strong>DataAccessLayer</strong>, which we will use
numerous times throughout the notebook.</p> numerous times throughout the notebook.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">server</span> <span class="o">=</span> <span class="s1">&#39;edex-cloud.unidata.ucar.edu&#39;</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">server</span> <span class="o">=</span> <span class="s1">&#39;edex-beta.unidata.ucar.edu&#39;</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">server</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="n">server</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
@ -237,7 +232,7 @@ data object from python-awips to retrieve all the relevant information.</p>
<p>This function takes the model name, location, and time as attributes, <p>This function takes the model name, location, and time as attributes,
and returns arrays for pressure, temperature, dewpoint, and the u and v and returns arrays for pressure, temperature, dewpoint, and the u and v
wind components.</p> wind components.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">get_surface_data</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">time</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">get_surface_data</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">time</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot; model name, location, and timeRange desire &quot;&quot;&quot;</span> <span class="w"> </span><span class="sd">&quot;&quot;&quot; model name, location, and timeRange desire &quot;&quot;&quot;</span>
<span class="c1"># request data and sort response</span> <span class="c1"># request data and sort response</span>
@ -276,7 +271,7 @@ function), and also takes the instantiated pressure, temperature,
dewpoint, and wind vector arrays.</p> dewpoint, and wind vector arrays.</p>
<p>It returns the fully populated pressure, temperature, dewpoint, <p>It returns the fully populated pressure, temperature, dewpoint,
u-component, v-component, and computed wind arrays.</p> u-component, v-component, and computed wind arrays.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">get_levels_data</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">time</span><span class="p">,</span> <span class="n">pressure</span><span class="p">,</span> <span class="n">temp</span><span class="p">,</span> <span class="n">dpt</span><span class="p">,</span> <span class="n">ucomp</span><span class="p">,</span> <span class="n">vcomp</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">get_levels_data</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span> <span class="n">time</span><span class="p">,</span> <span class="n">pressure</span><span class="p">,</span> <span class="n">temp</span><span class="p">,</span> <span class="n">dpt</span><span class="p">,</span> <span class="n">ucomp</span><span class="p">,</span> <span class="n">vcomp</span><span class="p">):</span>
<span class="c1"># Get isobaric levels with our requested parameters</span> <span class="c1"># Get isobaric levels with our requested parameters</span>
<span class="n">parms</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;T&#39;</span><span class="p">,</span><span class="s1">&#39;DpT&#39;</span><span class="p">,</span><span class="s1">&#39;uW&#39;</span><span class="p">,</span><span class="s1">&#39;vW&#39;</span><span class="p">]</span> <span class="n">parms</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;T&#39;</span><span class="p">,</span><span class="s1">&#39;DpT&#39;</span><span class="p">,</span><span class="s1">&#39;uW&#39;</span><span class="p">,</span><span class="s1">&#39;vW&#39;</span><span class="p">]</span>
@ -341,7 +336,7 @@ was used to create this function.</p>
<p>The function takes the model name, reference time, and the pressure, <p>The function takes the model name, reference time, and the pressure,
temperature, dewpoint, u-component, v-component, and wind arrays. It temperature, dewpoint, u-component, v-component, and wind arrays. It
plots a skewT and hodograph using metpy.</p> plots a skewT and hodograph using metpy.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">plot_skewT</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">pressure</span><span class="p">,</span> <span class="n">temp</span><span class="p">,</span> <span class="n">dpt</span><span class="p">,</span> <span class="n">ucomp</span><span class="p">,</span> <span class="n">vcomp</span><span class="p">,</span> <span class="n">wind</span><span class="p">,</span> <span class="n">refTime</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">plot_skewT</span><span class="p">(</span><span class="n">modelName</span><span class="p">,</span> <span class="n">pressure</span><span class="p">,</span> <span class="n">temp</span><span class="p">,</span> <span class="n">dpt</span><span class="p">,</span> <span class="n">ucomp</span><span class="p">,</span> <span class="n">vcomp</span><span class="p">,</span> <span class="n">wind</span><span class="p">,</span> <span class="n">refTime</span><span class="p">):</span>
<span class="n">plt</span><span class="o">.</span><span class="n">rcParams</span><span class="p">[</span><span class="s1">&#39;figure.figsize&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">14</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">rcParams</span><span class="p">[</span><span class="s1">&#39;figure.figsize&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="mi">12</span><span class="p">,</span> <span class="mi">14</span><span class="p">)</span>
<span class="c1"># Skew-T</span> <span class="c1"># Skew-T</span>
@ -504,7 +499,7 @@ Data</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>GOES CIRA Product Writer &mdash; python-awips documentation</title> <title>GOES CIRA Product Writer &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -165,13 +160,13 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </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="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ccrs</span>
<span class="kn">import</span> <span class="nn">cartopy.feature</span> <span class="k">as</span> <span class="nn">cfeat</span> <span class="kn">import</span><span class="w"> </span><span class="nn">cartopy.feature</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">cfeat</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span> <span class="kn">from</span><span class="w"> </span><span class="nn">datetime</span><span class="w"> </span><span class="kn">import</span> <span class="n">datetime</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
<span class="kn">import</span> <span class="nn">os</span> <span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/GOES_CIRA_Product_Writer.html">Top</a></p>
@ -186,7 +181,7 @@ that connection made, we can create a <a class="reference external" href="http:/
object</a> object</a>
and set the data type to <strong>satellite</strong>.</p> and set the data type to <strong>satellite</strong>.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create an EDEX data request</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create an EDEX data request</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</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">&quot;edex-beta.unidata.ucar.edu&quot;</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="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="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;satellite&quot;</span><span class="p">)</span> <span class="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;satellite&quot;</span><span class="p">)</span>
</pre></div> </pre></div>
@ -222,7 +217,7 @@ default Python functions add a padding when creating figures, and we
dont want that.</p> dont want that.</p>
<p>This function allows the exact final image to be specified based in <p>This function allows the exact final image to be specified based in
pixels, with no padding or buffers.</p> pixels, with no padding or buffers.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">set_size</span><span class="p">(</span><span class="n">w</span><span class="p">,</span><span class="n">h</span><span class="p">,</span> <span class="n">plt</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">set_size</span><span class="p">(</span><span class="n">w</span><span class="p">,</span><span class="n">h</span><span class="p">,</span> <span class="n">plt</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot; w, h: width, height in pixels &quot;&quot;&quot;</span> <span class="w"> </span><span class="sd">&quot;&quot;&quot; w, h: width, height in pixels &quot;&quot;&quot;</span>
<span class="c1"># Convert from pixels to inches</span> <span class="c1"># Convert from pixels to inches</span>
@ -266,7 +261,7 @@ product were looking at. Finally, it writes out the figure to disk.</p>
pixels, because that is the native GOES image size, but feel free to pixels, because that is the native GOES image size, but feel free to
modify these values if you wish to print out an image of another size modify these values if you wish to print out an image of another size
(you may want to keep the w:h ratio the same though).</p> (you may want to keep the w:h ratio the same though).</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">write_img</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">proj</span><span class="p">,</span> <span class="n">extent</span><span class="p">,</span> <span class="n">reftime</span><span class="p">,</span> <span class="n">footnote</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">write_img</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">proj</span><span class="p">,</span> <span class="n">extent</span><span class="p">,</span> <span class="n">reftime</span><span class="p">,</span> <span class="n">footnote</span><span class="p">):</span>
<span class="c1"># Specify the desired size, in pixels</span> <span class="c1"># Specify the desired size, in pixels</span>
<span class="n">px_width</span> <span class="o">=</span> <span class="mf">5000.0</span> <span class="n">px_width</span> <span class="o">=</span> <span class="mf">5000.0</span>
@ -346,7 +341,7 @@ whereever this notebook lives.</p>
<div><p><strong>Tip</strong>: If you specify the fully qualified path, it will no longer <div><p><strong>Tip</strong>: If you specify the fully qualified path, it will no longer
depend on where this notebook is located. For example (for a Mac):</p> depend on where this notebook is located. For example (for a Mac):</p>
</div></blockquote> </div></blockquote>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">outputDir</span> <span class="o">=</span> <span class="s1">&#39;/Users/scarter/test_dir/output/&#39;</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">outputDir</span> <span class="o">=</span> <span class="s1">&#39;/Users/awips/test_dir/output/&#39;</span>
</pre></div> </pre></div>
</div> </div>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Define name of the desired end directory</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Define name of the desired end directory</span>
@ -532,7 +527,7 @@ Imagery</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Grid Levels and Parameters &mdash; python-awips documentation</title> <title>Grid Levels and Parameters &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -163,7 +158,7 @@ Notebooks</a></div>
<section id="imports"> <section id="imports">
<h3>1 Imports<a class="headerlink" href="#imports" title="Permalink to this heading"></a></h3> <h3>1 Imports<a class="headerlink" href="#imports" title="Permalink to this heading"></a></h3>
<p>Start by importing the DataAccessLayer package from python-awips:</p> <p>Start by importing the DataAccessLayer package from python-awips:</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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html">Top</a></p>
@ -174,7 +169,7 @@ Notebooks</a></div>
<p>Define a url for your EDEX connection, and then point python-awips at <p>Define a url for your EDEX connection, and then point python-awips at
that EDEX</p> that EDEX</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Unidata&#39;s cloud EDEX instance is used in this example</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Unidata&#39;s cloud EDEX instance is used in this example</span>
<span class="n">edex_url</span> <span class="o">=</span> <span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span> <span class="n">edex_url</span> <span class="o">=</span> <span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">edex_url</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="n">edex_url</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
@ -1060,7 +1055,7 @@ Topography</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>METAR Station Plot with MetPy &mdash; python-awips documentation</title> <title>METAR Station Plot with MetPy &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -165,16 +160,16 @@ Documentation</a></div>
imports are coming directly from python-awips and allow us to connect to imports are coming directly from python-awips and allow us to connect to
an EDEX server, and define a timrange used for filtering the data. The an EDEX server, and define a timrange used for filtering the data. The
subsequent imports are for data manipulation and visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span> <span class="kn">import</span> <span class="n">TimeRange</span> <span class="kn">from</span><span class="w"> </span><span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span><span class="w"> </span><span class="kn">import</span> <span class="n">TimeRange</span>
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span> <span class="kn">from</span><span class="w"> </span><span class="nn">datetime</span><span class="w"> </span><span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">,</span> <span class="n">UTC</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
<span class="kn">import</span> <span class="nn">cartopy.crs</span> <span class="k">as</span> <span class="nn">ccrs</span> <span class="kn">import</span><span class="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ccrs</span>
<span class="kn">import</span> <span class="nn">cartopy.feature</span> <span class="k">as</span> <span class="nn">cfeature</span> <span class="kn">import</span><span class="w"> </span><span class="nn">cartopy.feature</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">cfeature</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">metpy.calc</span> <span class="kn">import</span> <span class="n">wind_components</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.calc</span><span class="w"> </span><span class="kn">import</span> <span class="n">wind_components</span>
<span class="kn">from</span> <span class="nn">metpy.plots</span> <span class="kn">import</span> <span class="n">StationPlot</span><span class="p">,</span> <span class="n">StationPlotLayout</span><span class="p">,</span> <span class="n">sky_cover</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.plots</span><span class="w"> </span><span class="kn">import</span> <span class="n">StationPlot</span><span class="p">,</span> <span class="n">StationPlotLayout</span><span class="p">,</span> <span class="n">sky_cover</span>
<span class="kn">from</span> <span class="nn">metpy.units</span> <span class="kn">import</span> <span class="n">units</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.units</span><span class="w"> </span><span class="kn">import</span> <span class="n">units</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/METAR_Station_Plot_with_MetPy.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/METAR_Station_Plot_with_MetPy.html">Top</a></p>
@ -183,7 +178,7 @@ subsequent imports are for data manipulation and visualization.</p>
<section id="function-get-cloud-cover"> <section id="function-get-cloud-cover">
<h3>2 Function: get_cloud_cover()<a class="headerlink" href="#function-get-cloud-cover" title="Permalink to this heading"></a></h3> <h3>2 Function: get_cloud_cover()<a class="headerlink" href="#function-get-cloud-cover" title="Permalink to this heading"></a></h3>
<p>Returns the cloud coverage values as integer codes (0 through 8).</p> <p>Returns the cloud coverage values as integer codes (0 through 8).</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">get_cloud_cover</span><span class="p">(</span><span class="n">code</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">get_cloud_cover</span><span class="p">(</span><span class="n">code</span><span class="p">):</span>
<span class="k">if</span> <span class="s1">&#39;OVC&#39;</span> <span class="ow">in</span> <span class="n">code</span><span class="p">:</span> <span class="k">if</span> <span class="s1">&#39;OVC&#39;</span> <span class="ow">in</span> <span class="n">code</span><span class="p">:</span>
<span class="k">return</span> <span class="mi">8</span> <span class="k">return</span> <span class="mi">8</span>
<span class="k">elif</span> <span class="s1">&#39;BKN&#39;</span> <span class="ow">in</span> <span class="n">code</span><span class="p">:</span> <span class="k">elif</span> <span class="s1">&#39;BKN&#39;</span> <span class="ow">in</span> <span class="n">code</span><span class="p">:</span>
@ -214,7 +209,7 @@ and
we need to define several parameters, and then set them on the data we need to define several parameters, and then set them on the data
request object.</p> request object.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># EDEX Request</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># EDEX Request</span>
<span class="n">edexServer</span> <span class="o">=</span> <span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span> <span class="n">edexServer</span> <span class="o">=</span> <span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">edexServer</span><span class="p">)</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">edexServer</span><span class="p">)</span>
<span class="n">request</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="s2">&quot;obs&quot;</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">&quot;obs&quot;</span><span class="p">)</span>
@ -262,7 +257,7 @@ request 1 hour, but that value can easily be modified by <cite>adjusting the
in line <code class="docutils literal notranslate"><span class="pre">2</span></code>. The more data we request, the longer this section will in line <code class="docutils literal notranslate"><span class="pre">2</span></code>. The more data we request, the longer this section will
take to run.</p> take to run.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Time range</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Time range</span>
<span class="n">lastHourDateTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span> <span class="o">=</span> <span class="mi">1</span><span class="p">)</span> <span class="n">lastHourDateTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">UTC</span><span class="p">)</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span> <span class="o">=</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">start</span> <span class="o">=</span> <span class="n">lastHourDateTime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H&#39;</span><span class="p">)</span> <span class="n">start</span> <span class="o">=</span> <span class="n">lastHourDateTime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H&#39;</span><span class="p">)</span>
<span class="n">beginRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="o">+</span> <span class="s2">&quot;:00:00&quot;</span><span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span> <span class="n">beginRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="o">+</span> <span class="s2">&quot;:00:00&quot;</span><span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
<span class="n">endRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="o">+</span> <span class="s2">&quot;:59:59&quot;</span><span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span> <span class="n">endRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="o">+</span> <span class="s2">&quot;:59:59&quot;</span><span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
@ -439,7 +434,7 @@ Plot</a></p></li>
<p><strong>datetime:</strong></p> <p><strong>datetime:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime-objects">datetime.datetime</a></p></li> <li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime-objects">datetime.datetime</a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html?#datetime.datetime.utcnow">datetime.utcnow()</a></p></li> <li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html?#datetime.datetime.utcnow">datetime.now(UTC)</a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#timedelta-objects">datetime.timedelta</a></p></li> <li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#timedelta-objects">datetime.timedelta</a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior">datetime.strftime() and <li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior">datetime.strftime() and
datetime.strptime()</a></p></li> datetime.strptime()</a></p></li>
@ -488,7 +483,7 @@ interface</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Map Resources and Topography &mdash; python-awips documentation</title> <title>Map Resources and Topography &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -165,13 +160,13 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</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="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ccrs</span>
<span class="kn">import</span> <span class="nn">numpy.ma</span> <span class="k">as</span> <span class="nn">ma</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy.ma</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ma</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="w"> </span><span class="nn">cartopy.mpl.gridliner</span><span class="w"> </span><span class="kn">import</span> <span class="n">LONGITUDE_FORMATTER</span><span class="p">,</span> <span class="n">LATITUDE_FORMATTER</span>
<span class="kn">from</span> <span class="nn">cartopy.feature</span> <span class="kn">import</span> <span class="n">ShapelyFeature</span><span class="p">,</span><span class="n">NaturalEarthFeature</span> <span class="kn">from</span><span class="w"> </span><span class="nn">cartopy.feature</span><span class="w"> </span><span class="kn">import</span> <span class="n">ShapelyFeature</span><span class="p">,</span><span class="n">NaturalEarthFeature</span>
<span class="kn">from</span> <span class="nn">shapely.ops</span> <span class="kn">import</span> <span class="n">cascaded_union</span> <span class="kn">from</span><span class="w"> </span><span class="nn">shapely.ops</span><span class="w"> </span><span class="kn">import</span> <span class="n">unary_union</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Map_Resources_and_Topography.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Map_Resources_and_Topography.html">Top</a></p>
@ -184,7 +179,7 @@ that connection made, we can create a <a class="reference external" href="http:/
object</a> object</a>
and set the data type to <strong>maps</strong>.</p> and set the data type to <strong>maps</strong>.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Server, Data Request Type, and Database Table</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Server, Data Request Type, and Database Table</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</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">&quot;edex-beta.unidata.ucar.edu&quot;</span><span class="p">)</span>
<span class="n">request</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="s1">&#39;maps&#39;</span><span class="p">)</span> <span class="n">request</span> <span class="o">=</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="s1">&#39;maps&#39;</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
@ -200,7 +195,7 @@ this case, we only use it in one code block cell, but because it is a
common function from several of our notebooks, its nice to keep the common function from several of our notebooks, its nice to keep the
logic neatly defined for consistency.</p> logic neatly defined for consistency.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Standard map plot</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Standard map plot</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="k">def</span><span class="w"> </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">12</span><span class="p">,</span><span class="mi">12</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">12</span><span class="p">,</span><span class="mi">12</span><span class="p">),</span>
<span class="n">subplot_kw</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">projection</span><span class="o">=</span><span class="n">projection</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">set_extent</span><span class="p">(</span><span class="n">bbox</span><span class="p">)</span>
@ -259,7 +254,7 @@ to refine our query to EDEX.</p>
<span class="c1"># All WFO counties merged to a single Polygon</span> <span class="c1"># All WFO counties merged to a single Polygon</span>
<span class="n">merged_counties</span> <span class="o">=</span> <span class="n">cascaded_union</span><span class="p">(</span><span class="n">counties</span><span class="p">)</span> <span class="n">merged_counties</span> <span class="o">=</span> <span class="n">unary_union</span><span class="p">(</span><span class="n">counties</span><span class="p">)</span>
<span class="n">envelope</span> <span class="o">=</span> <span class="n">merged_counties</span><span class="o">.</span><span class="n">buffer</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="n">envelope</span> <span class="o">=</span> <span class="n">merged_counties</span><span class="o">.</span><span class="n">buffer</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
<span class="n">boundaries</span><span class="o">=</span><span class="p">[</span><span class="n">merged_counties</span><span class="p">]</span> <span class="n">boundaries</span><span class="o">=</span><span class="p">[</span><span class="n">merged_counties</span><span class="p">]</span>
@ -536,7 +531,7 @@ available database tables, column names, and types.</p>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Model Sounding Data &mdash; python-awips documentation</title> <title>Model Sounding Data &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -175,14 +170,14 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </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">from</span><span class="w"> </span><span class="nn">mpl_toolkits.axes_grid1.inset_locator</span><span class="w"> </span><span class="kn">import</span> <span class="n">inset_axes</span>
<span class="kn">from</span> <span class="nn">math</span> <span class="kn">import</span> <span class="n">exp</span><span class="p">,</span> <span class="n">log</span> <span class="kn">from</span><span class="w"> </span><span class="nn">math</span><span class="w"> </span><span class="kn">import</span> <span class="n">exp</span><span class="p">,</span> <span class="n">log</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
<span class="kn">from</span> <span class="nn">metpy.calc</span> <span class="kn">import</span> <span class="n">dewpoint</span><span class="p">,</span> <span class="n">vapor_pressure</span><span class="p">,</span> <span class="n">wind_speed</span><span class="p">,</span> <span class="n">wind_direction</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.calc</span><span class="w"> </span><span class="kn">import</span> <span class="n">dewpoint</span><span class="p">,</span> <span class="n">vapor_pressure</span><span class="p">,</span> <span class="n">wind_speed</span><span class="p">,</span> <span class="n">wind_direction</span>
<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> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.plots</span><span class="w"> </span><span class="kn">import</span> <span class="n">SkewT</span><span class="p">,</span> <span class="n">Hodograph</span>
<span class="kn">from</span> <span class="nn">metpy.units</span> <span class="kn">import</span> <span class="n">units</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.units</span><span class="w"> </span><span class="kn">import</span> <span class="n">units</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Model_Sounding_Data.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Model_Sounding_Data.html">Top</a></p>
@ -195,7 +190,7 @@ that connection made, we can create a <a class="reference external" href="http:/
object</a> object</a>
and set the data type to <strong>modelsounding</strong>, and define additional and set the data type to <strong>modelsounding</strong>, and define additional
parameters and an identifier on the request.</p> parameters and an identifier on the request.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span><span class="p">)</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</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">&quot;modelsounding&quot;</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">&quot;modelsounding&quot;</span><span class="p">)</span>
<span class="n">forecastModel</span> <span class="o">=</span> <span class="s2">&quot;GFS&quot;</span> <span class="n">forecastModel</span> <span class="o">=</span> <span class="s2">&quot;GFS&quot;</span>
<span class="n">request</span><span class="o">.</span><span class="n">addIdentifier</span><span class="p">(</span><span class="s2">&quot;reportType&quot;</span><span class="p">,</span> <span class="n">forecastModel</span><span class="p">)</span> <span class="n">request</span><span class="o">.</span><span class="n">addIdentifier</span><span class="p">(</span><span class="s2">&quot;reportType&quot;</span><span class="p">,</span> <span class="n">forecastModel</span><span class="p">)</span>
@ -1504,7 +1499,7 @@ Sounding</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NEXRAD Level3 Radar &mdash; python-awips documentation</title> <title>NEXRAD Level3 Radar &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -157,12 +152,12 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> visualization.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">warnings</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">DataAccessLayer</span> <span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</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="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ccrs</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</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="w"> </span><span class="nn">cartopy.mpl.gridliner</span><span class="w"> </span><span class="kn">import</span> <span class="n">LONGITUDE_FORMATTER</span><span class="p">,</span> <span class="n">LATITUDE_FORMATTER</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html">Top</a></p>
@ -173,7 +168,7 @@ visualization.</p>
<p>First we establish a connection to Unidatas public EDEX server. This <p>First we establish a connection to Unidatas public EDEX server. This
sets the proper server on the <strong>DataAccessLayer</strong>, which we will use sets the proper server on the <strong>DataAccessLayer</strong>, which we will use
numerous times throughout the notebook.</p> numerous times throughout the notebook.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span><span class="p">)</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</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">&quot;radar&quot;</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">&quot;radar&quot;</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
@ -249,7 +244,7 @@ defined. This function uses the <a class="reference external" href="https://matp
(plt)</a> (plt)</a>
to create a figure and axis. The coastlines (continental boundaries) are to create a figure and axis. The coastlines (continental boundaries) are
added, along with lat/lon grids.</p> added, along with lat/lon grids.</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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </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">16</span><span class="p">,</span> <span class="mi">16</span><span class="p">),</span> <span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">16</span><span class="p">,</span> <span class="mi">16</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">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">set_extent</span><span class="p">(</span><span class="n">bbox</span><span class="p">)</span>
@ -480,7 +475,7 @@ Parameters</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Precip Accumulation Region of Interest &mdash; python-awips documentation</title> <title>Precip Accumulation Region of Interest &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -178,12 +173,12 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </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="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">metpy.units</span> <span class="kn">import</span> <span class="n">units</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.units</span><span class="w"> </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">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </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="kn">from</span><span class="w"> </span><span class="nn">shapely.geometry</span><span class="w"> </span><span class="kn">import</span> <span class="n">Point</span><span class="p">,</span> <span class="n">Polygon</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Precip_Accumulation_Region_of_Interest.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Precip_Accumulation_Region_of_Interest.html">Top</a></p>
@ -209,7 +204,7 @@ that connection made, we can create a <a class="reference external" href="http:/
object</a> object</a>
and set the data type to <strong>grid</strong>, and use the geographic envelope we and set the data type to <strong>grid</strong>, and use the geographic envelope we
just created.</p> just created.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span><span class="p">)</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</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">&quot;grid&quot;</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">DataAccessLayer</span><span class="o">.</span><span class="n">newDataRequest</span><span class="p">(</span><span class="s2">&quot;grid&quot;</span><span class="p">,</span> <span class="n">envelope</span><span class="o">=</span><span class="n">conus_envelope</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
@ -246,7 +241,7 @@ instead of duplicating the logic.</p>
of the rainfall to produce a numpy array with the total ammount of of the rainfall to produce a numpy array with the total ammount of
rainfall for the given data request. It also finds the maximum rainfall rainfall for the given data request. It also finds the maximum rainfall
point in x and y coordinates.</p> point in x and y coordinates.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">calculate_accumulated_precip</span><span class="p">(</span><span class="n">dataRequest</span><span class="p">,</span> <span class="n">forecastRun</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">calculate_accumulated_precip</span><span class="p">(</span><span class="n">dataRequest</span><span class="p">,</span> <span class="n">forecastRun</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">forecastRun</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">forecastRun</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">dataRequest</span><span class="p">,</span> <span class="p">[</span><span class="n">tt</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">dataRequest</span><span class="p">,</span> <span class="p">[</span><span class="n">tt</span><span class="p">])</span>
@ -276,7 +271,7 @@ point in x and y coordinates.</p>
<p>This function creates the basics of the map were going to plot our data <p>This function creates the basics of the map were going to plot our data
on. It takes in a bounding box to determine the extent and then adds on. It takes in a bounding box to determine the extent and then adds
coastlines for easy frame of reference.</p> coastlines for easy frame of reference.</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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </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">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">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">set_extent</span><span class="p">(</span><span class="n">bbox</span><span class="p">)</span>
@ -527,7 +522,7 @@ Parameters</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Regional Surface Obs Plot &mdash; python-awips documentation</title> <title>Regional Surface Obs Plot &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -188,19 +183,19 @@ Documentation</a></div>
imports are coming directly from python-awips and allow us to connect to imports are coming directly from python-awips and allow us to connect to
an EDEX server, and define a timrange used for filtering the data. The an EDEX server, and define a timrange used for filtering the data. The
subsequent imports are for data manipulation and visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span> <span class="kn">import</span> <span class="n">TimeRange</span> <span class="kn">from</span><span class="w"> </span><span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span><span class="w"> </span><span class="kn">import</span> <span class="n">TimeRange</span>
<span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span> <span class="kn">from</span><span class="w"> </span><span class="nn">datetime</span><span class="w"> </span><span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">,</span> <span class="n">UTC</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
<span class="kn">import</span> <span class="nn">cartopy.crs</span> <span class="k">as</span> <span class="nn">ccrs</span> <span class="kn">import</span><span class="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ccrs</span>
<span class="kn">from</span> <span class="nn">cartopy.mpl.gridliner</span> <span class="kn">import</span> <span class="n">LONGITUDE_FORMATTER</span><span class="p">,</span> <span class="n">LATITUDE_FORMATTER</span> <span class="kn">from</span><span class="w"> </span><span class="nn">cartopy.mpl.gridliner</span><span class="w"> </span><span class="kn">import</span> <span class="n">LONGITUDE_FORMATTER</span><span class="p">,</span> <span class="n">LATITUDE_FORMATTER</span>
<span class="kn">from</span> <span class="nn">cartopy.feature</span> <span class="kn">import</span> <span class="n">ShapelyFeature</span> <span class="kn">from</span><span class="w"> </span><span class="nn">cartopy.feature</span><span class="w"> </span><span class="kn">import</span> <span class="n">ShapelyFeature</span>
<span class="kn">from</span> <span class="nn">shapely.geometry</span> <span class="kn">import</span> <span class="n">Polygon</span> <span class="kn">from</span><span class="w"> </span><span class="nn">shapely.geometry</span><span class="w"> </span><span class="kn">import</span> <span class="n">Polygon</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> <span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">metpy.units</span> <span class="kn">import</span> <span class="n">units</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.units</span><span class="w"> </span><span class="kn">import</span> <span class="n">units</span>
<span class="kn">from</span> <span class="nn">metpy.calc</span> <span class="kn">import</span> <span class="n">wind_components</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.calc</span><span class="w"> </span><span class="kn">import</span> <span class="n">wind_components</span>
<span class="kn">from</span> <span class="nn">metpy.plots</span> <span class="kn">import</span> <span class="n">simple_layout</span><span class="p">,</span> <span class="n">StationPlot</span><span class="p">,</span> <span class="n">StationPlotLayout</span><span class="p">,</span> <span class="n">sky_cover</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.plots</span><span class="w"> </span><span class="kn">import</span> <span class="n">simple_layout</span><span class="p">,</span> <span class="n">StationPlot</span><span class="p">,</span> <span class="n">StationPlotLayout</span><span class="p">,</span> <span class="n">sky_cover</span>
<span class="kn">import</span> <span class="nn">warnings</span> <span class="kn">import</span><span class="w"> </span><span class="nn">warnings</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Regional_Surface_Obs_Plot.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Regional_Surface_Obs_Plot.html">Top</a></p>
@ -209,7 +204,7 @@ subsequent imports are for data manipulation and visualization.</p>
<section id="function-get-cloud-cover"> <section id="function-get-cloud-cover">
<h3>Function: get_cloud_cover()<a class="headerlink" href="#function-get-cloud-cover" title="Permalink to this heading"></a></h3> <h3>Function: get_cloud_cover()<a class="headerlink" href="#function-get-cloud-cover" title="Permalink to this heading"></a></h3>
<p>Returns the cloud coverage values as integer codes (0 through 8).</p> <p>Returns the cloud coverage values as integer codes (0 through 8).</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">get_cloud_cover</span><span class="p">(</span><span class="n">code</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">get_cloud_cover</span><span class="p">(</span><span class="n">code</span><span class="p">):</span>
<span class="k">if</span> <span class="s1">&#39;OVC&#39;</span> <span class="ow">in</span> <span class="n">code</span><span class="p">:</span> <span class="k">if</span> <span class="s1">&#39;OVC&#39;</span> <span class="ow">in</span> <span class="n">code</span><span class="p">:</span>
<span class="k">return</span> <span class="mi">8</span> <span class="k">return</span> <span class="mi">8</span>
<span class="k">elif</span> <span class="s1">&#39;BKN&#39;</span> <span class="ow">in</span> <span class="n">code</span><span class="p">:</span> <span class="k">elif</span> <span class="s1">&#39;BKN&#39;</span> <span class="ow">in</span> <span class="n">code</span><span class="p">:</span>
@ -233,7 +228,7 @@ defined. This function uses the <a class="reference external" href="https://matp
(plt)</a> (plt)</a>
to create a figure and axis. The geographic extent is set and lat/lon to create a figure and axis. The geographic extent is set and lat/lon
gridlines are added for context.</p> gridlines are added for context.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">make_map</span><span class="p">(</span><span class="n">bbox</span><span class="p">,</span> <span class="n">proj</span><span class="o">=</span><span class="n">ccrs</span><span class="o">.</span><span class="n">PlateCarree</span><span class="p">()):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">make_map</span><span class="p">(</span><span class="n">bbox</span><span class="p">,</span> <span class="n">proj</span><span class="o">=</span><span class="n">ccrs</span><span class="o">.</span><span class="n">PlateCarree</span><span class="p">()):</span>
<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">16</span><span class="p">,</span><span class="mi">12</span><span class="p">),</span><span class="n">subplot_kw</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">projection</span><span class="o">=</span><span class="n">proj</span><span class="p">))</span> <span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">16</span><span class="p">,</span><span class="mi">12</span><span class="p">),</span><span class="n">subplot_kw</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">projection</span><span class="o">=</span><span class="n">proj</span><span class="p">))</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_extent</span><span class="p">(</span><span class="n">bbox</span><span class="p">)</span> <span class="n">ax</span><span class="o">.</span><span class="n">set_extent</span><span class="p">(</span><span class="n">bbox</span><span class="p">)</span>
<span class="n">gl</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">gridlines</span><span class="p">(</span><span class="n">draw_labels</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;#e7e7e7&#39;</span><span class="p">)</span> <span class="n">gl</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">gridlines</span><span class="p">(</span><span class="n">draw_labels</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;#e7e7e7&#39;</span><span class="p">)</span>
@ -258,7 +253,7 @@ plotting function later:</p>
units</p></li> units</p></li>
<li><p>Account for missing values (by using <code class="docutils literal notranslate"><span class="pre">nan</span></code>)</p></li> <li><p>Account for missing values (by using <code class="docutils literal notranslate"><span class="pre">nan</span></code>)</p></li>
</ul> </ul>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">extract_plotting_data</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span> <span class="n">datatype</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">extract_plotting_data</span><span class="p">(</span><span class="n">arr</span><span class="p">,</span> <span class="n">datatype</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span> <span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Extract all necessary data for plotting for either</span> <span class="sd"> Extract all necessary data for plotting for either</span>
<span class="sd"> datatype: &#39;obs&#39; or &#39;sfcobs&#39;</span> <span class="sd"> datatype: &#39;obs&#39; or &#39;sfcobs&#39;</span>
@ -316,7 +311,7 @@ used to distinguish between which data is being drawn, and then draws
the appropriate features.</p> the appropriate features.</p>
<p>This function plots: - Wind barbs - Air temperature - Dew point <p>This function plots: - Wind barbs - Air temperature - Dew point
temperature - Precipitation - Cloud coverage (for METARS)</p> temperature - Precipitation - Cloud coverage (for METARS)</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">plot_data</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">axes</span><span class="p">,</span> <span class="n">datatype</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">plot_data</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">axes</span><span class="p">,</span> <span class="n">datatype</span><span class="p">):</span>
<span class="n">custom_layout</span> <span class="o">=</span> <span class="n">StationPlotLayout</span><span class="p">()</span> <span class="n">custom_layout</span> <span class="o">=</span> <span class="n">StationPlotLayout</span><span class="p">()</span>
<span class="n">custom_layout</span><span class="o">.</span><span class="n">add_barb</span><span class="p">(</span><span class="s1">&#39;eastward_wind&#39;</span><span class="p">,</span> <span class="s1">&#39;northward_wind&#39;</span><span class="p">,</span> <span class="n">units</span><span class="o">=</span><span class="s1">&#39;knots&#39;</span><span class="p">)</span> <span class="n">custom_layout</span><span class="o">.</span><span class="n">add_barb</span><span class="p">(</span><span class="s1">&#39;eastward_wind&#39;</span><span class="p">,</span> <span class="s1">&#39;northward_wind&#39;</span><span class="p">,</span> <span class="n">units</span><span class="o">=</span><span class="s1">&#39;knots&#39;</span><span class="p">)</span>
<span class="n">custom_layout</span><span class="o">.</span><span class="n">add_value</span><span class="p">(</span><span class="s1">&#39;NW&#39;</span><span class="p">,</span> <span class="s1">&#39;air_temperature&#39;</span><span class="p">,</span> <span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;.0f&#39;</span><span class="p">,</span> <span class="n">units</span><span class="o">=</span><span class="s1">&#39;degF&#39;</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;darkred&#39;</span><span class="p">)</span> <span class="n">custom_layout</span><span class="o">.</span><span class="n">add_value</span><span class="p">(</span><span class="s1">&#39;NW&#39;</span><span class="p">,</span> <span class="s1">&#39;air_temperature&#39;</span><span class="p">,</span> <span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;.0f&#39;</span><span class="p">,</span> <span class="n">units</span><span class="o">=</span><span class="s1">&#39;degF&#39;</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;darkred&#39;</span><span class="p">)</span>
@ -349,7 +344,7 @@ than can be used for the various data requests as well.</p>
<h4>Initial EDEX Connection<a class="headerlink" href="#initial-edex-connection" title="Permalink to this heading"></a></h4> <h4>Initial EDEX Connection<a class="headerlink" href="#initial-edex-connection" title="Permalink to this heading"></a></h4>
<p>First we establish a connection to Unidatas public EDEX server.</p> <p>First we establish a connection to Unidatas public EDEX server.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># EDEX connection</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># EDEX connection</span>
<span class="n">edexServer</span> <span class="o">=</span> <span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span> <span class="n">edexServer</span> <span class="o">=</span> <span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">edexServer</span><span class="p">)</span> <span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="n">edexServer</span><span class="p">)</span>
</pre></div> </pre></div>
</div> </div>
@ -434,9 +429,9 @@ filter. Try adjusting the timerange and see the difference in the
final plots.</p> final plots.</p>
</div></blockquote> </div></blockquote>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Filter for the last hour</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Filter for the last hour</span>
<span class="n">lastHourDateTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">minutes</span> <span class="o">=</span> <span class="mi">60</span><span class="p">)</span> <span class="n">lastHourDateTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">UTC</span><span class="p">)</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">minutes</span> <span class="o">=</span> <span class="mi">60</span><span class="p">)</span>
<span class="n">start</span> <span class="o">=</span> <span class="n">lastHourDateTime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span> <span class="n">start</span> <span class="o">=</span> <span class="n">lastHourDateTime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
<span class="n">end</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span> <span class="n">end</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">UTC</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
<span class="n">beginRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span> <span class="n">beginRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
<span class="n">endRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">end</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span> <span class="n">endRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">end</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
@ -658,7 +653,7 @@ Topography</a></p></li>
<p><strong>datetime:</strong></p> <p><strong>datetime:</strong></p>
<ul class="simple"> <ul class="simple">
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime-objects">datetime.datetime</a></p></li> <li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime-objects">datetime.datetime</a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html?#datetime.datetime.utcnow">datetime.utcnow()</a></p></li> <li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html?#datetime.datetime.utcnow">datetime.now(UTC)</a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#timedelta-objects">datetime.timedelta</a></p></li> <li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#timedelta-objects">datetime.timedelta</a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior">datetime.strftime() and <li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior">datetime.strftime() and
datetime.strptime()</a></p></li> datetime.strptime()</a></p></li>
@ -704,7 +699,7 @@ list</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Satellite Imagery &mdash; python-awips documentation</title> <title>Satellite Imagery &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -162,12 +157,13 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </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="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ccrs</span>
<span class="kn">import</span> <span class="nn">cartopy.feature</span> <span class="k">as</span> <span class="nn">cfeat</span> <span class="kn">import</span><span class="w"> </span><span class="nn">cartopy.feature</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">cfeat</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </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="w"> </span><span class="nn">cartopy.mpl.gridliner</span><span class="w"> </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">import</span> <span class="nn">datetime</span> <span class="kn">from</span><span class="w"> </span><span class="nn">datetime</span><span class="w"> </span><span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">UTC</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">pytz</span><span class="w"> </span><span class="kn">import</span> <span class="n">timezone</span> <span class="k">as</span> <span class="n">tz</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Satellite_Imagery.html">Top</a></p>
@ -180,7 +176,7 @@ that connection made, we can create a <a class="reference external" href="http:/
object</a> object</a>
and set the data type to <strong>satellite</strong>.</p> and set the data type to <strong>satellite</strong>.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create an EDEX data request</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create an EDEX data request</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</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">&quot;edex-beta.unidata.ucar.edu&quot;</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="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="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;satellite&quot;</span><span class="p">)</span> <span class="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;satellite&quot;</span><span class="p">)</span>
</pre></div> </pre></div>
@ -196,7 +192,7 @@ defined. This function uses the <a class="reference external" href="https://matp
(plt)</a> (plt)</a>
to create a figure and axis. The coastlines (continental boundaries) are to create a figure and axis. The coastlines (continental boundaries) are
added, along with lat/lon grids.</p> added, along with lat/lon grids.</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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </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">10</span><span class="p">,</span><span class="mi">12</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">10</span><span class="p">,</span><span class="mi">12</span><span class="p">),</span>
<span class="n">subplot_kw</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">projection</span><span class="o">=</span><span class="n">projection</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">set_extent</span><span class="p">(</span><span class="n">bbox</span><span class="p">)</span>
@ -957,9 +953,11 @@ about the data (metadata).</p>
<span class="n">request</span><span class="o">.</span><span class="n">setParameters</span><span class="p">(</span><span class="s2">&quot;CH-13-10.35um&quot;</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">&quot;CH-13-10.35um&quot;</span><span class="p">)</span>
<span class="c1"># Filter results by time</span> <span class="c1"># Filter results by time</span>
<span class="n">utc</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span> <span class="n">utc</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">UTC</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">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">hourdiff</span> <span class="o">=</span> <span class="n">utc</span> <span class="o">-</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">times</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]),</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span> <span class="n">sTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">times</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]),</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
<span class="n">sTime</span> <span class="o">=</span> <span class="n">sTime</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">tz</span><span class="p">(</span><span class="s1">&#39;UTC&#39;</span><span class="p">))</span>
<span class="n">hourdiff</span> <span class="o">=</span> <span class="n">utc</span> <span class="o">-</span> <span class="n">sTime</span>
<span class="n">hours</span><span class="p">,</span><span class="n">days</span> <span class="o">=</span> <span class="n">hourdiff</span><span class="o">.</span><span class="n">seconds</span><span class="o">/</span><span class="mi">3600</span><span class="p">,</span><span class="n">hourdiff</span><span class="o">.</span><span class="n">days</span> <span class="n">hours</span><span class="p">,</span><span class="n">days</span> <span class="o">=</span> <span class="n">hourdiff</span><span class="o">.</span><span class="n">seconds</span><span class="o">/</span><span class="mi">3600</span><span class="p">,</span><span class="n">hourdiff</span><span class="o">.</span><span class="n">days</span>
<span class="n">minute</span> <span class="o">=</span> <span class="nb">str</span><span class="p">((</span><span class="n">hourdiff</span><span class="o">.</span><span class="n">seconds</span> <span class="o">-</span> <span class="p">(</span><span class="mi">3600</span> <span class="o">*</span> <span class="n">hours</span><span class="p">))</span> <span class="o">/</span> <span class="mi">60</span><span class="p">)</span> <span class="n">minute</span> <span class="o">=</span> <span class="nb">str</span><span class="p">((</span><span class="n">hourdiff</span><span class="o">.</span><span class="n">seconds</span> <span class="o">-</span> <span class="p">(</span><span class="mi">3600</span> <span class="o">*</span> <span class="n">hours</span><span class="p">))</span> <span class="o">/</span> <span class="mi">60</span><span class="p">)</span>
<span class="n">offsetStr</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span> <span class="n">offsetStr</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
@ -1053,7 +1051,7 @@ Writer</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Upper Air BUFR Soundings &mdash; python-awips documentation</title> <title>Upper Air BUFR Soundings &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -175,13 +170,13 @@ Documentation</a></div>
import is coming directly from python-awips and allows us to connect to import is coming directly from python-awips and allows us to connect to
an EDEX server. The subsequent imports are for data manipulation and an EDEX server. The subsequent imports are for data manipulation and
visualization.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </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">from</span><span class="w"> </span><span class="nn">mpl_toolkits.axes_grid1.inset_locator</span><span class="w"> </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> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
<span class="kn">from</span> <span class="nn">metpy.calc</span> <span class="kn">import</span> <span class="n">wind_components</span><span class="p">,</span> <span class="n">lcl</span><span class="p">,</span> <span class="n">parcel_profile</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.calc</span><span class="w"> </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>
<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> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.plots</span><span class="w"> </span><span class="kn">import</span> <span class="n">SkewT</span><span class="p">,</span> <span class="n">Hodograph</span>
<span class="kn">from</span> <span class="nn">metpy.units</span> <span class="kn">import</span> <span class="n">units</span> <span class="kn">from</span><span class="w"> </span><span class="nn">metpy.units</span><span class="w"> </span><span class="kn">import</span> <span class="n">units</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Upper_Air_BUFR_Soundings.html">Top</a></p>
@ -197,7 +192,7 @@ object</a>
and set the data type to <strong>bufrua</strong>, and define additional parameters and set the data type to <strong>bufrua</strong>, and define additional parameters
and an identifier on the request.</p> 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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Set the edex server</span>
<span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</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">&quot;edex-beta.unidata.ucar.edu&quot;</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="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="c1"># Set data type</span>
@ -463,7 +458,7 @@ Sounding</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Watch Warning and Advisory Plotting &mdash; python-awips documentation</title> <title>Watch Warning and Advisory Plotting &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../_static/js/html5shiv.min.js"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../../_static/js/theme.js"></script> <script src="../../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../../about.html" /> <link rel="author" title="About these documents" href="../../about.html" />
<link rel="index" title="Index" href="../../genindex.html" /> <link rel="index" title="Index" href="../../genindex.html" />
@ -37,9 +35,6 @@
<a href="../../index.html" class="icon icon-home"> <a href="../../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -179,20 +174,20 @@ Documentation</a></div>
imports allow us to connect to an EDEX server, use the warning lookup imports allow us to connect to an EDEX server, use the warning lookup
dictionary, and define a TimeRange. The additional imports are for data dictionary, and define a TimeRange. The additional imports are for data
manipulation and visualization.</p> manipulation and visualization.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">datetime</span><span class="w"> </span><span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span><span class="p">,</span> <span class="n">UTC</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> <span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
<span class="kn">import</span> <span class="nn">matplotlib.patches</span> <span class="k">as</span> <span class="nn">mpatches</span> <span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.patches</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">mpatches</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">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</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="w"> </span><span class="nn">cartopy.crs</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">ccrs</span>
<span class="kn">import</span> <span class="nn">cartopy.feature</span> <span class="k">as</span> <span class="nn">cfeature</span> <span class="kn">import</span><span class="w"> </span><span class="nn">cartopy.feature</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">cfeature</span>
<span class="kn">from</span> <span class="nn">cartopy.feature</span> <span class="kn">import</span> <span class="n">ShapelyFeature</span><span class="p">,</span> <span class="n">NaturalEarthFeature</span> <span class="kn">from</span><span class="w"> </span><span class="nn">cartopy.feature</span><span class="w"> </span><span class="kn">import</span> <span class="n">ShapelyFeature</span><span class="p">,</span> <span class="n">NaturalEarthFeature</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="w"> </span><span class="nn">cartopy.mpl.gridliner</span><span class="w"> </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">shapely.geometry</span> <span class="kn">import</span> <span class="n">MultiPolygon</span><span class="p">,</span> <span class="n">Polygon</span> <span class="kn">from</span><span class="w"> </span><span class="nn">shapely.geometry</span><span class="w"> </span><span class="kn">import</span> <span class="n">MultiPolygon</span><span class="p">,</span> <span class="n">Polygon</span>
<span class="kn">from</span> <span class="nn">awips.dataaccess</span> <span class="kn">import</span> <span class="n">DataAccessLayer</span> <span class="kn">from</span><span class="w"> </span><span class="nn">awips.dataaccess</span><span class="w"> </span><span class="kn">import</span> <span class="n">DataAccessLayer</span>
<span class="kn">from</span> <span class="nn">awips.tables</span> <span class="kn">import</span> <span class="n">vtec</span> <span class="kn">from</span><span class="w"> </span><span class="nn">awips.tables</span><span class="w"> </span><span class="kn">import</span> <span class="n">vtec</span>
<span class="kn">from</span> <span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span> <span class="kn">import</span> <span class="n">TimeRange</span> <span class="kn">from</span><span class="w"> </span><span class="nn">dynamicserialize.dstypes.com.raytheon.uf.common.time</span><span class="w"> </span><span class="kn">import</span> <span class="n">TimeRange</span>
</pre></div> </pre></div>
</div> </div>
<p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Watch_Warning_and_Advisory_Plotting.html">Top</a></p> <p><a class="reference external" href="https://unidata.github.io/python-awips/examples/generated/Watch_Warning_and_Advisory_Plotting.html">Top</a></p>
@ -207,7 +202,7 @@ place. It is a function you will find in most of our example notebooks.</p>
the <a class="reference external" href="https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.html">matplotlib.pyplot package the <a class="reference external" href="https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.html">matplotlib.pyplot package
(plt)</a> (plt)</a>
to create a figure and axis. The lat/lon grids are added.</p> to create a figure and axis. The lat/lon grids are added.</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> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </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">12</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">12</span><span class="p">),</span>
<span class="n">subplot_kw</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">projection</span><span class="o">=</span><span class="n">projection</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">set_extent</span><span class="p">(</span><span class="n">bbox</span><span class="p">)</span>
@ -225,7 +220,7 @@ to create a figure and axis. The lat/lon grids are added.</p>
<h3>3 Function: get_color()<a class="headerlink" href="#function-get-color" title="Permalink to this heading"></a></h3> <h3>3 Function: get_color()<a class="headerlink" href="#function-get-color" title="Permalink to this heading"></a></h3>
<p>Since well be needing to access the color using the vtec lookup table <p>Since well be needing to access the color using the vtec lookup table
in several places, creating an easily recognizable function is useful.</p> in several places, creating an easily recognizable function is useful.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">get_color</span><span class="p">(</span><span class="n">phensig</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">get_color</span><span class="p">(</span><span class="n">phensig</span><span class="p">):</span>
<span class="k">return</span> <span class="n">vtec</span><span class="p">[</span><span class="n">phensig</span><span class="p">][</span><span class="s1">&#39;color&#39;</span><span class="p">]</span> <span class="k">return</span> <span class="n">vtec</span><span class="p">[</span><span class="n">phensig</span><span class="p">][</span><span class="s1">&#39;color&#39;</span><span class="p">]</span>
</pre></div> </pre></div>
</div> </div>
@ -236,7 +231,7 @@ in several places, creating an easily recognizable function is useful.</p>
<h3>4 Function get_title()<a class="headerlink" href="#function-get-title" title="Permalink to this heading"></a></h3> <h3>4 Function get_title()<a class="headerlink" href="#function-get-title" title="Permalink to this heading"></a></h3>
<p>Similar to the color function just defined, accessing the full name for <p>Similar to the color function just defined, accessing the full name for
the phensig will also be necessary, so this function will be helpful.</p> the phensig will also be necessary, so this function will be helpful.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">get_title</span><span class="p">(</span><span class="n">phensig</span><span class="p">):</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">get_title</span><span class="p">(</span><span class="n">phensig</span><span class="p">):</span>
<span class="k">return</span> <span class="n">vtec</span><span class="p">[</span><span class="n">phensig</span><span class="p">][</span><span class="s1">&#39;hdln&#39;</span><span class="p">]</span> <span class="k">return</span> <span class="n">vtec</span><span class="p">[</span><span class="n">phensig</span><span class="p">][</span><span class="s1">&#39;hdln&#39;</span><span class="p">]</span>
</pre></div> </pre></div>
</div> </div>
@ -257,7 +252,7 @@ and set the data type to <strong>warning</strong>, and set the Parameters to
DataAccess.getAvailableParameters() method as shown in the Grid DataAccess.getAvailableParameters() method as shown in the Grid
Levels and Parameters Notebook.</p> Levels and Parameters Notebook.</p>
</div> </div>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-cloud.unidata.ucar.edu&quot;</span><span class="p">)</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="n">DataAccessLayer</span><span class="o">.</span><span class="n">changeEDEXHost</span><span class="p">(</span><span class="s2">&quot;edex-beta.unidata.ucar.edu&quot;</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="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="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;warning&quot;</span><span class="p">)</span> <span class="n">request</span><span class="o">.</span><span class="n">setDatatype</span><span class="p">(</span><span class="s2">&quot;warning&quot;</span><span class="p">)</span>
<span class="n">params</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;phensig&quot;</span><span class="p">,</span> <span class="s2">&quot;sig&quot;</span><span class="p">]</span> <span class="n">params</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;phensig&quot;</span><span class="p">,</span> <span class="s2">&quot;sig&quot;</span><span class="p">]</span>
@ -294,9 +289,9 @@ the
in line <code class="docutils literal notranslate"><span class="pre">2</span></code>. The more data we request, the longer the next section in line <code class="docutils literal notranslate"><span class="pre">2</span></code>. The more data we request, the longer the next section
will take to run.</p> will take to run.</p>
<div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Get records from the last 12 hours</span> <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># Get records from the last 12 hours</span>
<span class="n">lastHourDateTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span> <span class="o">=</span> <span class="mi">12</span><span class="p">)</span> <span class="n">lastHourDateTime</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">UTC</span><span class="p">)</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span> <span class="o">=</span> <span class="mi">12</span><span class="p">)</span>
<span class="n">start</span> <span class="o">=</span> <span class="n">lastHourDateTime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span> <span class="n">start</span> <span class="o">=</span> <span class="n">lastHourDateTime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
<span class="n">end</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">utcnow</span><span class="p">()</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span> <span class="n">end</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">(</span><span class="n">UTC</span><span class="p">)</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
<span class="n">beginRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span> <span class="n">beginRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">start</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
<span class="n">endRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">end</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span> <span class="n">endRange</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span> <span class="n">end</span> <span class="p">,</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
@ -402,7 +397,7 @@ phensig.</p>
<span class="c1"># set the geometries based on whether it&#39;s a MultiPolygon or Polygon</span> <span class="c1"># set the geometries based on whether it&#39;s a MultiPolygon or Polygon</span>
<span class="k">if</span> <span class="n">poly</span><span class="o">.</span><span class="n">geom_type</span> <span class="o">==</span> <span class="s1">&#39;MultiPolygon&#39;</span><span class="p">:</span> <span class="k">if</span> <span class="n">poly</span><span class="o">.</span><span class="n">geom_type</span> <span class="o">==</span> <span class="s1">&#39;MultiPolygon&#39;</span><span class="p">:</span>
<span class="n">geometries</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">geometries</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">geometries</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">geometries</span><span class="p">,</span><span class="n">MultiPolygon</span><span class="p">(</span><span class="n">poly</span><span class="p">))</span> <span class="n">geometries</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">geometries</span><span class="p">,</span><span class="n">MultiPolygon</span><span class="p">(</span><span class="n">poly</span><span class="p">)</span><span class="o">.</span><span class="n">geoms</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
<span class="n">geometries</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">geometries</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">geometries</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">geometries</span><span class="p">,</span><span class="n">Polygon</span><span class="p">(</span><span class="n">poly</span><span class="p">))</span> <span class="n">geometries</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">geometries</span><span class="p">,</span><span class="n">Polygon</span><span class="p">(</span><span class="n">poly</span><span class="p">))</span>
@ -640,7 +635,7 @@ interface</a></p></li>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Data Plotting Examples &mdash; python-awips documentation</title> <title>Data Plotting Examples &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/js/html5shiv.min.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="../_static/sphinx_highlight.js?v=4825356b"></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>
<script src="../_static/js/theme.js"></script> <script src="../_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="../about.html" /> <link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" /> <link rel="index" title="Index" href="../genindex.html" />
@ -37,9 +35,6 @@
<a href="../index.html" class="icon icon-home"> <a href="../index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -130,7 +125,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,22 +1,20 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &mdash; python-awips documentation</title> <title>Index &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/js/html5shiv.min.js"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="_static/sphinx_highlight.js?v=4825356b"></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>
<script src="_static/js/theme.js"></script> <script src="_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="about.html" /> <link rel="author" title="About these documents" href="about.html" />
<link rel="index" title="Index" href="#" /> <link rel="index" title="Index" href="#" />
@ -34,9 +32,6 @@
<a href="index.html" class="icon icon-home"> <a href="index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -81,430 +76,8 @@
<h1 id="index">Index</h1> <h1 id="index">Index</h1>
<div class="genindex-jumpbox"> <div class="genindex-jumpbox">
<a href="#_"><strong>_</strong></a>
| <a href="#A"><strong>A</strong></a>
| <a href="#C"><strong>C</strong></a>
| <a href="#D"><strong>D</strong></a>
| <a href="#E"><strong>E</strong></a>
| <a href="#G"><strong>G</strong></a>
| <a href="#I"><strong>I</strong></a>
| <a href="#L"><strong>L</strong></a>
| <a href="#M"><strong>M</strong></a>
| <a href="#N"><strong>N</strong></a>
| <a href="#P"><strong>P</strong></a>
| <a href="#S"><strong>S</strong></a>
| <a href="#T"><strong>T</strong></a>
</div> </div>
<h2 id="_">_</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.__weakref__">__weakref__ (awips.dataaccess.IDataRequest attribute)</a>
</li>
</ul></td>
</tr></table>
<h2 id="A">A</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.addIdentifier">addIdentifier() (awips.dataaccess.IDataRequest method)</a>
</li>
<li>
awips.dataaccess.CombinedTimeQuery
<ul>
<li><a href="api/CombinedTimeQuery.html#module-awips.dataaccess.CombinedTimeQuery">module</a>
</li>
</ul></li>
<li>
awips.dataaccess.DataAccessLayer
<ul>
<li><a href="api/DataAccessLayer.html#module-awips.dataaccess.DataAccessLayer">module</a>
</li>
</ul></li>
<li>
awips.dataaccess.ModelSounding
<ul>
<li><a href="api/ModelSounding.html#module-awips.dataaccess.ModelSounding">module</a>
</li>
</ul></li>
<li>
awips.dataaccess.PyData
<ul>
<li><a href="api/PyData.html#module-awips.dataaccess.PyData">module</a>
</li>
</ul></li>
<li>
awips.dataaccess.PyGeometryData
<ul>
<li><a href="api/PyGeometryData.html#module-awips.dataaccess.PyGeometryData">module</a>
</li>
</ul></li>
<li>
awips.dataaccess.PyGridData
<ul>
<li><a href="api/PyGridData.html#module-awips.dataaccess.PyGridData">module</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li>
awips.dataaccess.ThriftClientRouter
<ul>
<li><a href="api/ThriftClientRouter.html#module-awips.dataaccess.ThriftClientRouter">module</a>
</li>
</ul></li>
<li>
awips.DateTimeConverter
<ul>
<li><a href="api/DateTimeConverter.html#module-awips.DateTimeConverter">module</a>
</li>
</ul></li>
<li>
awips.gfe.IFPClient
<ul>
<li><a href="api/IFPClient.html#module-awips.gfe.IFPClient">module</a>
</li>
</ul></li>
<li>
awips.RadarCommon
<ul>
<li><a href="api/RadarCommon.html#module-awips.RadarCommon">module</a>
</li>
</ul></li>
<li>
awips.ThriftClient
<ul>
<li><a href="api/ThriftClient.html#module-awips.ThriftClient">module</a>
</li>
</ul></li>
<li>
awips.TimeUtil
<ul>
<li><a href="api/TimeUtil.html#module-awips.TimeUtil">module</a>
</li>
</ul></li>
</ul></td>
</tr></table>
<h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.changeEDEXHost">changeEDEXHost() (in module awips.dataaccess.DataAccessLayer)</a>
<ul>
<li><a href="api/ModelSounding.html#awips.dataaccess.ModelSounding.changeEDEXHost">(in module awips.dataaccess.ModelSounding)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/IFPClient.html#awips.gfe.IFPClient.IFPClient.commitGrid">commitGrid() (awips.gfe.IFPClient.IFPClient method)</a>
</li>
<li><a href="api/DateTimeConverter.html#awips.DateTimeConverter.constructTimeRange">constructTimeRange() (in module awips.DateTimeConverter)</a>
</li>
<li><a href="api/DateTimeConverter.html#awips.DateTimeConverter.convertToDateTime">convertToDateTime() (in module awips.DateTimeConverter)</a>
</li>
</ul></td>
</tr></table>
<h2 id="D">D</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/TimeUtil.html#awips.TimeUtil.determineDrtOffset">determineDrtOffset() (in module awips.TimeUtil)</a>
</li>
</ul></td>
</tr></table>
<h2 id="E">E</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/RadarCommon.html#awips.RadarCommon.encode_dep_vals">encode_dep_vals() (in module awips.RadarCommon)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/RadarCommon.html#awips.RadarCommon.encode_radial">encode_radial() (in module awips.RadarCommon)</a>
</li>
<li><a href="api/RadarCommon.html#awips.RadarCommon.encode_thresh_vals">encode_thresh_vals() (in module awips.RadarCommon)</a>
</li>
</ul></td>
</tr></table>
<h2 id="G">G</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/RadarCommon.html#awips.RadarCommon.get_data_type">get_data_type() (in module awips.RadarCommon)</a>
</li>
<li><a href="api/RadarCommon.html#awips.RadarCommon.get_datetime_str">get_datetime_str() (in module awips.RadarCommon)</a>
</li>
<li><a href="api/RadarCommon.html#awips.RadarCommon.get_hdf5_data">get_hdf5_data() (in module awips.RadarCommon)</a>
</li>
<li><a href="api/RadarCommon.html#awips.RadarCommon.get_header">get_header() (in module awips.RadarCommon)</a>
</li>
<li><a href="api/PyData.html#awips.dataaccess.PyData.PyData.getAttribute">getAttribute() (awips.dataaccess.PyData.PyData method)</a>
</li>
<li><a href="api/PyData.html#awips.dataaccess.PyData.PyData.getAttributes">getAttributes() (awips.dataaccess.PyData.PyData method)</a>
</li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLevels">getAvailableLevels() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLevels">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableLocationNames">getAvailableLocationNames() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableLocationNames">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableParameters">getAvailableParameters() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableParameters">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getAvailableTimes">getAvailableTimes() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/CombinedTimeQuery.html#awips.dataaccess.CombinedTimeQuery.getAvailableTimes">(in module awips.dataaccess.CombinedTimeQuery)</a>
</li>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getAvailableTimes">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/PyData.html#awips.dataaccess.PyData.PyData.getDataTime">getDataTime() (awips.dataaccess.PyData.PyData method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.getDatatype">getDatatype() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.getEnvelope">getEnvelope() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getForecastRun">getForecastRun() (in module awips.dataaccess.DataAccessLayer)</a>
</li>
<li><a href="api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getGeometry">getGeometry() (awips.dataaccess.PyGeometryData.PyGeometryData method)</a>
</li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGeometryData">getGeometryData() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGeometryData">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getGridData">getGridData() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getGridData">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/IFPClient.html#awips.gfe.IFPClient.IFPClient.getGridInventory">getGridInventory() (awips.gfe.IFPClient.IFPClient method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.getIdentifiers">getIdentifiers() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getIdentifierValues">getIdentifierValues() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getIdentifierValues">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData.getLatLonCoords">getLatLonCoords() (awips.dataaccess.PyGridData.PyGridData method)</a>
</li>
<li><a href="api/PyData.html#awips.dataaccess.PyData.PyData.getLevel">getLevel() (awips.dataaccess.PyData.PyData method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.getLevels">getLevels() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/PyData.html#awips.dataaccess.PyData.PyData.getLocationName">getLocationName() (awips.dataaccess.PyData.PyData method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.getLocationNames">getLocationNames() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getMetarObs">getMetarObs() (in module awips.dataaccess.DataAccessLayer)</a>
</li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getNotificationFilter">getNotificationFilter() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
</li>
<li><a href="api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getNumber">getNumber() (awips.dataaccess.PyGeometryData.PyGeometryData method)</a>
</li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getOptionalIdentifiers">getOptionalIdentifiers() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getOptionalIdentifiers">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData.getParameter">getParameter() (awips.dataaccess.PyGridData.PyGridData method)</a>
</li>
<li><a href="api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getParameters">getParameters() (awips.dataaccess.PyGeometryData.PyGeometryData method)</a>
</li>
<li><a href="api/IFPClient.html#awips.gfe.IFPClient.IFPClient.getParmList">getParmList() (awips.gfe.IFPClient.IFPClient method)</a>
</li>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRadarProductIDs">getRadarProductIDs() (in module awips.dataaccess.DataAccessLayer)</a>
</li>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRadarProductNames">getRadarProductNames() (in module awips.dataaccess.DataAccessLayer)</a>
</li>
<li><a href="api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData.getRawData">getRawData() (awips.dataaccess.PyGridData.PyGridData method)</a>
</li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getRequiredIdentifiers">getRequiredIdentifiers() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRequiredIdentifiers">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/IFPClient.html#awips.gfe.IFPClient.IFPClient.getSelectTR">getSelectTR() (awips.gfe.IFPClient.IFPClient method)</a>
</li>
<li><a href="api/IFPClient.html#awips.gfe.IFPClient.IFPClient.getSiteID">getSiteID() (awips.gfe.IFPClient.IFPClient method)</a>
</li>
<li><a href="api/ModelSounding.html#awips.dataaccess.ModelSounding.getSounding">getSounding() (in module awips.dataaccess.ModelSounding)</a>
</li>
<li><a href="api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getString">getString() (awips.dataaccess.PyGeometryData.PyGeometryData method)</a>
</li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.getSupportedDatatypes">getSupportedDatatypes() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getSupportedDatatypes">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getSynopticObs">getSynopticObs() (in module awips.dataaccess.DataAccessLayer)</a>
</li>
<li><a href="api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getType">getType() (awips.dataaccess.PyGeometryData.PyGeometryData method)</a>
</li>
<li><a href="api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData.getUnit">getUnit() (awips.dataaccess.PyGeometryData.PyGeometryData method)</a>
<ul>
<li><a href="api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData.getUnit">(awips.dataaccess.PyGridData.PyGridData method)</a>
</li>
</ul></li>
</ul></td>
</tr></table>
<h2 id="I">I</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest">IDataRequest (class in awips.dataaccess)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/IFPClient.html#awips.gfe.IFPClient.IFPClient">IFPClient (class in awips.gfe.IFPClient)</a>
</li>
</ul></td>
</tr></table>
<h2 id="L">L</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.LazyGridLatLon">LazyGridLatLon (class in awips.dataaccess.ThriftClientRouter)</a>
</li>
</ul></td>
</tr></table>
<h2 id="M">M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/TimeUtil.html#awips.TimeUtil.makeTime">makeTime() (in module awips.TimeUtil)</a>
</li>
<li>
module
<ul>
<li><a href="api/CombinedTimeQuery.html#module-awips.dataaccess.CombinedTimeQuery">awips.dataaccess.CombinedTimeQuery</a>
</li>
<li><a href="api/DataAccessLayer.html#module-awips.dataaccess.DataAccessLayer">awips.dataaccess.DataAccessLayer</a>
</li>
<li><a href="api/ModelSounding.html#module-awips.dataaccess.ModelSounding">awips.dataaccess.ModelSounding</a>
</li>
<li><a href="api/PyData.html#module-awips.dataaccess.PyData">awips.dataaccess.PyData</a>
</li>
<li><a href="api/PyGeometryData.html#module-awips.dataaccess.PyGeometryData">awips.dataaccess.PyGeometryData</a>
</li>
<li><a href="api/PyGridData.html#module-awips.dataaccess.PyGridData">awips.dataaccess.PyGridData</a>
</li>
<li><a href="api/ThriftClientRouter.html#module-awips.dataaccess.ThriftClientRouter">awips.dataaccess.ThriftClientRouter</a>
</li>
<li><a href="api/DateTimeConverter.html#module-awips.DateTimeConverter">awips.DateTimeConverter</a>
</li>
<li><a href="api/IFPClient.html#module-awips.gfe.IFPClient">awips.gfe.IFPClient</a>
</li>
<li><a href="api/RadarCommon.html#module-awips.RadarCommon">awips.RadarCommon</a>
</li>
<li><a href="api/ThriftClient.html#module-awips.ThriftClient">awips.ThriftClient</a>
</li>
<li><a href="api/TimeUtil.html#module-awips.TimeUtil">awips.TimeUtil</a>
</li>
</ul></li>
</ul></td>
</tr></table>
<h2 id="N">N</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.newDataRequest">newDataRequest() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
</ul></td>
</tr></table>
<h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/PyData.html#awips.dataaccess.PyData.PyData">PyData (class in awips.dataaccess.PyData)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/PyGeometryData.html#awips.dataaccess.PyGeometryData.PyGeometryData">PyGeometryData (class in awips.dataaccess.PyGeometryData)</a>
</li>
<li><a href="api/PyGridData.html#awips.dataaccess.PyGridData.PyGridData">PyGridData (class in awips.dataaccess.PyGridData)</a>
</li>
</ul></td>
</tr></table>
<h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/ThriftClient.html#awips.ThriftClient.ThriftClient.sendRequest">sendRequest() (awips.ThriftClient.ThriftClient method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.setDatatype">setDatatype() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.setEnvelope">setEnvelope() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter.setLazyLoadGridLatLon">setLazyLoadGridLatLon() (awips.dataaccess.ThriftClientRouter.ThriftClientRouter method)</a>
<ul>
<li><a href="api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.setLazyLoadGridLatLon">(in module awips.dataaccess.DataAccessLayer)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.setLevels">setLevels() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.setLocationNames">setLocationNames() (awips.dataaccess.IDataRequest method)</a>
</li>
<li><a href="api/IDataRequest.html#awips.dataaccess.IDataRequest.setParameters">setParameters() (awips.dataaccess.IDataRequest method)</a>
</li>
</ul></td>
</tr></table>
<h2 id="T">T</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/ThriftClient.html#awips.ThriftClient.ThriftClient">ThriftClient (class in awips.ThriftClient)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="api/ThriftClientRouter.html#awips.dataaccess.ThriftClientRouter.ThriftClientRouter">ThriftClientRouter (class in awips.dataaccess.ThriftClientRouter)</a>
</li>
<li><a href="api/ThriftClient.html#awips.ThriftClient.ThriftRequestException">ThriftRequestException</a>
</li>
</ul></td>
</tr></table>
</div> </div>
@ -514,7 +87,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Grid Parameters &mdash; python-awips documentation</title> <title>Grid Parameters &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/js/html5shiv.min.js"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="_static/sphinx_highlight.js?v=4825356b"></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>
<script src="_static/js/theme.js"></script> <script src="_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="about.html" /> <link rel="author" title="About these documents" href="about.html" />
<link rel="index" title="Index" href="genindex.html" /> <link rel="index" title="Index" href="genindex.html" />
@ -37,9 +35,6 @@
<a href="index.html" class="icon icon-home"> <a href="index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -5878,7 +5873,7 @@ USWRF</p></td>
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

View file

@ -1,3 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
@ -5,19 +7,15 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Python AWIPS Data Access Framework &mdash; python-awips documentation</title> <title>Python AWIPS Data Access Framework &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/js/html5shiv.min.js"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="_static/sphinx_highlight.js?v=4825356b"></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>
<script src="_static/js/theme.js"></script> <script src="_static/js/theme.js"></script>
<link rel="author" title="About these documents" href="about.html" /> <link rel="author" title="About these documents" href="about.html" />
<link rel="index" title="Index" href="genindex.html" /> <link rel="index" title="Index" href="genindex.html" />
@ -36,9 +34,6 @@
<a href="#" class="icon icon-home"> <a href="#" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -89,7 +84,7 @@
<dl class="simple"> <dl class="simple">
<dt>In order to effictively use python-awips youll need to have these installed already:</dt><dd><ul class="simple"> <dt>In order to effictively use python-awips youll need to have these installed already:</dt><dd><ul class="simple">
<li><p>python3</p></li> <li><p>python3</p></li>
<li><p>conda</p></li> <li><p>micromamba (or conda)</p></li>
<li><p>git <em>(for the source code and examples installation)</em></p></li> <li><p>git <em>(for the source code and examples installation)</em></p></li>
</ul> </ul>
</dd> </dd>
@ -105,9 +100,9 @@ The package can be installed with either of the two well known package managers:
</pre></div> </pre></div>
</div> </div>
</section> </section>
<section id="conda-install"> <section id="micromamba-conda-install">
<h3>Conda Install<a class="headerlink" href="#conda-install" title="Permalink to this heading"></a></h3> <h3>Micromamba (conda) Install<a class="headerlink" href="#micromamba-conda-install" title="Permalink to this heading"></a></h3>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">python</span><span class="o">-</span><span class="n">awips</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">micromamba</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">python</span><span class="o">-</span><span class="n">awips</span>
</pre></div> </pre></div>
</div> </div>
</section> </section>
@ -117,9 +112,9 @@ The package can be installed with either of the two well known package managers:
<p>Below are instructions on how to install the source code of python-awips, with all included example notebooks. This will create a new conda environment called <code class="docutils literal notranslate"><span class="pre">python3-awips</span></code> and start up a browser for the jupyter notebook examples.</p> <p>Below are instructions on how to install the source code of python-awips, with all included example notebooks. This will create a new conda environment called <code class="docutils literal notranslate"><span class="pre">python3-awips</span></code> and start up a browser for the jupyter notebook examples.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">Unidata</span><span class="o">/</span><span class="n">python</span><span class="o">-</span><span class="n">awips</span><span class="o">.</span><span class="n">git</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">Unidata</span><span class="o">/</span><span class="n">python</span><span class="o">-</span><span class="n">awips</span><span class="o">.</span><span class="n">git</span>
<span class="n">cd</span> <span class="n">python</span><span class="o">-</span><span class="n">awips</span> <span class="n">cd</span> <span class="n">python</span><span class="o">-</span><span class="n">awips</span>
<span class="n">conda</span> <span class="n">env</span> <span class="n">create</span> <span class="o">-</span><span class="n">f</span> <span class="n">environment</span><span class="o">.</span><span class="n">yml</span> <span class="n">micromamba</span> <span class="n">env</span> <span class="n">create</span> <span class="o">-</span><span class="n">f</span> <span class="n">environment</span><span class="o">.</span><span class="n">yml</span>
<span class="n">conda</span> <span class="n">activate</span> <span class="n">python3</span><span class="o">-</span><span class="n">awips</span> <span class="n">micromamba</span> <span class="n">activate</span> <span class="n">python</span><span class="o">-</span><span class="n">awips</span>
<span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">install</span> <span class="o">--</span><span class="n">force</span> <span class="n">pip</span> <span class="n">install</span> <span class="o">.</span>
<span class="n">jupyter</span> <span class="n">notebook</span> <span class="n">examples</span> <span class="n">jupyter</span> <span class="n">notebook</span> <span class="n">examples</span>
</pre></div> </pre></div>
</div> </div>
@ -142,7 +137,7 @@ The package can be installed with either of the two well known package managers:
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

Binary file not shown.

View file

@ -1,190 +0,0 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Python Module Index &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<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>
<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" />
</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">
20.1
</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" aria-label="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>
<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"><a class="reference internal" href="examples/index.html">Data Plotting Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="dev.html">Development Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="gridparms.html">Grid Parameters</a></li>
<li class="toctree-l1"><a class="reference internal" href="about.html">About Unidata AWIPS</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="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" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Python Module Index</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<h1>Python Module Index</h1>
<div class="modindex-jumpbox">
<a href="#cap-a"><strong>a</strong></a>
</div>
<table class="indextable modindextable">
<tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
<tr class="cap" id="cap-a"><td></td><td>
<strong>a</strong></td><td></td></tr>
<tr>
<td><img src="_static/minus.png" class="toggler"
id="toggle-1" style="display: none" alt="-" /></td>
<td>
<code class="xref">awips</code></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/CombinedTimeQuery.html#module-awips.dataaccess.CombinedTimeQuery"><code class="xref">awips.dataaccess.CombinedTimeQuery</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/DataAccessLayer.html#module-awips.dataaccess.DataAccessLayer"><code class="xref">awips.dataaccess.DataAccessLayer</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/ModelSounding.html#module-awips.dataaccess.ModelSounding"><code class="xref">awips.dataaccess.ModelSounding</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/PyData.html#module-awips.dataaccess.PyData"><code class="xref">awips.dataaccess.PyData</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/PyGeometryData.html#module-awips.dataaccess.PyGeometryData"><code class="xref">awips.dataaccess.PyGeometryData</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/PyGridData.html#module-awips.dataaccess.PyGridData"><code class="xref">awips.dataaccess.PyGridData</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/ThriftClientRouter.html#module-awips.dataaccess.ThriftClientRouter"><code class="xref">awips.dataaccess.ThriftClientRouter</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/DateTimeConverter.html#module-awips.DateTimeConverter"><code class="xref">awips.DateTimeConverter</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/IFPClient.html#module-awips.gfe.IFPClient"><code class="xref">awips.gfe.IFPClient</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/RadarCommon.html#module-awips.RadarCommon"><code class="xref">awips.RadarCommon</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/ThriftClient.html#module-awips.ThriftClient"><code class="xref">awips.ThriftClient</code></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
<a href="api/TimeUtil.html#module-awips.TimeUtil"><code class="xref">awips.TimeUtil</code></a></td><td>
<em></em></td></tr>
</table>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2018, NSF 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>

View file

@ -1,23 +1,21 @@
<!DOCTYPE html> <!DOCTYPE html>
<html class="writer-html5" lang="en"> <html class="writer-html5" lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Search &mdash; python-awips documentation</title> <title>Search &mdash; python-awips documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<!--[if lt IE 9]> <script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/js/html5shiv.min.js"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<![endif]--> <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/jquery.js?v=5d32c60e"></script> <script src="_static/sphinx_highlight.js?v=4825356b"></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>
<script src="_static/js/theme.js"></script> <script src="_static/js/theme.js"></script>
<script src="_static/searchtools.js"></script> <script src="_static/searchtools.js"></script>
<script src="_static/language_data.js"></script> <script src="_static/language_data.js"></script>
@ -37,9 +35,6 @@
<a href="index.html" class="icon icon-home"> <a href="index.html" class="icon icon-home">
python-awips python-awips
</a> </a>
<div class="version">
20.1
</div>
<div role="search"> <div role="search">
<form id="rtd-search-form" class="wy-form" action="#" method="get"> <form id="rtd-search-form" class="wy-form" action="#" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
@ -100,7 +95,7 @@
<hr/> <hr/>
<div role="contentinfo"> <div role="contentinfo">
<p>&#169; Copyright 2018, NSF Unidata.</p> <p>&#169; Copyright 2025, NSF Unidata.</p>
</div> </div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a

File diff suppressed because one or more lines are too long