Changes in Documentation/html/_modules/GribUtil.html [6931f61:08c9091] in flex_extract.git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Documentation/html/_modules/GribUtil.html
r6931f61 r08c9091 175 175 <span class="c1">#</span> 176 176 <span class="c1"># @License:</span> 177 <span class="c1"># (C) Copyright 2014-20 19.</span>177 <span class="c1"># (C) Copyright 2014-2020.</span> 178 178 <span class="c1"># Anne Philipp, Leopold Haimberger</span> 179 179 <span class="c1">#</span> … … 284 284 285 285 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">wherekey values</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">'wb'</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">'wb'</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> 288 288 <span class="sd">'''Opens the file to read the grib messages and then write</span> 289 289 <span class="sd"> the selected messages (with wherekeys) to a new output file.</span> … … 324 324 325 325 <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">'rb'</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">'rb'</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> 328 330 <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('test')</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 330 335 <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,'paramId')))</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> 333 338 <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> 334 339 <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"wherekey was not defined"</span><span class="p">)</span> … … 336 341 <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> 337 342 <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>339 343 340 344 <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> 343 346 <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="s1">'values'</span><span class="p">:</span> 344 347 <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> 345 348 <span class="k">else</span><span class="p">:</span> 346 349 <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>348 350 349 351 <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> … … 352 354 353 355 <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> 354 357 355 358 <span class="k">return</span></div> … … 391 394 <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Give a value for each keyname!"</span><span class="p">)</span> 392 395 393 394 396 <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">'rb'</span><span class="p">)</span> 398 396 399 <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">'rb'</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">>=</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">>=</span> <span class="nb">len</span><span class="p">(</span><span class="n">keyvalues</span><span class="p">):</span> 400 402 <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> 401 404 <span class="k">return</span> 402 405 403 406 <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 408 414 <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> 409 415 <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Key was not defined"</span><span class="p">)</span> … … 415 421 <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> 416 422 <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 423 428 <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> 424 429 425 430 <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> 426 432 427 433 <span class="k">return</span></div>
Note: See TracChangeset
for help on using the changeset viewer.