Changeset 2625ca8 in flex_extract.git for documentation/Sphinx/build/html/_modules/MarsRetrieval.html
- Timestamp:
- Jan 15, 2019, 1:03:37 AM (5 years ago)
- Branches:
- master, ctbto, dev
- Children:
- 6f951ca
- Parents:
- 0629ba8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
documentation/Sphinx/build/html/_modules/MarsRetrieval.html
r274f9ef r2625ca8 170 170 <span class="c1"># - added documentation</span> 171 171 <span class="c1"># - applied some minor modifications in programming style/structure</span> 172 <span class="c1"># - added writing of mars request attributes to a csv file</span> 172 173 <span class="c1">#</span> 173 174 <span class="c1"># @License:</span> 174 <span class="c1"># (C) Copyright 2015-2018.</span> 175 <span class="c1"># (C) Copyright 2014-2019.</span> 176 <span class="c1"># Anne Philipp, Leopold Haimberger</span> 175 177 <span class="c1">#</span> 176 <span class="c1"># This software is licensed under the terms of the Apache Licence Version 2.0</span> 177 <span class="c1"># which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span> 178 <span class="c1">#</span> 179 <span class="c1"># @Class Description:</span> 180 <span class="c1"># A MARS revtrieval has a specific syntax with a selection of keywords and</span> 181 <span class="c1"># their corresponding values. This class provides the necessary functions</span> 182 <span class="c1"># by displaying the selected parameters and their values and the actual</span> 183 <span class="c1"># retrievement of the data through a mars request or a Python web api</span> 184 <span class="c1"># interface. The initialization already expects all the keyword values.</span> 185 <span class="c1">#</span> 186 <span class="c1"># @Class Content:</span> 187 <span class="c1"># - __init__</span> 188 <span class="c1"># - display_info</span> 189 <span class="c1"># - data_retrieve</span> 190 <span class="c1">#</span> 191 <span class="c1"># @Class Attributes:</span> 192 <span class="c1"># - server</span> 193 <span class="c1"># - marsclass</span> 194 <span class="c1"># - dtype</span> 195 <span class="c1"># - levtype</span> 196 <span class="c1"># - levelist</span> 197 <span class="c1"># - repres</span> 198 <span class="c1"># - date</span> 199 <span class="c1"># - resol</span> 200 <span class="c1"># - stream</span> 201 <span class="c1"># - area</span> 202 <span class="c1"># - time</span> 203 <span class="c1"># - step</span> 204 <span class="c1"># - expver</span> 205 <span class="c1"># - number</span> 206 <span class="c1"># - accuracy</span> 207 <span class="c1"># - grid</span> 208 <span class="c1"># - gaussian</span> 209 <span class="c1"># - target</span> 210 <span class="c1"># - param</span> 211 <span class="c1">#</span> 178 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> 179 <span class="c1"># International License. To view a copy of this license, visit</span> 180 <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> 181 <span class="c1"># Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span> 212 182 <span class="c1">#*******************************************************************************</span> 213 183 … … 226 196 <span class="c1"># ------------------------------------------------------------------------------</span> 227 197 <div class="viewcode-block" id="MarsRetrieval"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval">[docs]</a><span class="k">class</span> <span class="nc">MarsRetrieval</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> 228 <span class="sd">'''Class for submitting MARS retrievals.</span> 198 <span class="sd">'''Specific syntax and content for submission of MARS retrievals.</span> 199 200 <span class="sd"> A MARS revtrieval has a specific syntax with a selection of keywords and</span> 201 <span class="sd"> their corresponding values. This class provides the necessary functions</span> 202 <span class="sd"> by displaying the selected parameters and their values and the actual</span> 203 <span class="sd"> retrievement of the data through a mars request or a Python web api</span> 204 <span class="sd"> interface. The initialization already expects all the keyword values.</span> 229 205 230 206 <span class="sd"> A description of MARS keywords/arguments and examples of their</span> … … 232 208 <span class="sd"> https://software.ecmwf.int/wiki/display/UDOC/\</span> 233 209 <span class="sd"> Identification+keywords#Identificationkeywords-class</span> 210 211 <span class="sd"> Attributes</span> 212 <span class="sd"> ----------</span> 213 <span class="sd"> server : ECMWFService or ECMWFDataServer</span> 214 <span class="sd"> This is the connection to the ECMWF data servers.</span> 215 216 <span class="sd"> public : int</span> 217 <span class="sd"> Decides which Web API Server version is used.</span> 218 219 <span class="sd"> marsclass : str, optional</span> 220 <span class="sd"> Characterisation of dataset.</span> 221 222 <span class="sd"> dataset : str, optional</span> 223 <span class="sd"> For public datasets there is the specific naming and parameter</span> 224 <span class="sd"> dataset which has to be used to characterize the type of</span> 225 <span class="sd"> data.</span> 226 227 <span class="sd"> type : str, optional</span> 228 <span class="sd"> Determines the type of fields to be retrieved.</span> 229 230 <span class="sd"> levtype : str, optional</span> 231 <span class="sd"> Denotes type of level.</span> 232 233 <span class="sd"> levelist : str, optional</span> 234 <span class="sd"> Specifies the required levels.</span> 235 236 <span class="sd"> repres : str, optional</span> 237 <span class="sd"> Selects the representation of the archived data.</span> 238 239 <span class="sd"> date : str, optional</span> 240 <span class="sd"> Specifies the Analysis date, the Forecast base date or</span> 241 <span class="sd"> Observations date.</span> 242 243 <span class="sd"> resol : str, optional</span> 244 <span class="sd"> Specifies the desired triangular truncation of retrieved data,</span> 245 <span class="sd"> before carrying out any other selected post-processing.</span> 246 247 <span class="sd"> stream : str, optional</span> 248 <span class="sd"> Identifies the forecasting system used to generate the data.</span> 249 250 <span class="sd"> area : str, optional</span> 251 <span class="sd"> Specifies the desired sub-area of data to be extracted.</span> 252 253 <span class="sd"> time : str, optional</span> 254 <span class="sd"> Specifies the time of the data in hours and minutes.</span> 255 256 <span class="sd"> step : str, optional</span> 257 <span class="sd"> Specifies the forecast time step from forecast base time.</span> 258 259 <span class="sd"> expver : str, optional</span> 260 <span class="sd"> The version of the dataset.</span> 261 262 <span class="sd"> number : str, optional</span> 263 <span class="sd"> Selects the member in ensemble forecast run.</span> 264 265 <span class="sd"> accuracy : str, optional</span> 266 <span class="sd"> Specifies the number of bits per value to be used in the</span> 267 <span class="sd"> generated GRIB coded fields.</span> 268 269 <span class="sd"> grid : str, optional</span> 270 <span class="sd"> Specifies the output grid which can be either a Gaussian grid</span> 271 <span class="sd"> or a Latitude/Longitude grid.</span> 272 273 <span class="sd"> gaussian : str, optional</span> 274 <span class="sd"> This parameter is deprecated and should no longer be used.</span> 275 <span class="sd"> Specifies the desired type of Gaussian grid for the output.</span> 276 277 <span class="sd"> target : str, optional</span> 278 <span class="sd"> Specifies a file into which data is to be written after</span> 279 <span class="sd"> retrieval or manipulation.</span> 280 281 <span class="sd"> param : str, optional</span> 282 <span class="sd"> Specifies the meteorological parameter.</span> 234 283 <span class="sd"> '''</span> 235 284 … … 249 298 <span class="sd"> Parameters</span> 250 299 <span class="sd"> ----------</span> 251 <span class="sd"> server : :obj:`ECMWFService`</span>300 <span class="sd"> server : ECMWFService or ECMWFDataServer</span> 252 301 <span class="sd"> This is the connection to the ECMWF data servers.</span> 253 302 <span class="sd"> It is needed for the pythonic access of ECMWF data.</span> 254 303 255 <span class="sd"> public : :obj:`integer`</span>304 <span class="sd"> public : int</span> 256 305 <span class="sd"> Decides which Web API version is used:</span> 257 306 <span class="sd"> 0: member-state users and full archive access</span> … … 260 309 <span class="sd"> Default is "0" and for member-state users.</span> 261 310 262 <span class="sd"> marsclass : :obj:`string`, optional</span>311 <span class="sd"> marsclass : str, optional</span> 263 312 <span class="sd"> Characterisation of dataset. E.g. EI (ERA-Interim),</span> 264 313 <span class="sd"> E4 (ERA40), OD (Operational archive), ea (ERA5).</span> 265 314 <span class="sd"> Default is the ERA-Interim dataset "ei".</span> 266 315 267 <span class="sd"> dataset : :obj:`string`, optional</span>316 <span class="sd"> dataset : str, optional</span> 268 317 <span class="sd"> For public datasets there is the specific naming and parameter</span> 269 318 <span class="sd"> dataset which has to be used to characterize the type of</span> … … 272 321 <span class="sd"> Default is an empty string.</span> 273 322 274 <span class="sd"> type : :obj:`string`, optional</span>323 <span class="sd"> type : str, optional</span> 275 324 <span class="sd"> Determines the type of fields to be retrieved.</span> 276 325 <span class="sd"> Selects between observations, images or fields.</span> … … 279 328 <span class="sd"> Default is an empty string.</span> 280 329 281 <span class="sd"> levtype : :obj:`string`, optional</span>330 <span class="sd"> levtype : str, optional</span> 282 331 <span class="sd"> Denotes type of level. Has a direct implication on valid</span> 283 332 <span class="sd"> levelist values!</span> … … 287 336 <span class="sd"> Default is an empty string.</span> 288 337 289 <span class="sd"> levelist : :obj:`string`, optional</span>338 <span class="sd"> levelist : str, optional</span> 290 339 <span class="sd"> Specifies the required levels. It has to have a valid</span> 291 340 <span class="sd"> correspondence to the selected levtype.</span> … … 293 342 <span class="sd"> Default is an empty string.</span> 294 343 295 <span class="sd"> repres : :obj:`string`, optional</span>344 <span class="sd"> repres : str, optional</span> 296 345 <span class="sd"> Selects the representation of the archived data.</span> 297 346 <span class="sd"> E.g. sh - spherical harmonics, gg - Gaussian grid,</span> … … 299 348 <span class="sd"> Default is an empty string.</span> 300 349 301 <span class="sd"> date : :obj:`string`, optional</span>350 <span class="sd"> date : str, optional</span> 302 351 <span class="sd"> Specifies the Analysis date, the Forecast base date or</span> 303 352 <span class="sd"> Observations date. Valid formats are:</span> … … 305 354 <span class="sd"> Default is an empty string.</span> 306 355 307 <span class="sd"> resol : :obj:`string`, optional</span>356 <span class="sd"> resol : str, optional</span> 308 357 <span class="sd"> Specifies the desired triangular truncation of retrieved data,</span> 309 358 <span class="sd"> before carrying out any other selected post-processing.</span> … … 322 371 <span class="sd"> Default is an empty string.</span> 323 372 324 <span class="sd"> stream : :obj:`string`, optional</span>373 <span class="sd"> stream : str, optional</span> 325 374 <span class="sd"> Identifies the forecasting system used to generate the data.</span> 326 375 <span class="sd"> E.g. oper (Atmospheric model), enfo (Ensemble forecats), ...</span> 327 376 <span class="sd"> Default is an empty string.</span> 328 377 329 <span class="sd"> area : :obj:`string`, optional</span>378 <span class="sd"> area : str, optional</span> 330 379 <span class="sd"> Specifies the desired sub-area of data to be extracted.</span> 331 380 <span class="sd"> Areas can be defined to wrap around the globe.</span> … … 345 394 <span class="sd"> Default is an empty string.</span> 346 395 347 <span class="sd"> time : :obj:`string`, optional</span>396 <span class="sd"> time : str, optional</span> 348 397 <span class="sd"> Specifies the time of the data in hours and minutes.</span> 349 398 <span class="sd"> Valid values depend on the type of data: Analysis time,</span> … … 355 404 <span class="sd"> Default is an empty string.</span> 356 405 357 <span class="sd"> step : :obj:`string`, optional</span>406 <span class="sd"> step : str, optional</span> 358 407 <span class="sd"> Specifies the forecast time step from forecast base time.</span> 359 408 <span class="sd"> Valid values are hours (HH) from forecast base time. It also</span> … … 363 412 <span class="sd"> Default is an empty string.</span> 364 413 365 <span class="sd"> expver : :obj:`string`, optional</span>414 <span class="sd"> expver : str, optional</span> 366 415 <span class="sd"> The version of the dataset. Each experiment is assigned a</span> 367 416 <span class="sd"> unique code (version). Production data is assigned 1 or 2,</span> … … 371 420 <span class="sd"> Default is "1".</span> 372 421 373 <span class="sd"> number : :obj:`string`, optional</span>422 <span class="sd"> number : str, optional</span> 374 423 <span class="sd"> Selects the member in ensemble forecast run. (Only then it</span> 375 424 <span class="sd"> is necessary.) It has a different meaning depending on</span> … … 378 427 <span class="sd"> Default is an empty string.</span> 379 428 380 <span class="sd"> accuracy : :obj:`string`, optional</span>429 <span class="sd"> accuracy : str, optional</span> 381 430 <span class="sd"> Specifies the number of bits per value to be used in the</span> 382 431 <span class="sd"> generated GRIB coded fields.</span> … … 389 438 <span class="sd"> Default is an empty string.</span> 390 439 391 <span class="sd"> grid : :obj:`string`, optional</span>440 <span class="sd"> grid : str, optional</span> 392 441 <span class="sd"> Specifies the output grid which can be either a Gaussian grid</span> 393 442 <span class="sd"> or a Latitude/Longitude grid. MARS requests specifying</span> … … 410 459 <span class="sd"> Default is an empty string.</span> 411 460 412 <span class="sd"> gaussian : :obj:`string`, optional</span>461 <span class="sd"> gaussian : str, optional</span> 413 462 <span class="sd"> This parameter is deprecated and should no longer be used.</span> 414 463 <span class="sd"> Specifies the desired type of Gaussian grid for the output.</span> … … 418 467 <span class="sd"> Default is an empty string.</span> 419 468 420 <span class="sd"> target : :obj:`string`, optional</span>469 <span class="sd"> target : str, optional</span> 421 470 <span class="sd"> Specifies a file into which data is to be written after</span> 422 471 <span class="sd"> retrieval or manipulation. Path names should always be</span> … … 432 481 <span class="sd"> Default is an empty string.</span> 433 482 434 <span class="sd"> param : :obj:`string`, optional</span>483 <span class="sd"> param : str, optional</span> 435 484 <span class="sd"> Specifies the meteorological parameter.</span> 436 485 <span class="sd"> The list of meteorological parameters in MARS is extensive.</span> … … 500 549 501 550 502 <div class="viewcode-block" id="MarsRetrieval.print_info"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval.print_info">[docs]</a> <span class="k">def</span> <span class="nf">print_info</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inputdir</span><span class="p">,</span> <span class="n">request_number</span><span class="p">):</span> 503 <span class="sd">'''Prints all mars requests to an extra file for debugging and</span> 504 <span class="sd"> information.</span> 551 <div class="viewcode-block" id="MarsRetrieval.print_infodata_csv"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval.print_infodata_csv">[docs]</a> <span class="k">def</span> <span class="nf">print_infodata_csv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inputdir</span><span class="p">,</span> <span class="n">request_number</span><span class="p">):</span> 552 <span class="sd">'''Write all request parameter in alpabetical order into a "csv" file.</span> 505 553 506 554 <span class="sd"> Parameters</span> 507 555 <span class="sd"> ----------</span> 508 <span class="sd"> inputdir : :obj:`string`</span>556 <span class="sd"> inputdir : str</span> 509 557 <span class="sd"> The path where all data from the retrievals are stored.</span> 510 558 511 <span class="sd"> request_number : :obj:`integer`</span> 512 <span class="sd"> Number of mars requests for flux and non-flux data.</span> 513 514 <span class="sd"> Return</span> 515 <span class="sd"> ------</span> 516 517 <span class="sd"> '''</span> 518 <span class="c1"># Get all class attributes and their values as a dictionary</span> 519 <span class="n">attrs</span> <span class="o">=</span> <span class="nb">vars</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span> 520 521 <span class="c1"># open a file to store all requests to</span> 522 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">inputdir</span><span class="p">,</span> 523 <span class="n">_config</span><span class="o">.</span><span class="n">FILE_MARS_REQUESTS</span><span class="p">),</span> <span class="s1">'a'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> 524 <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'mars_request #'</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">request_number</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 525 <span class="c1"># iterate through all attributes and print them</span> 526 <span class="c1"># with their corresponding values</span> 527 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">attrs</span><span class="o">.</span><span class="n">items</span><span class="p">():</span> 528 <span class="k">if</span> <span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'server'</span><span class="p">,</span> <span class="s1">'public'</span><span class="p">]:</span> 529 <span class="k">pass</span> 530 <span class="k">else</span><span class="p">:</span> 531 <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="s1">': '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">item</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 532 <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'</span><span class="se">\n\n</span><span class="s1">'</span><span class="p">)</span> 533 534 <span class="k">return</span></div> 535 536 537 <div class="viewcode-block" id="MarsRetrieval.print_infodata_csv"><a class="viewcode-back" href="../api.html#MarsRetrieval.MarsRetrieval.print_infodata_csv">[docs]</a> <span class="k">def</span> <span class="nf">print_infodata_csv</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inputdir</span><span class="p">,</span> <span class="n">request_number</span><span class="p">):</span> 538 <span class="sd">'''Write all request parameter in alpabetical order into a "csv" file.</span> 539 540 <span class="sd"> Parameters</span> 541 <span class="sd"> ----------</span> 542 <span class="sd"> inputdir : :obj:`string`</span> 543 <span class="sd"> The path where all data from the retrievals are stored.</span> 544 545 <span class="sd"> request_number : :obj:`integer`</span> 559 <span class="sd"> request_number : int</span> 546 560 <span class="sd"> Number of mars requests for flux and non-flux data.</span> 547 561 … … 668 682 <div role="contentinfo"> 669 683 <p> 670 © Copyright 2018, Anne Philipp and Leopold Haimberger .684 © Copyright 2018, Anne Philipp and Leopold Haimberger 671 685 672 686 </p> … … 687 701 688 702 689 <script type="text/javascript"> 690 var DOCUMENTATION_OPTIONS = { 691 URL_ROOT:'../', 692 VERSION:'7.1 alpha', 693 LANGUAGE:'None', 694 COLLAPSE_INDEX:false, 695 FILE_SUFFIX:'.html', 696 HAS_SOURCE: true, 697 SOURCELINK_SUFFIX: '.txt' 698 }; 699 </script> 700 <script type="text/javascript" src="../_static/jquery.js"></script> 701 <script type="text/javascript" src="../_static/underscore.js"></script> 702 <script type="text/javascript" src="../_static/doctools.js"></script> 703 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 703 704 705 <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> 706 <script type="text/javascript" src="../_static/jquery.js"></script> 707 <script type="text/javascript" src="../_static/underscore.js"></script> 708 <script type="text/javascript" src="../_static/doctools.js"></script> 709 704 710 705 711
Note: See TracChangeset
for help on using the changeset viewer.