Changeset 08c9091 in flex_extract.git for Documentation/html/_modules/GribUtil.html


Ignore:
Timestamp:
Aug 12, 2020, 8:47:31 AM (4 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
73308e0
Parents:
ee9aaec
Message:

updated online docu (rm tabs)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Documentation/html/_modules/GribUtil.html

    r6931f61 r08c9091  
    175175<span class="c1">#</span>
    176176<span class="c1"># @License:</span>
    177 <span class="c1">#    (C) Copyright 2014-2019.</span>
     177<span class="c1">#    (C) Copyright 2014-2020.</span>
    178178<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
    179179<span class="c1">#</span>
     
    284284
    285285
    286 <div class="viewcode-block" id="GribUtil.set_keys"><a class="viewcode-back" href="../Documentation/Api/api_python.html#GribUtil.GribUtil.set_keys">[docs]</a>    <span class="k">def</span> <span class="nf">set_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fromfile</span><span class="p">,</span> <span class="n">keynames</span><span class="p">,</span> <span class="n">keyvalues</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="p">,</span>
    287                  <span class="n">wherekeyvalues</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;wb&#39;</span><span class="p">):</span>
     286<div class="viewcode-block" id="GribUtil.set_keys"><a class="viewcode-back" href="../Documentation/Api/api_python.html#GribUtil.GribUtil.set_keys">[docs]</a>    <span class="k">def</span> <span class="nf">set_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fromfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;wb&#39;</span><span class="p">,</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[],</span>
     287                 <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[]):</span>
    288288        <span class="sd">&#39;&#39;&#39;Opens the file to read the grib messages and then write</span>
    289289<span class="sd">        the selected messages (with wherekeys) to a new output file.</span>
     
    324324
    325325        <span class="n">fout</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">filemode</span><span class="p">)</span>
    326 
    327         <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fromfile</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
     326       <span class="c1"># print(fout)</span>
     327        <span class="n">fin</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fromfile</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span>
     328       <span class="c1"># print(fin)</span>
     329        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
    328330            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span>
    329 
     331           <span class="c1"># print(&#39;test&#39;)</span>
     332            <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
     333                <span class="k">break</span>           
     334           
    330335            <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span>
    331             <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
    332             <span class="k">for</span> <span class="n">wherekey</span> <span class="ow">in</span> <span class="n">wherekeynames</span><span class="p">:</span>
     336            <span class="c1">#print(str(codes_get(gid,&#39;paramId&#39;)))</span>
     337            <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">wherekey</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">wherekeynames</span><span class="p">):</span>
    333338                <span class="k">if</span> <span class="ow">not</span> <span class="n">codes_is_defined</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">wherekey</span><span class="p">):</span>
    334339                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;wherekey was not defined&quot;</span><span class="p">)</span>
     
    336341                <span class="n">select</span> <span class="o">=</span> <span class="p">(</span><span class="n">select</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">wherekeyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">==</span>
    337342                                      <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">wherekey</span><span class="p">))))</span>
    338                 <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
    339343
    340344            <span class="k">if</span> <span class="n">select</span><span class="p">:</span>
    341                 <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
    342                 <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keynames</span><span class="p">:</span>
     345                <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">keynames</span><span class="p">):</span>
    343346                    <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="s1">&#39;values&#39;</span><span class="p">:</span>
    344347                        <span class="n">codes_set_values</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">keyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
    345348                    <span class="k">else</span><span class="p">:</span>
    346349                        <span class="n">codes_set</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">keyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
    347                     <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
    348350
    349351                <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fout</span><span class="p">)</span>
     
    352354
    353355        <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
     356        <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
    354357
    355358        <span class="k">return</span></div>
     
    391394            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Give a value for each keyname!&quot;</span><span class="p">)</span>
    392395
    393 
    394396        <span class="n">fout</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">filemode</span><span class="p">)</span>
    395 
     397        <span class="n">fin</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename_in</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span>
     398       
    396399        <span class="n">fields</span> <span class="o">=</span> <span class="mi">0</span>
    397 
    398         <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename_in</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
    399             <span class="k">if</span> <span class="n">fields</span> <span class="o">&gt;=</span> <span class="mi">1</span><span class="p">:</span>
     400        <span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
     401            <span class="k">if</span> <span class="n">fields</span> <span class="o">&gt;=</span> <span class="nb">len</span><span class="p">(</span><span class="n">keyvalues</span><span class="p">):</span>
    400402                <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
     403                <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
    401404                <span class="k">return</span>
    402 
     405               
    403406            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span>
    404 
    405             <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span>
    406             <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
    407             <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">keynames</span><span class="p">:</span>
     407            <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
     408                <span class="k">break</span>           
     409
     410            <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">key</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">keynames</span><span class="p">):</span>
     411               
     412                <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span>
     413               
    408414                <span class="k">if</span> <span class="ow">not</span> <span class="n">codes_is_defined</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
    409415                    <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Key was not defined&quot;</span><span class="p">)</span>
     
    415421                    <span class="n">select</span> <span class="o">=</span> <span class="p">(</span><span class="n">select</span> <span class="ow">and</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">keyvalues</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="o">!=</span>
    416422                                          <span class="nb">str</span><span class="p">(</span><span class="n">codes_get</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">key</span><span class="p">))))</span>
    417                 <span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
    418 
    419             <span class="k">if</span> <span class="n">select</span><span class="p">:</span>
    420                 <span class="n">fields</span> <span class="o">=</span> <span class="n">fields</span> <span class="o">+</span> <span class="mi">1</span>
    421                 <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fout</span><span class="p">)</span>
    422 
     423               
     424                <span class="k">if</span> <span class="n">select</span><span class="p">:</span>
     425                    <span class="n">fields</span> <span class="o">=</span> <span class="n">fields</span> <span class="o">+</span> <span class="mi">1</span>
     426                    <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fout</span><span class="p">)</span>
     427                   
    423428            <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
    424429
    425430        <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
     431        <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
    426432
    427433        <span class="k">return</span></div>
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG