Ignore:
Timestamp:
Oct 22, 2018, 11:44:47 AM (5 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
db27c09
Parents:
708c667
Message:

Converted docstrings to numpy style and build first structure for sphinxdocumentation (incl API)

File:
1 edited

Legend:

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

    r708c667 r274f9ef  
    213213<span class="c1"># ------------------------------------------------------------------------------</span>
    214214
    215 <div class="viewcode-block" id="none_or_str"><a class="viewcode-back" href="../code.html#tools.none_or_str">[docs]</a><span class="k">def</span> <span class="nf">none_or_str</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
    216     <span class="sd">&#39;&#39;&#39;</span>
    217 <span class="sd">    @Description:</span>
    218 <span class="sd">        Converts the input string into pythons None-type if the string</span>
    219 <span class="sd">        contains &quot;None&quot;.</span>
    220 
    221 <span class="sd">    @Input:</span>
    222 <span class="sd">        value: string</span>
    223 <span class="sd">            String to be checked for the &quot;None&quot; word.</span>
    224 
    225 <span class="sd">    @Return:</span>
    226 <span class="sd">        None or value:</span>
    227 <span class="sd">            Return depends on the content of the input value. If it was &quot;None&quot;,</span>
    228 <span class="sd">            then the python type None is returned. Otherwise the string itself.</span>
     215<div class="viewcode-block" id="none_or_str"><a class="viewcode-back" href="../api.html#tools.none_or_str">[docs]</a><span class="k">def</span> <span class="nf">none_or_str</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
     216    <span class="sd">&#39;&#39;&#39;Converts the input string into pythons None-type if the string</span>
     217<span class="sd">    contains string &quot;None&quot;.</span>
     218
     219<span class="sd">    Parameters</span>
     220<span class="sd">    ----------</span>
     221<span class="sd">    value : :obj:`string`</span>
     222<span class="sd">        String to be checked for the &quot;None&quot; word.</span>
     223
     224<span class="sd">    Return</span>
     225<span class="sd">    ------</span>
     226<span class="sd">    None or value:</span>
     227<span class="sd">        Return depends on the content of the input value. If it was &quot;None&quot;,</span>
     228<span class="sd">        then the python type None is returned. Otherwise the string itself.</span>
    229229<span class="sd">    &#39;&#39;&#39;</span>
    230230    <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s1">&#39;None&#39;</span><span class="p">:</span>
     
    232232    <span class="k">return</span> <span class="n">value</span></div>
    233233
    234 <div class="viewcode-block" id="none_or_int"><a class="viewcode-back" href="../code.html#tools.none_or_int">[docs]</a><span class="k">def</span> <span class="nf">none_or_int</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
    235     <span class="sd">&#39;&#39;&#39;</span>
    236 <span class="sd">    @Description:</span>
    237 <span class="sd">        Converts the input string into pythons None-type if the string</span>
    238 <span class="sd">        contains &quot;None&quot;. Otherwise it is converted to an integer value.</span>
    239 
    240 <span class="sd">    @Input:</span>
    241 <span class="sd">        value: string</span>
    242 <span class="sd">            String to be checked for the &quot;None&quot; word.</span>
    243 
    244 <span class="sd">    @Return:</span>
    245 <span class="sd">        None or int(value):</span>
    246 <span class="sd">            Return depends on the content of the input value. If it was &quot;None&quot;,</span>
    247 <span class="sd">            then the python type None is returned. Otherwise the string is</span>
    248 <span class="sd">            converted into an integer value.</span>
     234<div class="viewcode-block" id="none_or_int"><a class="viewcode-back" href="../api.html#tools.none_or_int">[docs]</a><span class="k">def</span> <span class="nf">none_or_int</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
     235    <span class="sd">&#39;&#39;&#39;Converts the input string into pythons None-type if the string</span>
     236<span class="sd">    contains string &quot;None&quot;. Otherwise it is converted to an integer value.</span>
     237
     238<span class="sd">    Parameters</span>
     239<span class="sd">    ----------</span>
     240<span class="sd">    value : :obj:`string`</span>
     241<span class="sd">        String to be checked for the &quot;None&quot; word.</span>
     242
     243<span class="sd">    Return</span>
     244<span class="sd">    ------</span>
     245<span class="sd">    None or int(value):</span>
     246<span class="sd">        Return depends on the content of the input value. If it was &quot;None&quot;,</span>
     247<span class="sd">        then the python type None is returned. Otherwise the string is</span>
     248<span class="sd">        converted into an integer value.</span>
    249249<span class="sd">    &#39;&#39;&#39;</span>
    250250    <span class="k">if</span> <span class="n">value</span> <span class="o">==</span> <span class="s1">&#39;None&#39;</span><span class="p">:</span>
     
    252252    <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">value</span><span class="p">)</span></div>
    253253
    254 <div class="viewcode-block" id="get_cmdline_arguments"><a class="viewcode-back" href="../code.html#tools.get_cmdline_arguments">[docs]</a><span class="k">def</span> <span class="nf">get_cmdline_arguments</span><span class="p">():</span>
    255     <span class="sd">&#39;&#39;&#39;</span>
    256 <span class="sd">    @Description:</span>
    257 <span class="sd">        Decomposes the command line arguments and assigns them to variables.</span>
    258 <span class="sd">        Apply default values for non mentioned arguments.</span>
    259 
    260 <span class="sd">    @Input:</span>
    261 <span class="sd">        &lt;nothing&gt;</span>
    262 
    263 <span class="sd">    @Return:</span>
    264 <span class="sd">        args: instance of ArgumentParser</span>
    265 <span class="sd">            Contains the commandline arguments from script/program call.</span>
     254<div class="viewcode-block" id="get_cmdline_arguments"><a class="viewcode-back" href="../api.html#tools.get_cmdline_arguments">[docs]</a><span class="k">def</span> <span class="nf">get_cmdline_arguments</span><span class="p">():</span>
     255    <span class="sd">&#39;&#39;&#39;Decomposes the command line arguments and assigns them to variables.</span>
     256<span class="sd">    Apply default values for non mentioned arguments.</span>
     257
     258<span class="sd">    Parameters</span>
     259<span class="sd">    ----------</span>
     260
     261<span class="sd">    Return</span>
     262<span class="sd">    ------</span>
     263<span class="sd">    args : :obj:`Namespace`</span>
     264<span class="sd">        Contains the commandline arguments from script/program call.</span>
    266265<span class="sd">    &#39;&#39;&#39;</span>
    267266
     
    342341    <span class="k">return</span> <span class="n">args</span></div>
    343342
    344 <div class="viewcode-block" id="read_ecenv"><a class="viewcode-back" href="../code.html#tools.read_ecenv">[docs]</a><span class="k">def</span> <span class="nf">read_ecenv</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
    345     <span class="sd">&#39;&#39;&#39;</span>
    346 <span class="sd">    @Description:</span>
    347 <span class="sd">        Reads the file into a dictionary where the key values are the parameter</span>
    348 <span class="sd">        names.</span>
    349 
    350 <span class="sd">    @Input:</span>
    351 <span class="sd">        filename: string</span>
    352 <span class="sd">            Path to file where the ECMWV environment parameters are stored.</span>
    353 
    354 <span class="sd">    @Return:</span>
    355 <span class="sd">        envs: dict</span>
    356 <span class="sd">            Contains the environment parameter ecuid, ecgid, gateway</span>
    357 <span class="sd">            and destination for ECMWF server environments.</span>
     343<div class="viewcode-block" id="read_ecenv"><a class="viewcode-back" href="../api.html#tools.read_ecenv">[docs]</a><span class="k">def</span> <span class="nf">read_ecenv</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
     344    <span class="sd">&#39;&#39;&#39;Reads the file into a dictionary where the key values are the parameter</span>
     345<span class="sd">    names.</span>
     346
     347<span class="sd">    Parameters</span>
     348<span class="sd">    ----------</span>
     349<span class="sd">    filename : :obj:`string`</span>
     350<span class="sd">        Path to file where the ECMWF environment parameters are stored.</span>
     351
     352<span class="sd">    Return</span>
     353<span class="sd">    ------</span>
     354<span class="sd">    envs : :obj:`dictionary`</span>
     355<span class="sd">        Contains the environment parameter ecuid, ecgid, gateway</span>
     356<span class="sd">        and destination for ECMWF server environments.</span>
    358357<span class="sd">    &#39;&#39;&#39;</span>
    359358    <span class="n">envs</span><span class="o">=</span> <span class="p">{}</span>
     
    366365    <span class="k">return</span> <span class="n">envs</span></div>
    367366
    368 <div class="viewcode-block" id="clean_up"><a class="viewcode-back" href="../code.html#tools.clean_up">[docs]</a><span class="k">def</span> <span class="nf">clean_up</span><span class="p">(</span><span class="n">c</span><span class="p">):</span>
    369     <span class="sd">&#39;&#39;&#39;</span>
    370 <span class="sd">    @Description:</span>
    371 <span class="sd">        Remove all files from intermediate directory</span>
    372 <span class="sd">        (inputdir from CONTROL file).</span>
    373 
    374 <span class="sd">    @Input:</span>
    375 <span class="sd">        c: instance of class ControlFile</span>
    376 <span class="sd">            Contains all the parameters of CONTROL file and</span>
    377 <span class="sd">            command line.</span>
    378 <span class="sd">            For more information about format and content of the parameter</span>
    379 <span class="sd">            see documentation.</span>
    380 
    381 <span class="sd">    @Return:</span>
    382 <span class="sd">        &lt;nothing&gt;</span>
     367<div class="viewcode-block" id="clean_up"><a class="viewcode-back" href="../api.html#tools.clean_up">[docs]</a><span class="k">def</span> <span class="nf">clean_up</span><span class="p">(</span><span class="n">c</span><span class="p">):</span>
     368    <span class="sd">&#39;&#39;&#39;Remove all files from intermediate directory (inputdir).</span>
     369
     370<span class="sd">    Parameters</span>
     371<span class="sd">    ----------</span>
     372<span class="sd">    c : :obj:`ControlFile`</span>
     373<span class="sd">        Contains all the parameters of CONTROL file and</span>
     374<span class="sd">        command line.</span>
     375
     376<span class="sd">    Return</span>
     377<span class="sd">    ------</span>
     378
    383379<span class="sd">    &#39;&#39;&#39;</span>
    384380
     
    397393
    398394
    399 <div class="viewcode-block" id="my_error"><a class="viewcode-back" href="../code.html#tools.my_error">[docs]</a><span class="k">def</span> <span class="nf">my_error</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">&#39;ERROR&#39;</span><span class="p">):</span>
    400     <span class="sd">&#39;&#39;&#39;</span>
    401 <span class="sd">    @Description:</span>
    402 <span class="sd">        Prints a specified error message which can be passed to the function</span>
    403 <span class="sd">        before exiting the program.</span>
    404 
    405 <span class="sd">    @Input:</span>
    406 <span class="sd">        user: list of strings</span>
    407 <span class="sd">            Contains all email addresses which should be notified.</span>
    408 <span class="sd">            It might also contain just the ecmwf user name which wil trigger</span>
    409 <span class="sd">            mailing to the associated email address for this user.</span>
    410 
    411 <span class="sd">        message: string, optional</span>
    412 <span class="sd">            Error message. Default value is &quot;ERROR&quot;.</span>
    413 
    414 <span class="sd">    @Return:</span>
    415 <span class="sd">        &lt;nothing&gt;</span>
     395<div class="viewcode-block" id="my_error"><a class="viewcode-back" href="../api.html#tools.my_error">[docs]</a><span class="k">def</span> <span class="nf">my_error</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">&#39;ERROR&#39;</span><span class="p">):</span>
     396    <span class="sd">&#39;&#39;&#39;Prints a specified error message which can be passed to the function</span>
     397<span class="sd">    before exiting the program.</span>
     398
     399<span class="sd">    Parameters</span>
     400<span class="sd">    ----------</span>
     401<span class="sd">    user : :obj:`list` of :obj:`string`</span>
     402<span class="sd">        Contains all email addresses which should be notified.</span>
     403<span class="sd">        It might also contain just the ecmwf user name which wil trigger</span>
     404<span class="sd">        mailing to the associated email address for this user.</span>
     405
     406<span class="sd">    message : :obj:`string`, optional</span>
     407<span class="sd">        Error message. Default value is &quot;ERROR&quot;.</span>
     408
     409<span class="sd">    Return</span>
     410<span class="sd">    ------</span>
     411
    416412<span class="sd">    &#39;&#39;&#39;</span>
    417413
     
    443439
    444440
    445 <div class="viewcode-block" id="normal_exit"><a class="viewcode-back" href="../code.html#tools.normal_exit">[docs]</a><span class="k">def</span> <span class="nf">normal_exit</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">&#39;Done!&#39;</span><span class="p">):</span>
    446     <span class="sd">&#39;&#39;&#39;</span>
    447 <span class="sd">    @Description:</span>
    448 <span class="sd">        Prints a specific exit message which can be passed to the function.</span>
    449 
    450 <span class="sd">    @Input:</span>
    451 <span class="sd">        user: list of strings</span>
    452 <span class="sd">            Contains all email addresses which should be notified.</span>
    453 <span class="sd">            It might also contain just the ecmwf user name which wil trigger</span>
    454 <span class="sd">            mailing to the associated email address for this user.</span>
    455 
    456 <span class="sd">        message: string, optional</span>
    457 <span class="sd">            Message for exiting program. Default value is &quot;Done!&quot;.</span>
    458 
    459 <span class="sd">    @Return:</span>
    460 <span class="sd">        &lt;nothing&gt;</span>
     441<div class="viewcode-block" id="normal_exit"><a class="viewcode-back" href="../api.html#tools.normal_exit">[docs]</a><span class="k">def</span> <span class="nf">normal_exit</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s1">&#39;Done!&#39;</span><span class="p">):</span>
     442    <span class="sd">&#39;&#39;&#39;Prints a specific exit message which can be passed to the function.</span>
     443
     444<span class="sd">    Parameters</span>
     445<span class="sd">    ----------</span>
     446<span class="sd">    user : :obj:`list` of :obj:`string`</span>
     447<span class="sd">        Contains all email addresses which should be notified.</span>
     448<span class="sd">        It might also contain just the ecmwf user name which wil trigger</span>
     449<span class="sd">        mailing to the associated email address for this user.</span>
     450
     451<span class="sd">    message : :obj:`string`, optional</span>
     452<span class="sd">        Message for exiting program. Default value is &quot;Done!&quot;.</span>
     453
     454<span class="sd">    Return</span>
     455<span class="sd">    ------</span>
    461456
    462457<span class="sd">    &#39;&#39;&#39;</span>
     
    485480
    486481
    487 <div class="viewcode-block" id="product"><a class="viewcode-back" href="../code.html#tools.product">[docs]</a><span class="k">def</span> <span class="nf">product</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">):</span>
    488     <span class="sd">&#39;&#39;&#39;</span>
    489 <span class="sd">    @Description:</span>
    490 <span class="sd">        This method is taken from an example at the ECMWF wiki website.</span>
    491 <span class="sd">        https://software.ecmwf.int/wiki/display/GRIB/index.py; 2018-03-16</span>
    492 
    493 <span class="sd">        This method combines the single characters of the passed arguments</span>
    494 <span class="sd">        with each other. So that each character of each argument value</span>
    495 <span class="sd">        will be combined with each character of the other arguments as a tuple.</span>
    496 
    497 <span class="sd">        Example:</span>
    498 <span class="sd">        product(&#39;ABCD&#39;, &#39;xy&#39;) --&gt; Ax Ay Bx By Cx Cy Dx Dy</span>
    499 <span class="sd">        product(range(2), repeat = 3) --&gt; 000 001 010 011 100 101 110 111</span>
    500 
    501 <span class="sd">    @Input:</span>
    502 <span class="sd">        *args: tuple</span>
    503 <span class="sd">            Positional arguments (arbitrary number).</span>
    504 
    505 <span class="sd">        **kwds: dictionary</span>
    506 <span class="sd">            Contains all the keyword arguments from *args.</span>
    507 
    508 <span class="sd">    @Return:</span>
    509 <span class="sd">        prod: tuple</span>
    510 <span class="sd">            Return will be done with &quot;yield&quot;. A tuple of combined arguments.</span>
    511 <span class="sd">            See example in description above.</span>
     482<div class="viewcode-block" id="product"><a class="viewcode-back" href="../api.html#tools.product">[docs]</a><span class="k">def</span> <span class="nf">product</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">):</span>
     483    <span class="sd">&#39;&#39;&#39;This method combines the single characters of the passed arguments</span>
     484<span class="sd">    with each other. So that each character of each argument value</span>
     485<span class="sd">    will be combined with each character of the other arguments as a tuple.</span>
     486
     487<span class="sd">    Note</span>
     488<span class="sd">    ----</span>
     489<span class="sd">    This method is taken from an example at the ECMWF wiki website.</span>
     490<span class="sd">    https://software.ecmwf.int/wiki/display/GRIB/index.py; 2018-03-16</span>
     491
     492<span class="sd">    Example</span>
     493<span class="sd">    -------</span>
     494<span class="sd">    product(&#39;ABCD&#39;, &#39;xy&#39;) --&gt; Ax Ay Bx By Cx Cy Dx Dy</span>
     495
     496<span class="sd">    product(range(2), repeat = 3) --&gt; 000 001 010 011 100 101 110 111</span>
     497
     498<span class="sd">    Parameters</span>
     499<span class="sd">    ----------</span>
     500<span class="sd">    \*args : :obj:`tuple`</span>
     501<span class="sd">        Positional arguments (arbitrary number).</span>
     502
     503<span class="sd">    \*\*kwds : :obj:`dictionary`</span>
     504<span class="sd">        Contains all the keyword arguments from \*args.</span>
     505
     506<span class="sd">    Return</span>
     507<span class="sd">    ------</span>
     508<span class="sd">    prod : :obj:`tuple`</span>
     509<span class="sd">        Return will be done with &quot;yield&quot;. A tuple of combined arguments.</span>
     510<span class="sd">        See example in description above.</span>
    512511<span class="sd">    &#39;&#39;&#39;</span>
    513512    <span class="n">pools</span> <span class="o">=</span> <span class="nb">map</span><span class="p">(</span><span class="nb">tuple</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> <span class="o">*</span> <span class="n">kwds</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;repeat&#39;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
     
    521520
    522521
    523 <div class="viewcode-block" id="silent_remove"><a class="viewcode-back" href="../code.html#tools.silent_remove">[docs]</a><span class="k">def</span> <span class="nf">silent_remove</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
    524     <span class="sd">&#39;&#39;&#39;</span>
    525 <span class="sd">    @Description:</span>
    526 <span class="sd">        Remove file if it exists.</span>
    527 <span class="sd">        The function does not fail if the file does not exist.</span>
    528 
    529 <span class="sd">    @Input:</span>
    530 <span class="sd">        filename: string</span>
    531 <span class="sd">            The name of the file to be removed without notification.</span>
    532 
    533 <span class="sd">    @Return:</span>
    534 <span class="sd">        &lt;nothing&gt;</span>
     522<div class="viewcode-block" id="silent_remove"><a class="viewcode-back" href="../api.html#tools.silent_remove">[docs]</a><span class="k">def</span> <span class="nf">silent_remove</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
     523    <span class="sd">&#39;&#39;&#39;Remove file if it exists.</span>
     524<span class="sd">    The function does not fail if the file does not exist.</span>
     525
     526<span class="sd">    Parameters</span>
     527<span class="sd">    ----------</span>
     528<span class="sd">    filename : :obj:`string`</span>
     529<span class="sd">        The name of the file to be removed without notification.</span>
     530
     531<span class="sd">    Return</span>
     532<span class="sd">    ------</span>
     533
    535534<span class="sd">    &#39;&#39;&#39;</span>
    536535    <span class="k">try</span><span class="p">:</span>
     
    544543
    545544
    546 <div class="viewcode-block" id="init128"><a class="viewcode-back" href="../code.html#tools.init128">[docs]</a><span class="k">def</span> <span class="nf">init128</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
    547     <span class="sd">&#39;&#39;&#39;</span>
    548 <span class="sd">    @Description:</span>
    549 <span class="sd">        Opens and reads the grib file with table 128 information.</span>
    550 
    551 <span class="sd">    @Input:</span>
    552 <span class="sd">        filepath: string</span>
    553 <span class="sd">            Path to file of ECMWF grib table number 128.</span>
    554 
    555 <span class="sd">    @Return:</span>
    556 <span class="sd">        table128: dictionary</span>
    557 <span class="sd">            Contains the ECMWF grib table 128 information.</span>
    558 <span class="sd">            The key is the parameter number and the value is the</span>
    559 <span class="sd">            short name of the parameter.</span>
     545<div class="viewcode-block" id="init128"><a class="viewcode-back" href="../api.html#tools.init128">[docs]</a><span class="k">def</span> <span class="nf">init128</span><span class="p">(</span><span class="n">filepath</span><span class="p">):</span>
     546    <span class="sd">&#39;&#39;&#39;Opens and reads the grib file with table 128 information.</span>
     547
     548<span class="sd">    Parameters</span>
     549<span class="sd">    ----------</span>
     550<span class="sd">    filepath : :obj:`string`</span>
     551<span class="sd">        Path to file of ECMWF grib table number 128.</span>
     552
     553<span class="sd">    Return</span>
     554<span class="sd">    ------</span>
     555<span class="sd">    table128 : :obj:`dictionary`</span>
     556<span class="sd">        Contains the ECMWF grib table 128 information.</span>
     557<span class="sd">        The key is the parameter number and the value is the</span>
     558<span class="sd">        short name of the parameter.</span>
    560559<span class="sd">    &#39;&#39;&#39;</span>
    561560    <span class="n">table128</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">()</span>
     
    569568
    570569
    571 <div class="viewcode-block" id="to_param_id"><a class="viewcode-back" href="../code.html#tools.to_param_id">[docs]</a><span class="k">def</span> <span class="nf">to_param_id</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="n">table</span><span class="p">):</span>
    572     <span class="sd">&#39;&#39;&#39;</span>
    573 <span class="sd">    @Description:</span>
    574 <span class="sd">        Transform parameter names to parameter ids</span>
    575 <span class="sd">        with ECMWF grib table 128.</span>
    576 
    577 <span class="sd">    @Input:</span>
    578 <span class="sd">        pars: string</span>
    579 <span class="sd">            Addpar argument from CONTROL file in the format of</span>
    580 <span class="sd">            parameter names instead of ids. The parameter short</span>
    581 <span class="sd">            names are sepearted with &quot;/&quot; and they are passed as</span>
    582 <span class="sd">            one single string.</span>
    583 
    584 <span class="sd">        table: dictionary</span>
    585 <span class="sd">            Contains the ECMWF grib table 128 information.</span>
    586 <span class="sd">            The key is the parameter number and the value is the</span>
    587 <span class="sd">            short name of the parameter.</span>
    588 
    589 <span class="sd">    @Return:</span>
    590 <span class="sd">        ipar: list of integer</span>
    591 <span class="sd">            List of addpar parameters from CONTROL file transformed to</span>
    592 <span class="sd">            parameter ids in the format of integer.</span>
     570<div class="viewcode-block" id="to_param_id"><a class="viewcode-back" href="../api.html#tools.to_param_id">[docs]</a><span class="k">def</span> <span class="nf">to_param_id</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="n">table</span><span class="p">):</span>
     571    <span class="sd">&#39;&#39;&#39;Transform parameter names to parameter ids with ECMWF grib table 128.</span>
     572
     573<span class="sd">    Parameters</span>
     574<span class="sd">    ----------</span>
     575<span class="sd">    pars : :obj:`string`</span>
     576<span class="sd">        Addpar argument from CONTROL file in the format of</span>
     577<span class="sd">        parameter names instead of ids. The parameter short</span>
     578<span class="sd">        names are sepearted with &quot;/&quot; and they are passed as</span>
     579<span class="sd">        one single string.</span>
     580
     581<span class="sd">    table : :obj:`dictionary`</span>
     582<span class="sd">        Contains the ECMWF grib table 128 information.</span>
     583<span class="sd">        The key is the parameter number and the value is the</span>
     584<span class="sd">        short name of the parameter.</span>
     585
     586<span class="sd">    Return</span>
     587<span class="sd">    ------</span>
     588<span class="sd">    ipar : :obj:`list` of :obj:`integer`</span>
     589<span class="sd">        List of addpar parameters from CONTROL file transformed to</span>
     590<span class="sd">        parameter ids in the format of integer.</span>
    593591<span class="sd">    &#39;&#39;&#39;</span>
    594592    <span class="n">cpar</span> <span class="o">=</span> <span class="n">pars</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span>
     
    604602    <span class="k">return</span> <span class="n">ipar</span></div>
    605603
    606 <div class="viewcode-block" id="get_list_as_string"><a class="viewcode-back" href="../code.html#tools.get_list_as_string">[docs]</a><span class="k">def</span> <span class="nf">get_list_as_string</span><span class="p">(</span><span class="n">list_obj</span><span class="p">,</span> <span class="n">concatenate_sign</span><span class="o">=</span><span class="s1">&#39;, &#39;</span><span class="p">):</span>
    607     <span class="sd">&#39;&#39;&#39;</span>
    608 <span class="sd">    @Description:</span>
    609 <span class="sd">        Converts a list of arbitrary content into a single string.</span>
    610 
    611 <span class="sd">    @Input:</span>
    612 <span class="sd">        list_obj: list</span>
    613 <span class="sd">            A list with arbitrary content.</span>
    614 
    615 <span class="sd">        concatenate_sign: string, optional</span>
    616 <span class="sd">            A string which is used to concatenate the single</span>
    617 <span class="sd">            list elements. Default value is &quot;, &quot;.</span>
    618 
    619 <span class="sd">    @Return:</span>
    620 <span class="sd">        str_of_list: string</span>
    621 <span class="sd">            The content of the list as a single string.</span>
     604<div class="viewcode-block" id="get_list_as_string"><a class="viewcode-back" href="../api.html#tools.get_list_as_string">[docs]</a><span class="k">def</span> <span class="nf">get_list_as_string</span><span class="p">(</span><span class="n">list_obj</span><span class="p">,</span> <span class="n">concatenate_sign</span><span class="o">=</span><span class="s1">&#39;, &#39;</span><span class="p">):</span>
     605    <span class="sd">&#39;&#39;&#39;Converts a list of arbitrary content into a single string.</span>
     606
     607<span class="sd">    Parameters</span>
     608<span class="sd">    ----------</span>
     609<span class="sd">    list_obj : :obj:`list`</span>
     610<span class="sd">        A list with arbitrary content.</span>
     611
     612<span class="sd">    concatenate_sign : :obj:`string`, optional</span>
     613<span class="sd">        A string which is used to concatenate the single</span>
     614<span class="sd">        list elements. Default value is &quot;, &quot;.</span>
     615
     616<span class="sd">    Return</span>
     617<span class="sd">    ------</span>
     618<span class="sd">    str_of_list : :obj:`string`</span>
     619<span class="sd">        The content of the list as a single string.</span>
    622620<span class="sd">    &#39;&#39;&#39;</span>
    623621
     
    626624    <span class="k">return</span> <span class="n">str_of_list</span></div>
    627625
    628 <div class="viewcode-block" id="make_dir"><a class="viewcode-back" href="../code.html#tools.make_dir">[docs]</a><span class="k">def</span> <span class="nf">make_dir</span><span class="p">(</span><span class="n">directory</span><span class="p">):</span>
    629     <span class="sd">&#39;&#39;&#39;</span>
    630 <span class="sd">    @Description:</span>
    631 <span class="sd">        Creates a directory and gives a warning if the directory</span>
    632 <span class="sd">        already exists. The program stops only if there is another problem.</span>
    633 
    634 <span class="sd">    @Input:</span>
    635 <span class="sd">        directory: string</span>
    636 <span class="sd">            The directory name including the path which should be created.</span>
    637 
    638 <span class="sd">    @Return:</span>
    639 <span class="sd">        &lt;nothing&gt;</span>
     626<div class="viewcode-block" id="make_dir"><a class="viewcode-back" href="../api.html#tools.make_dir">[docs]</a><span class="k">def</span> <span class="nf">make_dir</span><span class="p">(</span><span class="n">directory</span><span class="p">):</span>
     627    <span class="sd">&#39;&#39;&#39;Creates a directory and gives a warning if the directory</span>
     628<span class="sd">    already exists. The program stops only if there is another problem.</span>
     629
     630<span class="sd">    Parameters</span>
     631<span class="sd">    ----------</span>
     632<span class="sd">    directory : :obj:`string`</span>
     633<span class="sd">        The directory name including the path which should be created.</span>
     634
     635<span class="sd">    Return</span>
     636<span class="sd">    ------</span>
     637
    640638<span class="sd">    &#39;&#39;&#39;</span>
    641639    <span class="k">try</span><span class="p">:</span>
     
    650648    <span class="k">return</span></div>
    651649
    652 <div class="viewcode-block" id="put_file_to_ecserver"><a class="viewcode-back" href="../code.html#tools.put_file_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">put_file_to_ecserver</span><span class="p">(</span><span class="n">ecd</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span> <span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">):</span>
    653     <span class="sd">&#39;&#39;&#39;</span>
    654 <span class="sd">    @Description:</span>
    655 <span class="sd">        Uses the ecaccess-file-put command to send a file to the ECMWF servers.</span>
    656 
    657 <span class="sd">        NOTE:</span>
    658 <span class="sd">        The return value is just for testing reasons. It does not have</span>
    659 <span class="sd">        to be used from the calling function since the whole error handling</span>
    660 <span class="sd">        is done in here.</span>
    661 
    662 <span class="sd">    @Input:</span>
    663 <span class="sd">        ecd: string</span>
    664 <span class="sd">            The path were the file is stored.</span>
    665 
    666 <span class="sd">        filename: string</span>
    667 <span class="sd">            The name of the file to send to the ECMWF server.</span>
    668 
    669 <span class="sd">        target: string</span>
    670 <span class="sd">            The target queue where the file should be sent to.</span>
    671 
    672 <span class="sd">        ecuid: string</span>
    673 <span class="sd">            The user id on ECMWF server.</span>
    674 
    675 <span class="sd">        ecgid: string</span>
    676 <span class="sd">            The group id on ECMWF server.</span>
    677 
    678 <span class="sd">    @Return:</span>
    679 <span class="sd">        rcode: string</span>
    680 <span class="sd">            Resulting code of command execution. If successful the string</span>
    681 <span class="sd">            will be empty.</span>
     650<div class="viewcode-block" id="put_file_to_ecserver"><a class="viewcode-back" href="../api.html#tools.put_file_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">put_file_to_ecserver</span><span class="p">(</span><span class="n">ecd</span><span class="p">,</span> <span class="n">filename</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span> <span class="n">ecuid</span><span class="p">,</span> <span class="n">ecgid</span><span class="p">):</span>
     651    <span class="sd">&#39;&#39;&#39;Uses the ecaccess-file-put command to send a file to the ECMWF servers.</span>
     652
     653<span class="sd">    Note</span>
     654<span class="sd">    ----</span>
     655<span class="sd">    The return value is just for testing reasons. It does not have</span>
     656<span class="sd">    to be used from the calling function since the whole error handling</span>
     657<span class="sd">    is done in here.</span>
     658
     659<span class="sd">    Parameters</span>
     660<span class="sd">    ----------</span>
     661<span class="sd">    ecd : :obj:`string`</span>
     662<span class="sd">        The path were the file is stored.</span>
     663
     664<span class="sd">    filename : :obj:`string`</span>
     665<span class="sd">        The name of the file to send to the ECMWF server.</span>
     666
     667<span class="sd">    target : :obj:`string`</span>
     668<span class="sd">        The target queue where the file should be sent to.</span>
     669
     670<span class="sd">    ecuid : :obj:`string`</span>
     671<span class="sd">        The user id on ECMWF server.</span>
     672
     673<span class="sd">    ecgid : :obj:`string`</span>
     674<span class="sd">        The group id on ECMWF server.</span>
     675
     676<span class="sd">    Return</span>
     677<span class="sd">    ------</span>
     678<span class="sd">    rcode : :obj:`string`</span>
     679<span class="sd">        Resulting code of command execution. If successful the string</span>
     680<span class="sd">        will be empty.</span>
    682681<span class="sd">    &#39;&#39;&#39;</span>
    683682
     
    698697    <span class="k">return</span> <span class="n">rcode</span></div>
    699698
    700 <div class="viewcode-block" id="submit_job_to_ecserver"><a class="viewcode-back" href="../code.html#tools.submit_job_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">submit_job_to_ecserver</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">jobname</span><span class="p">):</span>
    701     <span class="sd">&#39;&#39;&#39;</span>
    702 <span class="sd">    @Description:</span>
    703 <span class="sd">        Uses ecaccess-job-submit command to submit a job to the ECMWF server.</span>
    704 
    705 <span class="sd">        NOTE:</span>
    706 <span class="sd">        The return value is just for testing reasons. It does not have</span>
    707 <span class="sd">        to be used from the calling function since the whole error handling</span>
    708 <span class="sd">        is done in here.</span>
    709 
    710 <span class="sd">    @Input:</span>
    711 <span class="sd">        target: string</span>
    712 <span class="sd">            The target where the file should be sent to, e.g. the queue.</span>
    713 
    714 <span class="sd">        jobname: string</span>
    715 <span class="sd">            The name of the jobfile to be submitted to the ECMWF server.</span>
    716 
    717 <span class="sd">    @Return:</span>
    718 <span class="sd">        rcode: string</span>
    719 <span class="sd">            Resulting code of command execution. If successful the string</span>
    720 <span class="sd">            will contain an integer number, representing the id of the job</span>
    721 <span class="sd">            at the ecmwf server.</span>
     699<div class="viewcode-block" id="submit_job_to_ecserver"><a class="viewcode-back" href="../api.html#tools.submit_job_to_ecserver">[docs]</a><span class="k">def</span> <span class="nf">submit_job_to_ecserver</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">jobname</span><span class="p">):</span>
     700    <span class="sd">&#39;&#39;&#39;Uses ecaccess-job-submit command to submit a job to the ECMWF server.</span>
     701
     702<span class="sd">    Note</span>
     703<span class="sd">    ----</span>
     704<span class="sd">    The return value is just for testing reasons. It does not have</span>
     705<span class="sd">    to be used from the calling function since the whole error handling</span>
     706<span class="sd">    is done in here.</span>
     707
     708<span class="sd">    Parameters</span>
     709<span class="sd">    ----------</span>
     710<span class="sd">    target : :obj:`string`</span>
     711<span class="sd">        The target where the file should be sent to, e.g. the queue.</span>
     712
     713<span class="sd">    jobname : :obj:`string`</span>
     714<span class="sd">        The name of the jobfile to be submitted to the ECMWF server.</span>
     715
     716<span class="sd">    Return</span>
     717<span class="sd">    ------</span>
     718<span class="sd">    rcode : :obj:`string`</span>
     719<span class="sd">        Resulting code of command execution. If successful the string</span>
     720<span class="sd">        will contain an integer number, representing the id of the job</span>
     721<span class="sd">        at the ecmwf server.</span>
    722722<span class="sd">    &#39;&#39;&#39;</span>
    723723
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG