|
4 | 4 | <html xmlns="http://www.w3.org/1999/xhtml">
|
5 | 5 | <head>
|
6 | 6 | <meta charset="utf-8" />
|
7 |
| - <title>pyhecdss.pyhecdss — pyhecdss 0.2.3 documentation</title> |
| 7 | + <title>pyhecdss.pyhecdss — pyhecdss 0.2.4 documentation</title> |
8 | 8 | <link rel="stylesheet" href="../../_static/alabaster.css" type="text/css" />
|
9 | 9 | <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
10 | 10 | <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
|
@@ -36,6 +36,25 @@ <h1>Source code for pyhecdss.pyhecdss</h1><div class="highlight"><pre>
|
36 | 36 | <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
37 | 37 | <span class="kn">import</span> <span class="nn">os</span>
|
38 | 38 | <span class="kn">import</span> <span class="nn">time</span>
|
| 39 | +<span class="c1"># some static functions</span> |
| 40 | +<div class="viewcode-block" id="set_message_level"><a class="viewcode-back" href="../../pyhecdss.html#pyhecdss.pyhecdss.set_message_level">[docs]</a><span class="k">def</span> <span class="nf">set_message_level</span><span class="p">(</span><span class="n">level</span><span class="p">):</span> |
| 41 | + <span class="sd">"""</span> |
| 42 | +<span class="sd"> set the verbosity level of the HEC-DSS library</span> |
| 43 | +<span class="sd"> level ranges from "bort" only (level 0) to "internal" (level >10)</span> |
| 44 | +<span class="sd"> """</span> |
| 45 | + <span class="n">pyheclib</span><span class="o">.</span><span class="n">hec_zset</span><span class="p">(</span><span class="s1">'MLEVEL'</span><span class="p">,</span><span class="s1">''</span><span class="p">,</span><span class="n">level</span><span class="p">)</span></div> |
| 46 | +<div class="viewcode-block" id="set_program_name"><a class="viewcode-back" href="../../pyhecdss.html#pyhecdss.pyhecdss.set_program_name">[docs]</a><span class="k">def</span> <span class="nf">set_program_name</span><span class="p">(</span><span class="n">program_name</span><span class="p">):</span> |
| 47 | + <span class="sd">"""</span> |
| 48 | +<span class="sd"> sets the name of the program (upto 6 chars long) to store with data</span> |
| 49 | +<span class="sd"> """</span> |
| 50 | + <span class="n">name</span><span class="o">=</span><span class="n">program_name</span><span class="p">[:</span><span class="nb">min</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="n">program_name</span><span class="p">))]</span> |
| 51 | + <span class="n">pyheclib</span><span class="o">.</span><span class="n">hec_zset</span><span class="p">(</span><span class="s1">'PROGRAM'</span><span class="p">,</span><span class="n">name</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span></div> |
| 52 | +<div class="viewcode-block" id="get_version"><a class="viewcode-back" href="../../pyhecdss.html#pyhecdss.pyhecdss.get_version">[docs]</a><span class="k">def</span> <span class="nf">get_version</span><span class="p">(</span><span class="n">fname</span><span class="p">):</span> |
| 53 | + <span class="sd">"""</span> |
| 54 | +<span class="sd"> Get version of DSS File</span> |
| 55 | +<span class="sd"> returns a tuple of string version of 4 characters and integer version</span> |
| 56 | +<span class="sd"> """</span> |
| 57 | + <span class="k">return</span> <span class="n">pyheclib</span><span class="o">.</span><span class="n">hec_zfver</span><span class="p">(</span><span class="n">fname</span><span class="p">);</span></div> |
39 | 58 | <div class="viewcode-block" id="DSSFile"><a class="viewcode-back" href="../../pyhecdss.html#pyhecdss.pyhecdss.DSSFile">[docs]</a><span class="k">class</span> <span class="nc">DSSFile</span><span class="p">:</span>
|
40 | 59 | <span class="c1">#DSS missing conventions</span>
|
41 | 60 | <span class="n">MISSING_VALUE</span><span class="o">=-</span><span class="mf">901.0</span>
|
@@ -90,10 +109,11 @@ <h1>Source code for pyhecdss.pyhecdss</h1><div class="highlight"><pre>
|
90 | 109 | <div class="viewcode-block" id="DSSFile.get_version"><a class="viewcode-back" href="../../pyhecdss.html#pyhecdss.pyhecdss.DSSFile.get_version">[docs]</a> <span class="k">def</span> <span class="nf">get_version</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
91 | 110 | <span class="sd">"""</span>
|
92 | 111 | <span class="sd"> Get version of DSS File</span>
|
| 112 | +<span class="sd"> returns a tuple of string version of 4 characters and integer version</span> |
93 | 113 | <span class="sd"> """</span>
|
94 | 114 | <span class="c1">#needs to be done on a closed file</span>
|
95 | 115 | <span class="k">if</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">isopen</span><span class="p">):</span> <span class="bp">self</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
96 |
| - <span class="n">pyheclib</span><span class="o">.</span><span class="n">zfver_</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fname</span><span class="p">,</span> <span class="n">char</span> <span class="o">*</span><span class="n">cver</span><span class="p">,</span> <span class="nb">int</span> <span class="o">*</span><span class="n">iver</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">fname</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">cver</span><span class="p">));</span></div> |
| 116 | + <span class="k">return</span> <span class="n">pyheclib</span><span class="o">.</span><span class="n">hec_zfver</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fname</span><span class="p">);</span></div> |
97 | 117 | <div class="viewcode-block" id="DSSFile.catalog"><a class="viewcode-back" href="../../pyhecdss.html#pyhecdss.pyhecdss.DSSFile.catalog">[docs]</a> <span class="k">def</span> <span class="nf">catalog</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
98 | 118 | <span class="sd">"""</span>
|
99 | 119 | <span class="sd"> Catalog DSS Files</span>
|
@@ -299,16 +319,20 @@ <h1>Source code for pyhecdss.pyhecdss</h1><div class="highlight"><pre>
|
299 | 319 | <span class="n">dvalues</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">nvals</span><span class="p">,</span><span class="s1">'d'</span><span class="p">)</span> <span class="c1"># PERF: could be np.empty if all initialized</span>
|
300 | 320 | <span class="n">nvals</span><span class="p">,</span><span class="n">cunits</span><span class="p">,</span><span class="n">ctype</span><span class="p">,</span><span class="n">iofset</span><span class="p">,</span><span class="n">istat</span><span class="o">=</span><span class="n">pyheclib</span><span class="o">.</span><span class="n">hec_zrrtsxd</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ifltab</span><span class="p">,</span> <span class="n">pathname</span><span class="p">,</span> <span class="n">cdate</span><span class="p">,</span> <span class="n">ctime</span><span class="p">,</span>
|
301 | 321 | <span class="n">dvalues</span><span class="p">)</span>
|
| 322 | + <span class="k">if</span> <span class="n">iofset</span> <span class="o">!=</span><span class="mi">0</span> <span class="p">:</span> |
| 323 | + <span class="nb">print</span><span class="p">(</span><span class="s1">'Warning: iofset value of non-zero is not handled: '</span><span class="p">,</span><span class="n">iofset</span><span class="p">)</span> |
302 | 324 | <span class="c1">#FIXME: raise appropriate exception for istat value</span>
|
303 | 325 | <span class="c1">#if istat != 0:</span>
|
304 | 326 | <span class="c1"># raise Exception(self._get_istat_for_zrrtsxd(istat))</span>
|
305 | 327 | <span class="c1">#FIXME: deal with non-zero iofset</span>
|
306 | 328 | <span class="n">freqoffset</span><span class="o">=</span><span class="n">DSSFile</span><span class="o">.</span><span class="n">EPART_FREQ_MAP</span><span class="p">[</span><span class="n">interval</span><span class="p">]</span>
|
307 |
| - <span class="k">if</span> <span class="n">ctype</span> <span class="o">==</span> <span class="s1">'INST-VAL'</span><span class="p">:</span> |
| 329 | + <span class="k">if</span> <span class="n">ctype</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s1">'INST'</span><span class="p">):</span> |
308 | 330 | <span class="n">dindex</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">date_range</span><span class="p">(</span><span class="n">startDateStr</span><span class="p">,</span><span class="n">periods</span><span class="o">=</span><span class="n">nvals</span><span class="p">,</span><span class="n">freq</span><span class="o">=</span><span class="n">freqoffset</span><span class="p">)</span>
|
309 | 331 | <span class="k">else</span><span class="p">:</span>
|
310 |
| - <span class="n">dindex</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">period_range</span><span class="p">(</span><span class="n">startDateStr</span><span class="p">,</span><span class="n">periods</span><span class="o">=</span><span class="n">nvals</span><span class="p">,</span><span class="n">freq</span><span class="o">=</span><span class="n">freqoffset</span><span class="p">)</span> |
| 332 | + <span class="n">sp</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">Period</span><span class="p">(</span><span class="n">startDateStr</span><span class="p">,</span><span class="n">freq</span><span class="o">=</span><span class="n">freqoffset</span><span class="p">)</span><span class="o">-</span><span class="n">pd</span><span class="o">.</span><span class="n">tseries</span><span class="o">.</span><span class="n">frequencies</span><span class="o">.</span><span class="n">to_offset</span><span class="p">(</span><span class="n">freqoffset</span><span class="p">)</span> |
| 333 | + <span class="n">dindex</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">period_range</span><span class="p">(</span><span class="n">sp</span><span class="p">,</span><span class="n">periods</span><span class="o">=</span><span class="n">nvals</span><span class="p">,</span><span class="n">freq</span><span class="o">=</span><span class="n">freqoffset</span><span class="p">)</span> |
311 | 334 | <span class="n">df1</span><span class="o">=</span><span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">dvalues</span><span class="p">,</span><span class="n">index</span><span class="o">=</span><span class="n">dindex</span><span class="p">,</span><span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="n">pathname</span><span class="p">])</span>
|
| 335 | + <span class="c1"># cleanup missing values --> NAN, trim dataset and units and period type strings</span> |
312 | 336 | <span class="n">df1</span><span class="o">.</span><span class="n">replace</span><span class="p">([</span><span class="n">DSSFile</span><span class="o">.</span><span class="n">MISSING_VALUE</span><span class="p">,</span><span class="n">DSSFile</span><span class="o">.</span><span class="n">MISSING_RECORD</span><span class="p">],[</span><span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">nan</span><span class="p">],</span><span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
313 | 337 | <span class="k">if</span> <span class="n">trim_first</span> <span class="ow">or</span> <span class="n">trim_last</span><span class="p">:</span>
|
314 | 338 | <span class="k">if</span> <span class="n">trim_first</span><span class="p">:</span>
|
|
0 commit comments