Ignore:
Timestamp:
Jan 15, 2019, 1:03:37 AM (5 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
6f951ca
Parents:
0629ba8
Message:

new build of sphinx for updated api

File:
1 edited

Legend:

Unmodified
Added
Removed
  • documentation/Sphinx/build/html/_modules/MarsRetrieval.html

    r274f9ef r2625ca8  
    170170<span class="c1">#        - added documentation</span>
    171171<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>
    172173<span class="c1">#</span>
    173174<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>
    175177<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>
    212182<span class="c1">#*******************************************************************************</span>
    213183
     
    226196<span class="c1"># ------------------------------------------------------------------------------</span>
    227197<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">&#39;&#39;&#39;Class for submitting MARS retrievals.</span>
     198    <span class="sd">&#39;&#39;&#39;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>
    229205
    230206<span class="sd">    A description of MARS keywords/arguments and examples of their</span>
     
    232208<span class="sd">    https://software.ecmwf.int/wiki/display/UDOC/\</span>
    233209<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>
    234283<span class="sd">    &#39;&#39;&#39;</span>
    235284
     
    249298<span class="sd">        Parameters</span>
    250299<span class="sd">        ----------</span>
    251 <span class="sd">        server : :obj:`ECMWFService`</span>
     300<span class="sd">        server : ECMWFService or ECMWFDataServer</span>
    252301<span class="sd">            This is the connection to the ECMWF data servers.</span>
    253302<span class="sd">            It is needed for the pythonic access of ECMWF data.</span>
    254303
    255 <span class="sd">        public : :obj:`integer`</span>
     304<span class="sd">        public : int</span>
    256305<span class="sd">            Decides which Web API version is used:</span>
    257306<span class="sd">            0: member-state users and full archive access</span>
     
    260309<span class="sd">            Default is &quot;0&quot; and for member-state users.</span>
    261310
    262 <span class="sd">        marsclass : :obj:`string`, optional</span>
     311<span class="sd">        marsclass : str, optional</span>
    263312<span class="sd">            Characterisation of dataset. E.g. EI (ERA-Interim),</span>
    264313<span class="sd">            E4 (ERA40), OD (Operational archive), ea (ERA5).</span>
    265314<span class="sd">            Default is the ERA-Interim dataset &quot;ei&quot;.</span>
    266315
    267 <span class="sd">        dataset : :obj:`string`, optional</span>
     316<span class="sd">        dataset : str, optional</span>
    268317<span class="sd">            For public datasets there is the specific naming and parameter</span>
    269318<span class="sd">            dataset which has to be used to characterize the type of</span>
     
    272321<span class="sd">            Default is an empty string.</span>
    273322
    274 <span class="sd">        type : :obj:`string`, optional</span>
     323<span class="sd">        type : str, optional</span>
    275324<span class="sd">            Determines the type of fields to be retrieved.</span>
    276325<span class="sd">            Selects between observations, images or fields.</span>
     
    279328<span class="sd">            Default is an empty string.</span>
    280329
    281 <span class="sd">        levtype : :obj:`string`, optional</span>
     330<span class="sd">        levtype : str, optional</span>
    282331<span class="sd">            Denotes type of level. Has a direct implication on valid</span>
    283332<span class="sd">            levelist values!</span>
     
    287336<span class="sd">            Default is an empty string.</span>
    288337
    289 <span class="sd">        levelist : :obj:`string`, optional</span>
     338<span class="sd">        levelist : str, optional</span>
    290339<span class="sd">            Specifies the required levels. It has to have a valid</span>
    291340<span class="sd">            correspondence to the selected levtype.</span>
     
    293342<span class="sd">            Default is an empty string.</span>
    294343
    295 <span class="sd">        repres : :obj:`string`, optional</span>
     344<span class="sd">        repres : str, optional</span>
    296345<span class="sd">            Selects the representation of the archived data.</span>
    297346<span class="sd">            E.g. sh - spherical harmonics, gg - Gaussian grid,</span>
     
    299348<span class="sd">            Default is an empty string.</span>
    300349
    301 <span class="sd">        date : :obj:`string`, optional</span>
     350<span class="sd">        date : str, optional</span>
    302351<span class="sd">            Specifies the Analysis date, the Forecast base date or</span>
    303352<span class="sd">            Observations date. Valid formats are:</span>
     
    305354<span class="sd">            Default is an empty string.</span>
    306355
    307 <span class="sd">        resol : :obj:`string`, optional</span>
     356<span class="sd">        resol : str, optional</span>
    308357<span class="sd">            Specifies the desired triangular truncation of retrieved data,</span>
    309358<span class="sd">            before carrying out any other selected post-processing.</span>
     
    322371<span class="sd">            Default is an empty string.</span>
    323372
    324 <span class="sd">        stream : :obj:`string`, optional</span>
     373<span class="sd">        stream : str, optional</span>
    325374<span class="sd">            Identifies the forecasting system used to generate the data.</span>
    326375<span class="sd">            E.g. oper (Atmospheric model), enfo (Ensemble forecats), ...</span>
    327376<span class="sd">            Default is an empty string.</span>
    328377
    329 <span class="sd">        area : :obj:`string`, optional</span>
     378<span class="sd">        area : str, optional</span>
    330379<span class="sd">            Specifies the desired sub-area of data to be extracted.</span>
    331380<span class="sd">            Areas can be defined to wrap around the globe.</span>
     
    345394<span class="sd">            Default is an empty string.</span>
    346395
    347 <span class="sd">        time : :obj:`string`, optional</span>
     396<span class="sd">        time : str, optional</span>
    348397<span class="sd">            Specifies the time of the data in hours and minutes.</span>
    349398<span class="sd">            Valid values depend on the type of data: Analysis time,</span>
     
    355404<span class="sd">            Default is an empty string.</span>
    356405
    357 <span class="sd">        step : :obj:`string`, optional</span>
     406<span class="sd">        step : str, optional</span>
    358407<span class="sd">            Specifies the forecast time step from forecast base time.</span>
    359408<span class="sd">            Valid values are hours (HH) from forecast base time. It also</span>
     
    363412<span class="sd">            Default is an empty string.</span>
    364413
    365 <span class="sd">        expver : :obj:`string`, optional</span>
     414<span class="sd">        expver : str, optional</span>
    366415<span class="sd">            The version of the dataset. Each experiment is assigned a</span>
    367416<span class="sd">            unique code (version). Production data is assigned 1 or 2,</span>
     
    371420<span class="sd">            Default is &quot;1&quot;.</span>
    372421
    373 <span class="sd">        number : :obj:`string`, optional</span>
     422<span class="sd">        number : str, optional</span>
    374423<span class="sd">            Selects the member in ensemble forecast run. (Only then it</span>
    375424<span class="sd">            is necessary.) It has a different meaning depending on</span>
     
    378427<span class="sd">            Default is an empty string.</span>
    379428
    380 <span class="sd">        accuracy : :obj:`string`, optional</span>
     429<span class="sd">        accuracy : str, optional</span>
    381430<span class="sd">            Specifies the number of bits per value to be used in the</span>
    382431<span class="sd">            generated GRIB coded fields.</span>
     
    389438<span class="sd">            Default is an empty string.</span>
    390439
    391 <span class="sd">        grid : :obj:`string`, optional</span>
     440<span class="sd">        grid : str, optional</span>
    392441<span class="sd">            Specifies the output grid which can be either a Gaussian grid</span>
    393442<span class="sd">            or a Latitude/Longitude grid. MARS requests specifying</span>
     
    410459<span class="sd">            Default is an empty string.</span>
    411460
    412 <span class="sd">        gaussian : :obj:`string`, optional</span>
     461<span class="sd">        gaussian : str, optional</span>
    413462<span class="sd">            This parameter is deprecated and should no longer be used.</span>
    414463<span class="sd">            Specifies the desired type of Gaussian grid for the output.</span>
     
    418467<span class="sd">            Default is an empty string.</span>
    419468
    420 <span class="sd">        target : :obj:`string`, optional</span>
     469<span class="sd">        target : str, optional</span>
    421470<span class="sd">            Specifies a file into which data is to be written after</span>
    422471<span class="sd">            retrieval or manipulation. Path names should always be</span>
     
    432481<span class="sd">            Default is an empty string.</span>
    433482
    434 <span class="sd">        param : :obj:`string`, optional</span>
     483<span class="sd">        param : str, optional</span>
    435484<span class="sd">            Specifies the meteorological parameter.</span>
    436485<span class="sd">            The list of meteorological parameters in MARS is extensive.</span>
     
    500549
    501550
    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">&#39;&#39;&#39;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">&#39;&#39;&#39;Write all request parameter in alpabetical order into a &quot;csv&quot; file.</span>
    505553
    506554<span class="sd">        Parameters</span>
    507555<span class="sd">        ----------</span>
    508 <span class="sd">        inputdir : :obj:`string`</span>
     556<span class="sd">        inputdir : str</span>
    509557<span class="sd">            The path where all data from the retrievals are stored.</span>
    510558
    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">        &#39;&#39;&#39;</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">&#39;a&#39;</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">&#39;mars_request #&#39;</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">&#39;</span><span class="se">\n</span><span class="s1">&#39;</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">&#39;server&#39;</span><span class="p">,</span> <span class="s1">&#39;public&#39;</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">&#39;: &#39;</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">&#39;</span><span class="se">\n</span><span class="s1">&#39;</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">&#39;</span><span class="se">\n\n</span><span class="s1">&#39;</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">&#39;&#39;&#39;Write all request parameter in alpabetical order into a &quot;csv&quot; 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>
    546560<span class="sd">            Number of mars requests for flux and non-flux data.</span>
    547561
     
    668682  <div role="contentinfo">
    669683    <p>
    670         &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
     684        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
    671685
    672686    </p>
     
    687701 
    688702
    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   
    704710
    705711 
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG