Ignore:
Timestamp:
Mar 8, 2019, 10:00:34 AM (5 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
b4a4777
Parents:
8778c5a
Message:

deleted jobscripts for tracking and updated Sphinx doc

File:
1 edited

Legend:

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

    r2625ca8 rf66f990  
    222222<span class="kn">from</span> <span class="nn">argparse</span> <span class="k">import</span> <span class="n">ArgumentParser</span><span class="p">,</span> <span class="n">ArgumentDefaultsHelpFormatter</span>
    223223
     224
     225
    224226<span class="c1"># ------------------------------------------------------------------------------</span>
    225227<span class="c1"># METHODS</span>
    226228<span class="c1"># ------------------------------------------------------------------------------</span>
     229
     230<div class="viewcode-block" id="setup_controldata"><a class="viewcode-back" href="../api.html#tools.setup_controldata">[docs]</a><span class="k">def</span> <span class="nf">setup_controldata</span><span class="p">():</span>
     231    <span class="sd">&#39;&#39;&#39;Collects, stores and checks controlling arguments from command line,</span>
     232<span class="sd">    CONTROL file and ECMWF_ENV file.</span>
     233
     234<span class="sd">    Parameters</span>
     235<span class="sd">    ----------</span>
     236
     237<span class="sd">    Return</span>
     238<span class="sd">    ------</span>
     239<span class="sd">    c : ControlFile</span>
     240<span class="sd">        Contains all the parameters of CONTROL file and</span>
     241<span class="sd">        command line.</span>
     242
     243<span class="sd">    ppid : str</span>
     244<span class="sd">        Parent process id.</span>
     245
     246<span class="sd">    queue : str</span>
     247<span class="sd">        Name of queue for submission to ECMWF (e.g. ecgate or cca )</span>
     248
     249<span class="sd">    job_template : str</span>
     250<span class="sd">        Name of the job template file for submission to ECMWF server.</span>
     251<span class="sd">    &#39;&#39;&#39;</span>
     252    <span class="kn">import</span> <span class="nn">_config</span>
     253    <span class="kn">from</span> <span class="nn">classes.ControlFile</span> <span class="k">import</span> <span class="n">ControlFile</span>
     254
     255    <span class="n">args</span> <span class="o">=</span> <span class="n">get_cmdline_args</span><span class="p">()</span>
     256    <span class="n">c</span> <span class="o">=</span> <span class="n">ControlFile</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">controlfile</span><span class="p">)</span>
     257    <span class="n">c</span><span class="o">.</span><span class="n">assign_args_to_control</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
     258    <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">):</span>
     259        <span class="n">env_parameter</span> <span class="o">=</span> <span class="n">read_ecenv</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_ECMWF_ENV</span><span class="p">)</span>
     260        <span class="n">c</span><span class="o">.</span><span class="n">assign_envs_to_control</span><span class="p">(</span><span class="n">env_parameter</span><span class="p">)</span>
     261    <span class="n">c</span><span class="o">.</span><span class="n">check_conditions</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">queue</span><span class="p">)</span>
     262
     263    <span class="k">return</span> <span class="n">c</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">ppid</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">queue</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">job_template</span></div>
    227264
    228265<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>
     
    300337    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--basetime&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;basetime&quot;</span><span class="p">,</span>
    301338                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
    302                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;base such as 00 or 12 (for half day retrievals)&quot;</span><span class="p">)</span>
     339                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;base such as 0 or 12 (for half day retrievals)&quot;</span><span class="p">)</span>
    303340    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--step&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;step&quot;</span><span class="p">,</span>
    304341                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
     
    315352                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
    316353                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;debug mode - leave temporary files intact&quot;</span><span class="p">)</span>
     354    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--oper&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;oper&quot;</span><span class="p">,</span>
     355                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
     356                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;operational mode - prepares dates with </span><span class="se">\</span>
     357<span class="s2">                        environment variables&quot;</span><span class="p">)</span>
    317358    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--request&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;request&quot;</span><span class="p">,</span>
    318359                        <span class="nb">type</span><span class="o">=</span><span class="n">none_or_int</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
     
    408449    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;... clean inputdir!&quot;</span><span class="p">)</span>
    409450
    410     <span class="n">cleanlist</span> <span class="o">=</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</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">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s2">&quot;*&quot;</span><span class="p">))</span>
     451    <span class="n">cleanlist</span> <span class="o">=</span> <span class="p">[</span><span class="n">file</span> <span class="k">for</span> <span class="n">file</span> <span class="ow">in</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</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">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="s2">&quot;*&quot;</span><span class="p">))</span>
     452                 <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">file</span><span class="p">)</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">prefix</span><span class="p">)]</span>
    411453
    412454    <span class="k">if</span> <span class="n">cleanlist</span><span class="p">:</span>
    413455        <span class="k">for</span> <span class="n">element</span> <span class="ow">in</span> <span class="n">cleanlist</span><span class="p">:</span>
    414             <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">prefix</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">element</span><span class="p">:</span>
    415                 <span class="n">silent_remove</span><span class="p">(</span><span class="n">element</span><span class="p">)</span>
    416             <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">ecapi</span> <span class="ow">is</span> <span class="kc">False</span> <span class="ow">and</span> <span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">ectrans</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">c</span><span class="o">.</span><span class="n">ecstorage</span> <span class="o">==</span> <span class="mi">1</span><span class="p">):</span>
    417                 <span class="n">silent_remove</span><span class="p">(</span><span class="n">element</span><span class="p">)</span>
     456            <span class="n">silent_remove</span><span class="p">(</span><span class="n">element</span><span class="p">)</span>
    418457        <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;... done!&quot;</span><span class="p">)</span>
    419458    <span class="k">else</span><span class="p">:</span>
     
    423462
    424463
    425 <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>
     464<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">message</span><span class="o">=</span><span class="s1">&#39;ERROR&#39;</span><span class="p">):</span>
    426465    <span class="sd">&#39;&#39;&#39;Prints a specified error message which can be passed to the function</span>
    427466<span class="sd">    before exiting the program.</span>
     
    429468<span class="sd">    Parameters</span>
    430469<span class="sd">    ----------</span>
    431 <span class="sd">    user : list of str</span>
    432 <span class="sd">        Contains all email addresses which should be notified.</span>
    433 <span class="sd">        It might also contain just the ecmwf user name which wil trigger</span>
    434 <span class="sd">        mailing to the associated email address for this user.</span>
    435 
    436470<span class="sd">    message : str, optional</span>
    437471<span class="sd">        Error message. Default value is &quot;ERROR&quot;.</span>
     
    446480
    447481    <span class="nb">print</span><span class="p">(</span><span class="n">full_message</span><span class="p">)</span>
    448 
    449     <span class="n">send_mail</span><span class="p">(</span><span class="n">users</span><span class="p">,</span> <span class="s1">&#39;ERROR&#39;</span><span class="p">,</span> <span class="n">full_message</span><span class="p">)</span>
    450482
    451483    <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
     
    615647    <span class="k">else</span><span class="p">:</span>
    616648        <span class="k">for</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">fdata</span><span class="p">:</span>
    617             <span class="k">if</span> <span class="n">data</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="p">:</span>
    618                 <span class="n">table128</span><span class="p">[</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">3</span><span class="p">]]</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">59</span><span class="p">:</span><span class="mi">64</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
     649            <span class="k">if</span> <span class="n">data</span> <span class="o">!=</span> <span class="s1">&#39;&#39;</span> <span class="ow">and</span> <span class="n">data</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="p">:</span>
     650                <span class="n">table128</span><span class="p">[</span><span class="n">data</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">3</span><span class="p">]]</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="mi">59</span><span class="p">:</span><span class="mi">65</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
    619651
    620652    <span class="k">return</span> <span class="n">table128</span></div>
     
    659691
    660692    <span class="k">return</span> <span class="n">ipar</span></div>
     693
     694<div class="viewcode-block" id="to_param_id_with_tablenumber"><a class="viewcode-back" href="../api.html#tools.to_param_id_with_tablenumber">[docs]</a><span class="k">def</span> <span class="nf">to_param_id_with_tablenumber</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="n">table</span><span class="p">):</span>
     695    <span class="sd">&#39;&#39;&#39;Transform parameter names to parameter ids and add table id.</span>
     696
     697<span class="sd">    Conversion with ECMWF grib table 128.</span>
     698
     699<span class="sd">    Parameters</span>
     700<span class="sd">    ----------</span>
     701<span class="sd">    pars : str</span>
     702<span class="sd">        Addpar argument from CONTROL file in the format of</span>
     703<span class="sd">        parameter names instead of ids. The parameter short</span>
     704<span class="sd">        names are sepearted with &quot;/&quot; and they are passed as</span>
     705<span class="sd">        one single string.</span>
     706
     707<span class="sd">    table : dict</span>
     708<span class="sd">        Contains the ECMWF grib table 128 information.</span>
     709<span class="sd">        The key is the parameter number and the value is the</span>
     710<span class="sd">        short name of the parameter.</span>
     711
     712<span class="sd">    Return</span>
     713<span class="sd">    ------</span>
     714<span class="sd">    spar : str</span>
     715<span class="sd">        List of addpar parameters from CONTROL file transformed to</span>
     716<span class="sd">        parameter ids in the format of integer.</span>
     717<span class="sd">    &#39;&#39;&#39;</span>
     718    <span class="k">if</span> <span class="ow">not</span> <span class="n">pars</span><span class="p">:</span>
     719        <span class="k">return</span> <span class="p">[]</span>
     720    <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">pars</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
     721        <span class="n">pars</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">pars</span><span class="p">)</span>
     722
     723    <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>
     724    <span class="n">spar</span> <span class="o">=</span> <span class="p">[]</span>
     725    <span class="k">for</span> <span class="n">par</span> <span class="ow">in</span> <span class="n">cpar</span><span class="p">:</span>
     726        <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">table</span><span class="o">.</span><span class="n">iteritems</span><span class="p">():</span>
     727            <span class="k">if</span> <span class="n">par</span> <span class="o">==</span> <span class="n">k</span> <span class="ow">or</span> <span class="n">par</span> <span class="o">==</span> <span class="n">v</span><span class="p">:</span>
     728                <span class="n">spar</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">k</span> <span class="o">+</span> <span class="s1">&#39;.128&#39;</span><span class="p">)</span>
     729                <span class="k">break</span>
     730        <span class="k">else</span><span class="p">:</span>
     731            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;</span><span class="se">\n\n\t\t</span><span class="s1">Warning: par &#39;</span> <span class="o">+</span> <span class="n">par</span> <span class="o">+</span> <span class="s1">&#39; not found in table 128</span><span class="se">\n\n</span><span class="s1">&#39;</span><span class="p">)</span>
     732
     733    <span class="k">return</span> <span class="s1">&#39;/&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">spar</span><span class="p">)</span></div>
    661734
    662735<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>
     
    9581031  <div role="contentinfo">
    9591032    <p>
    960         &copy; Copyright 2018, Anne Philipp and Leopold Haimberger
     1033        &copy; Copyright 2018, Anne Philipp and Leopold Haimberger.
    9611034
    9621035    </p>
     
    9771050 
    9781051
    979    
    980    
    981       <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    982         <script type="text/javascript" src="../_static/jquery.js"></script>
    983         <script type="text/javascript" src="../_static/underscore.js"></script>
    984         <script type="text/javascript" src="../_static/doctools.js"></script>
    985    
     1052    <script type="text/javascript">
     1053        var DOCUMENTATION_OPTIONS = {
     1054            URL_ROOT:'../',
     1055            VERSION:'7.1 alpha',
     1056            LANGUAGE:'None',
     1057            COLLAPSE_INDEX:false,
     1058            FILE_SUFFIX:'.html',
     1059            HAS_SOURCE:  true,
     1060            SOURCELINK_SUFFIX: '.txt'
     1061        };
     1062    </script>
     1063      <script type="text/javascript" src="../_static/jquery.js"></script>
     1064      <script type="text/javascript" src="../_static/underscore.js"></script>
     1065      <script type="text/javascript" src="../_static/doctools.js"></script>
     1066      <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    9861067
    9871068 
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG