Changes in / [81c180c:6857073] in flex_extract.git


Ignore:
Files:
1 deleted
23 edited

Legend:

Unmodified
Added
Removed
  • Documentation/html/Documentation/Api/api_python.html

    r47be2684 r08c9091  
    24942494<p>This module contains a collection of diverse tasks within flex_extract.</p>
    24952495<dl class="function">
    2496 <dt id="tools.check_for_string_in_file">
    2497 <code class="sig-prename descclassname">tools.</code><code class="sig-name descname">check_for_string_in_file</code><span class="sig-paren">(</span><em class="sig-param">filepath</em>, <em class="sig-param">search_string</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/tools.html#check_for_string_in_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.check_for_string_in_file" title="Permalink to this definition">¶</a></dt>
    2498 <dd><p>Search for a specific string in a file and return True if
    2499 the string was found.</p>
    2500 <dl class="field-list simple">
    2501 <dt class="field-odd">Parameters</dt>
    2502 <dd class="field-odd"><ul class="simple">
    2503 <li><p><strong>filepath</strong> (<em>str</em>) – The full file path which is to be examined.</p></li>
    2504 <li><p><strong>search_string</strong> (<em>str</em>) – The string which is looked up for in the file.</p></li>
    2505 </ul>
    2506 </dd>
    2507 <dt class="field-even">Returns</dt>
    2508 <dd class="field-even"><p>True : String was found
    2509 False : String was not found</p>
    2510 </dd>
    2511 <dt class="field-odd">Return type</dt>
    2512 <dd class="field-odd"><p>Boolean</p>
    2513 </dd>
    2514 </dl>
    2515 </dd></dl>
    2516 
    2517 <dl class="function">
    25182496<dt id="tools.clean_up">
    25192497<code class="sig-prename descclassname">tools.</code><code class="sig-name descname">clean_up</code><span class="sig-paren">(</span><em class="sig-param">c</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/tools.html#clean_up"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.clean_up" title="Permalink to this definition">¶</a></dt>
     
    27542732<dt class="field-odd">Parameters</dt>
    27552733<dd class="field-odd"><p><strong>message</strong> (<em>str</em><em>, </em><em>optional</em>) – Message for exiting program. Default value is “Done!”.</p>
    2756 </dd>
    2757 </dl>
    2758 </dd></dl>
    2759 
    2760 <dl class="function">
    2761 <dt id="tools.overwrite_lines_in_file">
    2762 <code class="sig-prename descclassname">tools.</code><code class="sig-name descname">overwrite_lines_in_file</code><span class="sig-paren">(</span><em class="sig-param">filepath</em>, <em class="sig-param">search_string</em>, <em class="sig-param">sub_string</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/tools.html#overwrite_lines_in_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.overwrite_lines_in_file" title="Permalink to this definition">¶</a></dt>
    2763 <dd><p>Overwrites lines which contain the given search string with the
    2764 substitution string.</p>
    2765 <dl class="field-list simple">
    2766 <dt class="field-odd">Parameters</dt>
    2767 <dd class="field-odd"><ul class="simple">
    2768 <li><p><strong>search_string</strong> (<em>str</em>) – The string which is looked up for in the file.</p></li>
    2769 <li><p><strong>sub_string</strong> (<em>str</em>) – The string which overwrites the search string.</p></li>
    2770 </ul>
    27712734</dd>
    27722735</dl>
  • Documentation/html/Documentation/Input/setup.html

    r47be2684 r08c9091  
    235235<tr class="row-even"><td><p>TARGET</p></td>
    236236<td><p>String</p></td>
    237 <td><p>local, syslocal, ecgate, cca, ccb</p></td>
    238 <td><p>None</p></td>
    239 <td><p>Defines the flex_extract application mode to be used.  Local = local mode; ecgate = Remote or Gateway mode, cca or ccb = Remote or Gateway mode (HPC). Whether the local mode is for public or member state users doesn’t matter here. Syslocal = seperates the executables and user application files during installation. Paths are selectable through INSTALLDIR and SYSINSTALLDIR</p></td>
     237<td><p>local, ecgate, cca, ccb</p></td>
     238<td><p>None</p></td>
     239<td><p>Defines the flex_extract application mode to be used.  Local = local mode; ecgate = Remote or Gateway mode, cca or ccb = Remote or Gateway mode (HPC). Whether the local mode is for public or member state users doesn’t matter here.</p></td>
    240240</tr>
    241241<tr class="row-odd"><td><p>MAKEFILE</p></td>
     
    275275<td><p>Root path where flex_extract should be installed. It will always be $HOME on ECMWF servers and if not set for the local mode, it will be the current flex_extract root path on local servers. </p></td>
    276276</tr>
    277 <tr class="row-odd"><td><p>SYSINSTALLDIR</p></td>
    278 <td><p>String</p></td>
    279 <td><p>a full path </p></td>
    280 <td><p>None</p></td>
    281 <td><p>This will be the same as INSTALLDIR if TARGET=local. Otherwise, the executable files are stored in this path. If it is choosen to be in a system path, don’t forget to start the script with admin rights. </p></td>
    282 </tr>
    283 <tr class="row-even"><td><p>JOB_TEMPLATE</p></td>
     277<tr class="row-odd"><td><p>JOB_TEMPLATE</p></td>
    284278<td><p>String</p></td>
    285279<td><p>installscript.template</p></td>
     
    287281<td><p>The rudimentary template file to create a batch job template for submission to ECMWF servers. Should not be changed because it is already optimised for ECMWF servers.  (Remote and Gateway mode)</p></td>
    288282</tr>
    289 <tr class="row-odd"><td><p>CONTROLFILE</p></td>
     283<tr class="row-even"><td><p>CONTROLFILE</p></td>
    290284<td><p>String</p></td>
    291285<td><p>any CONTROL file</p></td>
     
    408402              <span class="o">[</span>--ecuid ECUID<span class="o">]</span> <span class="o">[</span>--ecgid ECGID<span class="o">]</span> <span class="o">[</span>--gateway GATEWAY<span class="o">]</span>
    409403              <span class="o">[</span>--destination DESTINATION<span class="o">]</span> <span class="o">[</span>--installdir INSTALLDIR<span class="o">]</span>
    410               <span class="o">[</span>--sysinstalldir SYSINSTALLDIR<span class="o">]</span>
    411404              <span class="o">[</span>--job_template JOB_TEMPLATE<span class="o">]</span> <span class="o">[</span>--controlfile CONTROLFILE<span class="o">]</span>
    412405
     
    416409  -h, --help            show this <span class="nb">help</span> message and <span class="nb">exit</span>
    417410  --target INSTALL_TARGET
    418                         Valid targets: syslocal <span class="p">|</span> <span class="nb">local</span> <span class="p">|</span> ecgate <span class="p">|</span> cca , the latter two
     411                        Valid targets: <span class="nb">local</span> <span class="p">|</span> ecgate <span class="p">|</span> cca , the latter two
    419412                        are at ECMWF <span class="o">(</span>default: None<span class="o">)</span>
    420413  --makefile MAKEFILE   Name of makefile to compile the Fortran
     
    430423                        Root directory where flex_extract will be installed
    431424                        to. <span class="o">(</span>default: None<span class="o">)</span>
    432   --sysinstalldir SYSINSTALLDIR
    433                         System installation path<span class="p">;</span> where executables are
    434                         stored. <span class="o">(</span>default: None<span class="o">)</span>
    435425  --job_template JOB_TEMPLATE
    436426                        The rudimentary template file to create a batch job
  • Documentation/html/Installation/local.html

    r903ed4f r73308e0  
    104104<li class="toctree-l4"><a class="reference internal" href="#testing-the-local-environment">Testing the local environment</a></li>
    105105<li class="toctree-l4"><a class="reference internal" href="#local-installation">Local installation</a></li>
    106 <li class="toctree-l4"><a class="reference internal" href="#local-system-installation">Local system installation</a></li>
    107106</ul>
    108107</li>
     
    396395<p>The Fortran program called <code class="docutils literal notranslate"><span class="pre">calc_etadot</span></code> will be compiled during the
    397396installation process. A suitable makefile (<code class="docutils literal notranslate"><span class="pre">makefile_local_gfortran</span></code>) for the compilation is set by default.
    398 This may be overwritten by the <code class="docutils literal notranslate"><span class="pre">MAKEFILE</span></code> parameter in <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code>.</p>
    399 <p>However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code>
     397This may be overwritten by the <code class="docutils literal notranslate"><span class="pre">MAKEFILE</span></code> parameter in <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code>.</p>
     398<p>However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code>
    400399For details on the makefile and how to adapt them, see <a class="reference internal" href="../Documentation/Input/fortran_makefile.html#ref-convert"><span class="std std-ref">Fortran Makefile</span></a>.</p>
    401 <p>In the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, open the <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code> script
     400<p>In the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, open the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script
    402401with an editor and adapt the installation parameters in the section labelled with
    403402“AVAILABLE COMMANDLINE ARGUMENTS TO SET” as shown below:</p>
    404 <div class="literal-block-wrapper docutils container" id="setup-local-sh">
    405 <div class="code-block-caption"><span class="caption-text">‘Example settings for a local installation.’</span><a class="headerlink" href="#setup-local-sh" title="Permalink to this code">¶</a></div>
     403<div class="literal-block-wrapper docutils container" id="setup-sh">
     404<div class="code-block-caption"><span class="caption-text">‘Example settings for a local installation.’</span><a class="headerlink" href="#setup-sh" title="Permalink to this code">¶</a></div>
    406405<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>...
    407406<span class="c1"># -----------------------------------------------------------------</span>
     
    417416<span class="nv">DESTINATION</span><span class="o">=</span>None
    418417<span class="nv">INSTALLDIR</span><span class="o">=</span>None
    419 <span class="nv">SYSINSTALLDIR</span><span class="o">=</span>None
    420418<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
    421419<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_EA5&#39;</span>
     
    425423</div>
    426424<p>Afterwards, type:</p>
    427 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup_local.sh
     425<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup.sh
    428426</pre></div>
    429427</div>
    430428<p>to start the installation. You should see the following standard output.</p>
    431 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup_local.sh</span>
     429<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span>
    432430WARNING: installdir has not been specified
    433431flex_extract will be installed in here by compiling the Fortran <span class="nb">source</span> in &lt;path-to-flex_extract&gt;/flex_extract_v7.1/Source/Fortran
     
    448446</div>
    449447</div>
    450 <div class="section" id="local-system-installation">
    451 <h2>Local system installation<a class="headerlink" href="#local-system-installation" title="Permalink to this headline">¶</a></h2>
    452 <p>There is also the possibility to separate the software executables from the user application files. For doing so, the <code class="docutils literal notranslate"><span class="pre">TARGET</span></code> parameter can be set to “syslocal” and the additional parameter <code class="docutils literal notranslate"><span class="pre">SYSINSTALLDIR</span></code> in the <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code> has to be specified. This new path will contain the Fortran and Python executables of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>. If you chose to set a system path for this, please start the script as root.
    453 The user directory for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, which basically consists of everything except the <code class="docutils literal notranslate"><span class="pre">Source</span></code> directory, will be installed into <code class="docutils literal notranslate"><span class="pre">INSTALLDIR</span></code>.
    454 In this installation mode, an extra (hidden) <code class="docutils literal notranslate"><span class="pre">.setup.rc</span></code> file will be generated in the <code class="docutils literal notranslate"><span class="pre">Run</span></code> directory. It contains the necessary settings for running the local system mode.</p>
    455 <p>Despite the change in the <code class="docutils literal notranslate"><span class="pre">TARGET</span></code> parameter, the meaning of <code class="docutils literal notranslate"><span class="pre">INSTALLDIR</span></code> and the additional <code class="docutils literal notranslate"><span class="pre">SYSINSTALLDIR</span></code>, the steps for installation are the same as in the local installation mentioned above. For example, modify the <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code> file as follows:</p>
    456 <div class="literal-block-wrapper docutils container" id="id1">
    457 <div class="code-block-caption"><span class="caption-text">‘Example settings for a local system installation.’</span><a class="headerlink" href="#id1" title="Permalink to this code">¶</a></div>
    458 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>...
    459 <span class="c1"># -----------------------------------------------------------------</span>
    460 <span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span>
    461 <span class="c1">#</span>
    462 <span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span>
    463 <span class="c1">#</span>
    464 <span class="nv">TARGET</span><span class="o">=</span><span class="s1">&#39;syslocal&#39;</span>
    465 <span class="nv">MAKEFILE</span><span class="o">=</span>&lt;name_of_your_makefile&gt;
    466 <span class="nv">ECUID</span><span class="o">=</span>None
    467 <span class="nv">ECGID</span><span class="o">=</span>None
    468 <span class="nv">GATEWAY</span><span class="o">=</span>None
    469 <span class="nv">DESTINATION</span><span class="o">=</span>None
    470 <span class="nv">INSTALLDIR</span><span class="o">=</span><span class="nv">$HOME</span>
    471 <span class="nv">SYSINSTALLDIR</span><span class="o">=</span>/usr/bin/
    472 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
    473 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_EA5&#39;</span>
    474 ...
    475 </pre></div>
    476 </div>
    477 </div>
    478 <p>Afterwards, type:</p>
    479 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ sudo ./setup_local.sh
    480 </pre></div>
    481 </div>
    482 <p>to start the installation. You should see the following standard output.</p>
    483 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>Flex_extract will be installed in &lt;<span class="nv">$HOME</span>&gt;
    484 Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2
    485 
    486 Using makefile: makefile_local_gfortran
    487 /usr/local/bin/gfortran   -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian   -c     ./rwgrib2.f90
    488 /usr/local/bin/gfortran   -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian   -c     ./phgrreal.f90
    489 /usr/local/bin/gfortran   -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian   -c     ./grphreal.f90
    490 /usr/local/bin/gfortran   -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian   -c     ./ftrafo.f90
    491 /usr/local/bin/gfortran   -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian   -c     ./calc_etadot.f90
    492 /usr/local/bin/gfortran   -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian   -c     ./posnam.f90
    493 /usr/local/bin/gfortran  rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o -o calc_etadot_fast.out  -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -fopenmp
    494 ln -sf calc_etadot_fast.out calc_etadot
    495 
    496 lrwxrwxrwx. <span class="m">1</span> &lt;username&gt; tmc <span class="m">20</span> <span class="m">27</span>. Okt <span class="m">23</span>:25 ./calc_etadot -&gt; calc_etadot_fast.out
    497 SUCCESS: INSTALLATION FINISHED!
    498 </pre></div>
    499 </div>
    500 <p>You can now change into the user directory specified in <code class="docutils literal notranslate"><span class="pre">INSTALLDIR</span></code> and find a <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X</span></code> directory there.</p>
    501 </div>
    502448</div>
    503449
  • Documentation/html/_modules/ControlFile.html

    r903ed4f r08c9091  
    183183<span class="c1">#   June 2020 - Anne Philipp</span>
    184184<span class="c1">#        - update default makefile to None</span>
    185 <span class="c1">#   August 2020 - Leopold Haimberger</span>
    186 <span class="c1">#        - added a class parameter for system installation path</span>
    187185<span class="c1">#</span>
    188186<span class="c1"># @License:</span>
     
    568566        <span class="bp">self</span><span class="o">.</span><span class="n">exedir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span>
    569567        <span class="bp">self</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="kc">None</span>
    570         <span class="bp">self</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="o">=</span> <span class="kc">None</span>
    571568        <span class="bp">self</span><span class="o">.</span><span class="n">makefile</span> <span class="o">=</span> <span class="kc">None</span>
    572569        <span class="bp">self</span><span class="o">.</span><span class="n">destination</span> <span class="o">=</span> <span class="kc">None</span>
  • Documentation/html/_modules/install.html

    r903ed4f r08c9091  
    181181<span class="c1">#    June 2020 - Anne Philipp</span>
    182182<span class="c1">#        - renamed &quot;convert&quot; functions to &quot;fortran&quot; functions</span>
    183 <span class="c1">#        - reconfigured mk_tarball to select *.template files instead</span>
     183<span class="c1">#        - reconfigured mk_tarball to select *.template files instead </span>
    184184<span class="c1">#          of *.nl and *.temp</span>
    185185<span class="c1">#        - added check for makefile settings</span>
    186 <span class="c1">#    August 2020 - Leopold Haimberger</span>
    187 <span class="c1">#        - added a new installation section for system installation (if-else block)</span>
    188 <span class="c1">#        - read new argument from command line</span>
    189 <span class="c1">#        - write .setup.rc for a system installation into Run directory</span>
    190 <span class="c1">#        - copy executables to system path and user files to user path</span>
    191186<span class="c1">#</span>
    192187<span class="c1"># @License:</span>
     
    242237<span class="kn">import</span> <span class="nn">subprocess</span>
    243238<span class="kn">import</span> <span class="nn">tarfile</span>
    244 <span class="kn">import</span> <span class="nn">shutil</span>
    245239<span class="kn">from</span> <span class="nn">argparse</span> <span class="kn">import</span> <span class="n">ArgumentParser</span><span class="p">,</span> <span class="n">ArgumentDefaultsHelpFormatter</span>
    246240
     
    250244<span class="kn">from</span> <span class="nn">Classes.UioFiles</span> <span class="kn">import</span> <span class="n">UioFiles</span>
    251245<span class="kn">from</span> <span class="nn">Mods.tools</span> <span class="kn">import</span> <span class="p">(</span><span class="n">make_dir</span><span class="p">,</span> <span class="n">put_file_to_ecserver</span><span class="p">,</span> <span class="n">submit_job_to_ecserver</span><span class="p">,</span>
    252                         <span class="n">silent_remove</span><span class="p">,</span> <span class="n">execute_subprocess</span><span class="p">,</span> <span class="n">none_or_str</span><span class="p">,</span>
    253                         <span class="n">overwrite_lines_in_file</span><span class="p">,</span> <span class="n">check_for_string_in_file</span><span class="p">)</span>
     246                        <span class="n">silent_remove</span><span class="p">,</span> <span class="n">execute_subprocess</span><span class="p">,</span> <span class="n">none_or_str</span><span class="p">)</span>
    254247
    255248<span class="c1"># ------------------------------------------------------------------------------</span>
     
    272265    <span class="n">check_install_conditions</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
    273266
    274     <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;local&#39;</span><span class="p">,</span> <span class="s1">&#39;syslocal&#39;</span><span class="p">]:</span> <span class="c1"># ecgate or cca</span>
     267    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">!=</span> <span class="s1">&#39;local&#39;</span><span class="p">:</span> <span class="c1"># ecgate or cca</span>
    275268        <span class="n">install_via_gateway</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
    276269    <span class="k">else</span><span class="p">:</span> <span class="c1"># local</span>
    277270        <span class="n">install_local</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
    278271
    279     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;SUCCESS: INSTALLATION FINISHED!&quot;</span><span class="p">)</span>
    280 
    281272    <span class="k">return</span></div>
    282273
     
    299290    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s1">&#39;--target&#39;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s1">&#39;install_target&#39;</span><span class="p">,</span>
    300291                        <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>
    301                         <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Valid targets: syslocal | local | ecgate | cca , </span><span class="se">\</span>
     292                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Valid targets: local | ecgate | cca , </span><span class="se">\</span>
    302293<span class="s2">                        the latter two are at ECMWF&quot;</span><span class="p">)</span>
    303294    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--makefile&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;makefile&quot;</span><span class="p">,</span>
     
    321312    <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--installdir&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;installdir&quot;</span><span class="p">,</span>
    322313                        <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>
    323                         <span class="n">help</span><span class="o">=</span><span class="s1">&#39;Root (user) directory of the &#39;</span>
     314                        <span class="n">help</span><span class="o">=</span><span class="s1">&#39;Root directory of the &#39;</span>
    324315                        <span class="s1">&#39;flex_extract installation&#39;</span><span class="p">)</span>
    325     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--sysinstalldir&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;sysinstalldir&quot;</span><span class="p">,</span>
    326                         <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>
    327                         <span class="n">help</span><span class="o">=</span><span class="s1">&#39;System installation path; where &#39;</span>
    328                         <span class="s1">&#39;executables are stored.&#39;</span><span class="p">)</span>
    329316
    330317    <span class="c1"># arguments for job submission to ECMWF, only needed by submit.py</span>
     
    403390                            <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span> <span class="o">+</span> <span class="s1">&#39;.tar&#39;</span><span class="p">)</span>
    404391
    405     <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</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">expandvars</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">expanduser</span><span class="p">(</span>
    406                 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">)))</span>
    407     <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</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">expandvars</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">expanduser</span><span class="p">(</span>
    408         <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)))</span>
    409 
    410     <span class="c1"># this is standard installation into a single directory</span>
    411     <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">&#39;local&#39;</span><span class="p">:</span>
    412 
    413         <span class="c1"># installation into the current directory</span>
    414         <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">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">:</span>
    415             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: installdir has not been specified&#39;</span><span class="p">)</span>
    416             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;flex_extract will be installed in current dir by compiling the &#39;</span> <span class="o">+</span>
    417                   <span class="s1">&#39;Fortran source in &#39;</span> <span class="o">+</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span>
    418             <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span>
    419         <span class="c1"># installation into a different path</span>
    420         <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="p">:</span>
    421 
    422             <span class="c1"># creates the target working directory for flex_extract</span>
     392    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">==</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">:</span>
     393        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: installdir has not been specified&#39;</span><span class="p">)</span>
     394        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;flex_extract will be installed in here by compiling the &#39;</span> <span class="o">+</span>
     395              <span class="s1">&#39;Fortran source in &#39;</span> <span class="o">+</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span>
     396        <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span>
     397    <span class="k">else</span><span class="p">:</span> <span class="c1"># creates the target working directory for flex_extract</span>
     398        <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</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">expanduser</span><span class="p">(</span>
     399            <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">))</span>
     400        <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">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">!=</span> \
     401           <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">):</span>
    423402            <span class="n">mk_tarball</span><span class="p">(</span><span class="n">tar_file</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="p">)</span>
    424403            <span class="n">make_dir</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">installdir</span><span class="p">,</span>
     
    431410                                  <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span>
    432411
    433         <span class="c1"># Create Fortran executable</span>
    434         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Install &#39;</span> <span class="o">+</span>  <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span> <span class="o">+</span> <span class="s1">&#39; software at &#39;</span> <span class="o">+</span>
    435               <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">&#39; in directory &#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
    436 
    437         <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
    438         <span class="n">mk_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span>
    439         <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="s1">&#39;../../&#39;</span><span class="p">)</span>
    440         <span class="c1"># make sure that the correct calling of submit.py script is in run_local.sh</span>
    441         <span class="n">overwrite_lines_in_file</span><span class="p">(</span><span class="s1">&#39;Run/run_local.sh&#39;</span><span class="p">,</span>
    442                                 <span class="s1">&#39;pyscript=&#39;</span><span class="p">,</span> <span class="s1">&#39;pyscript=../Source/Python/submit.py</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
    443 
    444     <span class="c1"># this is system installation were executables and user files are separated</span>
    445     <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">&#39;syslocal&#39;</span><span class="p">:</span>
    446         <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">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="p">:</span>
    447             <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">&#39;ERROR: System installation path is equal to user &#39;</span>
    448                      <span class="s1">&#39;installation path.</span><span class="se">\n</span><span class="s1"> Please change either the system &#39;</span>
    449                      <span class="s1">&#39;installation path or use installation target &quot;local&quot;.&#39;</span><span class="p">)</span>
    450         <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">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="p">:</span>
    451             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Flex_extract will be installed in current directory!&#39;</span><span class="p">)</span>
    452         <span class="k">else</span><span class="p">:</span> <span class="c1"># install user part in different dir</span>
    453             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Flex_extract will be installed in &#39;</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="p">)</span>
    454 
    455             <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</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">installdir</span><span class="p">,</span><span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span><span class="p">)</span>
    456             <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">isdir</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">):</span>
    457                 <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">)</span>
    458 
    459             <span class="c1"># copy all files except Python and Fortranfiles to this dir</span>
    460             <span class="n">shutil</span><span class="o">.</span><span class="n">copytree</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">,</span>
    461                             <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span> <span class="n">symlinks</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
    462             <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</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">installdir</span><span class="p">,</span><span class="s1">&#39;Source&#39;</span><span class="p">))</span>
    463             <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</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">installdir</span><span class="p">,</span><span class="s1">&#39;.git&#39;</span><span class="p">))</span>
    464             <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span> <span class="s1">&#39;*~&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">:</span>
    465                 <span class="n">silent_remove</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
    466 
    467             <span class="n">os</span><span class="o">.</span><span class="n">remove</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">installdir</span><span class="p">,</span><span class="s1">&#39;setup.sh&#39;</span><span class="p">))</span>
    468             <span class="n">os</span><span class="o">.</span><span class="n">remove</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">installdir</span><span class="p">,</span><span class="s1">&#39;setup_local.sh&#39;</span><span class="p">))</span>
    469 
    470         <span class="c1"># configure run_local script correctly</span>
    471         <span class="c1"># check if source of system config file is already in run_local.sh,</span>
    472         <span class="c1"># if not, add it</span>
    473         <span class="k">if</span> <span class="ow">not</span> <span class="n">check_for_string_in_file</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">installdir</span><span class="p">,</span><span class="s1">&#39;Run/run_local.sh&#39;</span><span class="p">),</span>
    474                                  <span class="s1">&#39;source .setup.rc&#39;</span><span class="p">):</span>
    475             <span class="n">overwrite_lines_in_file</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">installdir</span><span class="p">,</span><span class="s1">&#39;Run/run_local.sh&#39;</span><span class="p">),</span>
    476                                     <span class="s1">&#39;# PATH TO SUBMISSION SCRIPT&#39;</span><span class="p">,</span>
    477                                     <span class="s1">&#39;# PATH TO SUBMISSION SCRIPT</span><span class="se">\n</span><span class="s1">source &#39;</span><span class="o">+</span><span class="n">_config</span><span class="o">.</span><span class="n">FILE_SYS_CONFIG</span><span class="o">+</span><span class="s1">&#39;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
    478         <span class="c1"># make sure that the correct calling of submit.py script is in run_local.sh</span>
    479         <span class="n">overwrite_lines_in_file</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">installdir</span><span class="p">,</span><span class="s1">&#39;Run/run_local.sh&#39;</span><span class="p">),</span>
    480                                 <span class="s1">&#39;pyscript=&#39;</span><span class="p">,</span> <span class="s1">&#39;pyscript=submit.py</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
    481 
    482         <span class="c1"># change permission for file to executable</span>
    483         <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;chmod&#39;</span><span class="p">,</span> <span class="s1">&#39;0775&#39;</span><span class="p">,</span>
    484                             <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">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">),</span><span class="s1">&#39;Run/run_local.sh&#39;</span><span class="p">)])</span>
    485 
    486 
    487         <span class="c1"># create systemdir</span>
    488         <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="o">=</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">sysinstalldir</span><span class="p">,</span><span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span><span class="p">)</span>
    489         <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">isdir</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">):</span>
    490             <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)</span>
    491 
    492         <span class="c1"># create setup file for running flex_extract with system installation</span>
    493         <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">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">),</span><span class="s1">&#39;Run/.setup.rc&#39;</span><span class="p">),</span><span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span>
    494             <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;#!/bin/bash </span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
    495             <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;export FLEXEXTRACT_USER_DIR=&#39;</span><span class="o">+</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</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>
    496             <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;export PATH=&#39;</span><span class="o">+</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)</span><span class="o">+</span><span class="s1">&#39;/Python:$</span><span class="si">{PATH}</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
    497             <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">&#39;export PATH=&#39;</span><span class="o">+</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)</span><span class="o">+</span><span class="s1">&#39;:$</span><span class="si">{PATH}</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
    498 
    499         <span class="c1"># copy all Python and Fortranfiles to this dir</span>
    500         <span class="n">shutil</span><span class="o">.</span><span class="n">copytree</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_SOURCES</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">,</span> <span class="n">symlinks</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
    501 
    502         <span class="n">os</span><span class="o">.</span><span class="n">chdir</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">sysinstalldir</span><span class="p">,</span><span class="s1">&#39;Fortran&#39;</span><span class="p">))</span>
    503         <span class="c1"># Create Fortran executable</span>
    504         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Install &#39;</span> <span class="o">+</span>  <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span> <span class="o">+</span> <span class="s1">&#39; software as &#39;</span> <span class="o">+</span>
    505               <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">&#39; in directory &#39;</span> <span class="o">+</span>
    506               <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</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>
    507 
    508         <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
    509         <span class="n">mk_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span>
    510 
    511         <span class="n">outfile</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span><span class="s1">&#39;*.out&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span>
    512         <span class="n">test</span><span class="o">=</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">sysinstalldir</span><span class="p">,</span><span class="s1">&#39;calc_etadot&#39;</span><span class="p">)</span>
    513         <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">outfile</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
    514             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: Multiple executables for Fortran code are available!&#39;</span><span class="p">)</span>
    515         <span class="c1"># move executable one dir up and delete Fortran dir</span>
    516         <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="s1">&#39;..&#39;</span><span class="p">)</span>
    517         <span class="n">shutil</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">outfile</span><span class="p">[</span><span class="mi">0</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">sysinstalldir</span><span class="p">,</span><span class="s1">&#39;calc_etadot&#39;</span><span class="p">))</span>
    518         <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</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">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">),</span><span class="s1">&#39;Fortran&#39;</span><span class="p">))</span>
     412    <span class="c1"># Create Fortran executable</span>
     413    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Install &#39;</span> <span class="o">+</span>  <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span> <span class="o">+</span> <span class="s1">&#39; software at &#39;</span> <span class="o">+</span>
     414          <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">&#39; in directory &#39;</span> <span class="o">+</span>
     415          <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</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>
     416
     417    <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
     418    <span class="n">mk_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span>
    519419
    520420    <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span>
     
    551451        <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>
    552452
    553     <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;local&#39;</span><span class="p">,</span> <span class="s1">&#39;syslocal&#39;</span><span class="p">]:</span>
     453    <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">!=</span> <span class="s1">&#39;local&#39;</span><span class="p">:</span>
    554454        <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">ecgid</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">ecuid</span><span class="p">:</span>
    555455            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please enter your ECMWF user id and group id &#39;</span>
     
    567467        <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">:</span>
    568468            <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="s1">&#39;$</span><span class="si">{HOME}</span><span class="s1">&#39;</span>
    569     <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">&#39;local&#39;</span><span class="p">:</span>
     469    <span class="k">else</span><span class="p">:</span> <span class="c1"># local</span>
    570470        <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">:</span>
    571471            <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span>
    572     <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">&#39;syslocal&#39;</span><span class="p">:</span>
    573         <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">:</span>
    574             <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span>
    575         <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">:</span>
    576             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: System installation was selected but &#39;</span>
    577                   <span class="s1">&#39;no system installation path was defined.&#39;</span><span class="p">)</span>
    578             <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span>
    579472
    580473    <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">:</span>
     
    592485        <span class="k">else</span><span class="p">:</span>
    593486            <span class="k">pass</span>
    594 
     487       
    595488    <span class="k">return</span></div>
    596489
     
    984877        <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
    985878    <span class="k">else</span><span class="p">:</span>
    986         <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;ls&#39;</span><span class="p">,</span> <span class="s1">&#39;-l&#39;</span><span class="p">,</span>
     879        <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">&#39;ls&#39;</span><span class="p">,</span> <span class="s1">&#39;-l&#39;</span><span class="p">,</span> 
    987880                            <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">src_path</span><span class="p">,</span> <span class="n">_config</span><span class="o">.</span><span class="n">FORTRAN_EXECUTABLE</span><span class="p">)],</span>
    988881                           <span class="n">error_msg</span><span class="o">=</span><span class="s1">&#39;FORTRAN EXECUTABLE COULD NOT BE FOUND!&#39;</span><span class="p">)</span>
  • Documentation/html/_modules/submit.html

    r47be2684 r08c9091  
    276276    <span class="k">else</span><span class="p">:</span>
    277277        <span class="n">submit</span><span class="p">(</span><span class="n">job_template</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">queue</span><span class="p">)</span>
    278         <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">&#39;FLEX_EXTRACT JOB SCRIPT IS SUBMITTED!&#39;</span>
     278        <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">&#39;FLEX_EXTRACT JOB SCRIPT IS SUBMITED!&#39;</span>
    279279
    280280    <span class="n">normal_exit</span><span class="p">(</span><span class="n">exit_message</span><span class="p">)</span>
  • Documentation/html/_modules/tools.html

    r903ed4f r08c9091  
    184184<span class="c1">#          put_file_to_ecserver, submit_job_to_ecserver, get_informations,</span>
    185185<span class="c1">#          get_dimensions, execute_subprocess, none_or_int, none_or_str</span>
    186 <span class="c1">#</span>
    187 <span class="c1">#    August 2020 - Leopold Haimberger (University of Vienna)</span>
    188 <span class="c1">#        - added function to check if a specific string is in a file</span>
    189 <span class="c1">#        - added function to overwrite lines in a file which contain specific string</span>
    190186<span class="c1">#</span>
    191187<span class="c1"># @License:</span>
     
    415411                        <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>
    416412                        <span class="n">help</span><span class="o">=</span><span class="s1">&#39;The name of the ECMWF server name where the&#39;</span>
    417                         <span class="s1">&#39;job script is to be submitted &#39;</span>
     413                        <span class="s1">&#39;job script is to be submitted &#39;</span> 
    418414                        <span class="s1">&#39;(e.g. ecgate | cca | ccb)&#39;</span><span class="p">)</span>
    419415
     
    790786    <span class="sd">&#39;&#39;&#39;Creates a directory.</span>
    791787
    792 <span class="sd">    If the directory already exists, an information is printed and the creation</span>
     788<span class="sd">    If the directory already exists, an information is printed and the creation </span>
    793789<span class="sd">    skipped. The program stops only if there is another problem.</span>
    794790
     
    10221018<span class="sd">    ----------</span>
    10231019<span class="sd">    cmd_list : list of str</span>
    1024 <span class="sd">        A list of the components for the command line execution.</span>
    1025 <span class="sd">        They will be concatenated with blank space for the command</span>
     1020<span class="sd">        A list of the components for the command line execution. </span>
     1021<span class="sd">        They will be concatenated with blank space for the command </span>
    10261022<span class="sd">        to be submitted, like [&#39;mv&#39;, file1, file2] for mv file1 file2.</span>
    10271023
     
    10761072
    10771073    <span class="k">return</span> <span class="n">start_period</span><span class="p">,</span> <span class="n">end_period</span></div>
    1078 
    1079 
    1080 <div class="viewcode-block" id="check_for_string_in_file"><a class="viewcode-back" href="../Documentation/Api/api_python.html#tools.check_for_string_in_file">[docs]</a><span class="k">def</span> <span class="nf">check_for_string_in_file</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="n">search_string</span><span class="p">):</span>
    1081     <span class="sd">&quot;&quot;&quot;</span>
    1082 <span class="sd">    Search for a specific string in a file and return True if</span>
    1083 <span class="sd">    the string was found.</span>
    1084 
    1085 <span class="sd">    Parameters</span>
    1086 <span class="sd">    ----------</span>
    1087 <span class="sd">    filepath : str</span>
    1088 <span class="sd">        The full file path which is to be examined.</span>
    1089 
    1090 <span class="sd">    search_string : str</span>
    1091 <span class="sd">        The string which is looked up for in the file.</span>
    1092 
    1093 <span class="sd">    Return</span>
    1094 <span class="sd">    ------</span>
    1095 <span class="sd">    Boolean :</span>
    1096 <span class="sd">        True : String was found</span>
    1097 <span class="sd">        False : String was not found</span>
    1098 <span class="sd">    &quot;&quot;&quot;</span>
    1099     <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span>
    1100         <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fio</span><span class="p">:</span>
    1101             <span class="k">if</span> <span class="n">search_string</span> <span class="ow">in</span> <span class="n">line</span><span class="p">:</span>
    1102                 <span class="k">return</span> <span class="kc">True</span>
    1103     <span class="k">return</span> <span class="kc">False</span></div>
    1104 
    1105 
    1106 <div class="viewcode-block" id="overwrite_lines_in_file"><a class="viewcode-back" href="../Documentation/Api/api_python.html#tools.overwrite_lines_in_file">[docs]</a><span class="k">def</span> <span class="nf">overwrite_lines_in_file</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="n">search_string</span><span class="p">,</span> <span class="n">sub_string</span><span class="p">):</span>
    1107     <span class="sd">&quot;&quot;&quot;</span>
    1108 <span class="sd">    Overwrites lines which contain the given search string with the</span>
    1109 <span class="sd">    substitution string.</span>
    1110 
    1111 <span class="sd">    Parameters</span>
    1112 <span class="sd">    ----------</span>
    1113 <span class="sd">    search_string : str</span>
    1114 <span class="sd">        The string which is looked up for in the file.</span>
    1115 
    1116 <span class="sd">    sub_string : str</span>
    1117 <span class="sd">        The string which overwrites the search string.</span>
    1118 
    1119 <span class="sd">    Return</span>
    1120 <span class="sd">    ------</span>
    1121 <span class="sd">    &quot;&quot;&quot;</span>
    1122     <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span>
    1123         <span class="n">data</span> <span class="o">=</span> <span class="n">fio</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span>
    1124 
    1125     <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span>
    1126         <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
    1127             <span class="k">if</span> <span class="n">search_string</span> <span class="ow">in</span> <span class="n">line</span><span class="p">:</span>
    1128                 <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">sub_string</span><span class="p">)</span>
    1129             <span class="k">else</span><span class="p">:</span>
    1130                 <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
    1131 
    1132     <span class="k">return</span></div>
    1133 
    11341074</pre></div>
    11351075
  • Documentation/html/_sources/Documentation/Input/setup.rst.txt

    r47be2684 r5bee29a  
    165165                  [--ecuid ECUID] [--ecgid ECGID] [--gateway GATEWAY]
    166166                  [--destination DESTINATION] [--installdir INSTALLDIR]
    167                   [--sysinstalldir SYSINSTALLDIR]
    168167                  [--job_template JOB_TEMPLATE] [--controlfile CONTROLFILE]
    169168
     
    173172      -h, --help            show this help message and exit
    174173      --target INSTALL_TARGET
    175                             Valid targets: syslocal | local | ecgate | cca , the latter two
     174                            Valid targets: local | ecgate | cca , the latter two
    176175                            are at ECMWF (default: None)
    177176      --makefile MAKEFILE   Name of makefile to compile the Fortran
     
    187186                            Root directory where flex_extract will be installed
    188187                            to. (default: None)
    189       --sysinstalldir SYSINSTALLDIR
    190                             System installation path; where executables are
    191                             stored. (default: None)
    192188      --job_template JOB_TEMPLATE
    193189                            The rudimentary template file to create a batch job
     
    202198
    203199
    204 
    205200.. toctree::
    206201    :hidden:
  • Documentation/html/_sources/Installation/local.rst.txt

    r903ed4f r73308e0  
    266266The Fortran program called ``calc_etadot`` will be compiled during the
    267267installation process. A suitable makefile (``makefile_local_gfortran``) for the compilation is set by default.
    268 This may be overwritten by the ``MAKEFILE`` parameter in ``setup_local.sh``.
    269 
    270 However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into ``setup_local.sh``
     268This may be overwritten by the ``MAKEFILE`` parameter in ``setup.sh``.
     269
     270However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into ``setup.sh``
    271271For details on the makefile and how to adapt them, see :ref:`Fortran Makefile <ref-convert>`.
    272272
    273273 
    274 In the root directory of ``flex_extract``, open the ``setup_local.sh`` script
     274In the root directory of ``flex_extract``, open the ``setup.sh`` script
    275275with an editor and adapt the installation parameters in the section labelled with
    276276"AVAILABLE COMMANDLINE ARGUMENTS TO SET" as shown below:
     
    279279.. code-block:: bash
    280280   :caption: 'Example settings for a local installation.'
    281    :name: setup_local.sh
     281   :name: setup.sh
    282282   
    283283   ...
     
    294294   DESTINATION=None
    295295   INSTALLDIR=None
    296    SYSINSTALLDIR=None
    297296   JOB_TEMPLATE=''
    298297   CONTROLFILE='CONTROL_EA5'
     
    304303.. code-block:: bash
    305304
    306    $ ./setup_local.sh
     305   $ ./setup.sh
    307306   
    308307to start the installation. You should see the following standard output.
     
    311310.. code-block:: bash
    312311
    313     # Output of setup_local.sh   
     312    # Output of setup.sh   
    314313    WARNING: installdir has not been specified
    315314    flex_extract will be installed in here by compiling the Fortran source in <path-to-flex_extract>/flex_extract_v7.1/Source/Fortran
     
    328327    lrwxrwxrwx. 1 <username> tmc 20 Aug 12  10:59 ./calc_etadot -> calc_etadot_fast.out
    329328
    330 
    331 Local system installation
    332 =========================
    333 
    334 There is also the possibility to separate the software executables from the user application files. For doing so, the ``TARGET`` parameter can be set to "syslocal" and the additional parameter ``SYSINSTALLDIR`` in the ``setup_local.sh`` has to be specified. This new path will contain the Fortran and Python executables of ``flex_extract``. If you chose to set a system path for this, please start the script as root.
    335 The user directory for ``flex_extract``, which basically consists of everything except the ``Source`` directory, will be installed into ``INSTALLDIR``.
    336 In this installation mode, an extra (hidden) ``.setup.rc`` file will be generated in the ``Run`` directory. It contains the necessary settings for running the local system mode.
    337 
    338 Despite the change in the ``TARGET`` parameter, the meaning of ``INSTALLDIR`` and the additional ``SYSINSTALLDIR``, the steps for installation are the same as in the local installation mentioned above. For example, modify the ``setup_local.sh`` file as follows:
    339 
    340 
    341 .. code-block:: bash
    342    :caption: 'Example settings for a local system installation.'
    343    :name: setup_local.sh
    344    
    345    ...
    346    # -----------------------------------------------------------------
    347    # AVAILABLE COMMANDLINE ARGUMENTS TO SET
    348    #
    349    # THE USER HAS TO SPECIFY THESE PARAMETER
    350    #
    351    TARGET='syslocal'
    352    MAKEFILE=<name_of_your_makefile>
    353    ECUID=None
    354    ECGID=None
    355    GATEWAY=None
    356    DESTINATION=None
    357    INSTALLDIR=$HOME
    358    SYSINSTALLDIR=/usr/bin/
    359    JOB_TEMPLATE=''
    360    CONTROLFILE='CONTROL_EA5'
    361    ...
    362 
    363 
    364 Afterwards, type:
    365 
    366 .. code-block:: bash
    367 
    368    $ sudo ./setup_local.sh
    369    
    370 to start the installation. You should see the following standard output.
    371 
    372 .. code-block:: bash
    373 
    374         Flex_extract will be installed in <$HOME>
    375         Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2
    376 
    377         Using makefile: makefile_local_gfortran
    378         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./rwgrib2.f90
    379         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./phgrreal.f90
    380         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./grphreal.f90
    381         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./ftrafo.f90
    382         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./calc_etadot.f90
    383         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./posnam.f90
    384         /usr/local/bin/gfortran  rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o -o calc_etadot_fast.out  -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -fopenmp
    385         ln -sf calc_etadot_fast.out calc_etadot
    386 
    387         lrwxrwxrwx. 1 <username> tmc 20 27. Okt 23:25 ./calc_etadot -> calc_etadot_fast.out
    388         SUCCESS: INSTALLATION FINISHED!
    389 
    390 
    391 You can now change into the user directory specified in ``INSTALLDIR`` and find a ``flex_extract_vX.X`` directory there.
  • Documentation/html/genindex.html

    r47be2684 r08c9091  
    274274      <li><a href="Documentation/Api/api_python.html#get_mars_data.check_dates_for_nonflux_fc_times">check_dates_for_nonflux_fc_times() (in module get_mars_data)</a>
    275275</li>
    276       <li><a href="Documentation/Api/api_python.html#tools.check_for_string_in_file">check_for_string_in_file() (in module tools)</a>
    277 </li>
    278276      <li><a href="Documentation/Api/api_python.html#checks.check_grid">check_grid() (in module checks)</a>
    279277</li>
     
    652650      <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.omegadiff">omegadiff (ControlFile.ControlFile attribute)</a>
    653651</li>
     652  </ul></td>
     653  <td style="width: 33%; vertical-align: top;"><ul>
    654654      <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.oper">oper (ControlFile.ControlFile attribute)</a>
    655655</li>
    656   </ul></td>
    657   <td style="width: 33%; vertical-align: top;"><ul>
    658656      <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.outputdir">outputdir (ControlFile.ControlFile attribute)</a>
    659657</li>
    660658      <li><a href="Documentation/Api/api_python.html#EcFlexpart.EcFlexpart.outputfilelist">outputfilelist (EcFlexpart.EcFlexpart attribute)</a>
    661 </li>
    662       <li><a href="Documentation/Api/api_python.html#tools.overwrite_lines_in_file">overwrite_lines_in_file() (in module tools)</a>
    663659</li>
    664660  </ul></td>
  • Documentation/html/searchindex.js

    r903ed4f r73308e0  
    1 Search.setIndex({docnames:["Developers/gen_docu","Documentation/Api/api_fortran","Documentation/Api/api_python","Documentation/Input/changes","Documentation/Input/compilejob","Documentation/Input/control","Documentation/Input/control_params","Documentation/Input/ecmwf_env","Documentation/Input/examples","Documentation/Input/fortran_makefile","Documentation/Input/jobscript","Documentation/Input/run","Documentation/Input/setup","Documentation/Input/templates","Documentation/Overview/app_modes","Documentation/Overview/prog_flow","Documentation/api","Documentation/disagg","Documentation/input","Documentation/output","Documentation/overview","Documentation/vertco","Ecmwf/access","Ecmwf/ec-links","Ecmwf/hintsecmwf","Ecmwf/msdata","Ecmwf/pubdata","Evaluation/metrics","Evaluation/staticcode","Evaluation/testcases","Installation/gateway","Installation/local","Installation/remote","Support/faq","Support/known_bugs_issues","authors","changelog","dev_guide","documentation","ecmwf_data","evaluation","index","installation","quick_start","support","todo"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.index":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["Developers/gen_docu.rst","Documentation/Api/api_fortran.rst","Documentation/Api/api_python.rst","Documentation/Input/changes.rst","Documentation/Input/compilejob.rst","Documentation/Input/control.rst","Documentation/Input/control_params.rst","Documentation/Input/ecmwf_env.rst","Documentation/Input/examples.rst","Documentation/Input/fortran_makefile.rst","Documentation/Input/jobscript.rst","Documentation/Input/run.rst","Documentation/Input/setup.rst","Documentation/Input/templates.rst","Documentation/Overview/app_modes.rst","Documentation/Overview/prog_flow.rst","Documentation/api.rst","Documentation/disagg.rst","Documentation/input.rst","Documentation/output.rst","Documentation/overview.rst","Documentation/vertco.rst","Ecmwf/access.rst","Ecmwf/ec-links.rst","Ecmwf/hintsecmwf.rst","Ecmwf/msdata.rst","Ecmwf/pubdata.rst","Evaluation/metrics.rst","Evaluation/staticcode.rst","Evaluation/testcases.rst","Installation/gateway.rst","Installation/local.rst","Installation/remote.rst","Support/faq.rst","Support/known_bugs_issues.rst","authors.rst","changelog.rst","dev_guide.rst","documentation.rst","ecmwf_data.rst","evaluation.rst","index.rst","installation.rst","quick_start.rst","support.rst","todo.rst"],objects:{"":{ControlFile:[2,0,0,"-"],EcFlexpart:[2,0,0,"-"],GribUtil:[2,0,0,"-"],MarsRetrieval:[2,0,0,"-"],UioFiles:[2,0,0,"-"],checks:[2,0,0,"-"],disaggregation:[2,0,0,"-"],get_mars_data:[2,0,0,"-"],install:[2,0,0,"-"],prepare_flexpart:[2,0,0,"-"],submit:[2,0,0,"-"],tools:[2,0,0,"-"]},"ControlFile.ControlFile":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],assign_args_to_control:[2,3,1,""],assign_envs_to_control:[2,3,1,""],basetime:[2,2,1,""],cds_api:[2,2,1,""],check_conditions:[2,3,1,""],controlfile:[2,2,1,""],cwc:[2,2,1,""],dataset:[2,2,1,""],date_chunk:[2,2,1,""],debug:[2,2,1,""],destination:[2,2,1,""],doubleelda:[2,2,1,""],dpdeta:[2,2,1,""],dtime:[2,2,1,""],ec_api:[2,2,1,""],ecfsdir:[2,2,1,""],ecgid:[2,2,1,""],ecstorage:[2,2,1,""],ectrans:[2,2,1,""],ecuid:[2,2,1,""],end_date:[2,2,1,""],eta:[2,2,1,""],etadiff:[2,2,1,""],etapar:[2,2,1,""],exedir:[2,2,1,""],expver:[2,2,1,""],flexextractdir:[2,2,1,""],format:[2,2,1,""],gateway:[2,2,1,""],gauss:[2,2,1,""],gaussian:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],install_target:[2,2,1,""],installdir:[2,2,1,""],left:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],logicals:[2,2,1,""],lower:[2,2,1,""],mailfail:[2,2,1,""],mailops:[2,2,1,""],makefile:[2,2,1,""],marsclass:[2,2,1,""],maxstep:[2,2,1,""],number:[2,2,1,""],omega:[2,2,1,""],omegadiff:[2,2,1,""],oper:[2,2,1,""],outputdir:[2,2,1,""],prefix:[2,2,1,""],purefc:[2,2,1,""],request:[2,2,1,""],resol:[2,2,1,""],right:[2,2,1,""],rrint:[2,2,1,""],smooth:[2,2,1,""],start_date:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],time:[2,2,1,""],to_list:[2,3,1,""],type:[2,2,1,""],upper:[2,2,1,""],wrf:[2,2,1,""]},"EcFlexpart.EcFlexpart":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],basetime:[2,2,1,""],calc_extra_elda:[2,3,1,""],create:[2,3,1,""],dataset:[2,2,1,""],dates:[2,2,1,""],deacc_fluxes:[2,3,1,""],dtime:[2,2,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],glevelist:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],marsclass:[2,2,1,""],mreq_count:[2,2,1,""],number:[2,2,1,""],outputfilelist:[2,2,1,""],params:[2,2,1,""],process_output:[2,3,1,""],purefc:[2,2,1,""],resol:[2,2,1,""],retrieve:[2,3,1,""],server:[2,2,1,""],stream:[2,2,1,""],types:[2,2,1,""],write_namelist:[2,3,1,""]},"GribUtil.GribUtil":{copy_dummy_msg:[2,3,1,""],get_keys:[2,3,1,""],index:[2,3,1,""],set_keys:[2,3,1,""]},"MarsRetrieval.MarsRetrieval":{"public":[2,2,1,""],accuracy:[2,2,1,""],area:[2,2,1,""],data_retrieve:[2,3,1,""],dataset:[2,2,1,""],date:[2,2,1,""],display_info:[2,3,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],grid:[2,2,1,""],levelist:[2,2,1,""],levtype:[2,2,1,""],marsclass:[2,2,1,""],number:[2,2,1,""],param:[2,2,1,""],print_infodata_csv:[2,3,1,""],repres:[2,2,1,""],resol:[2,2,1,""],server:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],target:[2,2,1,""],time:[2,2,1,""],type:[2,2,1,""]},"UioFiles.UioFiles":{delete_files:[2,3,1,""],files:[2,2,1,""],path:[2,2,1,""],pattern:[2,2,1,""]},ControlFile:{ControlFile:[2,1,1,""]},EcFlexpart:{EcFlexpart:[2,1,1,""]},GribUtil:{GribUtil:[2,1,1,""]},MarsRetrieval:{MarsRetrieval:[2,1,1,""]},UioFiles:{UioFiles:[2,1,1,""]},checks:{check_accmaxstep:[2,4,1,""],check_acctime:[2,4,1,""],check_acctype:[2,4,1,""],check_addpar:[2,4,1,""],check_area:[2,4,1,""],check_basetime:[2,4,1,""],check_dates:[2,4,1,""],check_grid:[2,4,1,""],check_job_chunk:[2,4,1,""],check_len_type_time_step:[2,4,1,""],check_levels:[2,4,1,""],check_logicals_type:[2,4,1,""],check_mail:[2,4,1,""],check_maxstep:[2,4,1,""],check_number:[2,4,1,""],check_pathes:[2,4,1,""],check_ppid:[2,4,1,""],check_public:[2,4,1,""],check_purefc:[2,4,1,""],check_queue:[2,4,1,""],check_request:[2,4,1,""],check_step:[2,4,1,""],check_time:[2,4,1,""],check_type:[2,4,1,""]},disaggregation:{IA3:[2,4,1,""],dapoly:[2,4,1,""],darain:[2,4,1,""]},get_mars_data:{check_dates_for_nonflux_fc_times:[2,4,1,""],do_retrievement:[2,4,1,""],get_mars_data:[2,4,1,""],main:[2,4,1,""],mk_dates:[2,4,1,""],mk_server:[2,4,1,""],remove_old:[2,4,1,""],write_reqheader:[2,4,1,""]},install:{check_install_conditions:[2,4,1,""],del_fortran_build:[2,4,1,""],get_install_cmdline_args:[2,4,1,""],install_local:[2,4,1,""],install_via_gateway:[2,4,1,""],main:[2,4,1,""],mk_compilejob:[2,4,1,""],mk_env_vars:[2,4,1,""],mk_fortran_build:[2,4,1,""],mk_job_template:[2,4,1,""],mk_tarball:[2,4,1,""],un_tarball:[2,4,1,""]},prepare_flexpart:{main:[2,4,1,""],prepare_flexpart:[2,4,1,""]},submit:{main:[2,4,1,""],mk_jobscript:[2,4,1,""],submit:[2,4,1,""]},tools:{check_for_string_in_file:[2,4,1,""],clean_up:[2,4,1,""],execute_subprocess:[2,4,1,""],generate_retrieval_period_boundary:[2,4,1,""],get_cmdline_args:[2,4,1,""],get_dimensions:[2,4,1,""],get_informations:[2,4,1,""],get_list_as_string:[2,4,1,""],init128:[2,4,1,""],make_dir:[2,4,1,""],my_error:[2,4,1,""],none_or_int:[2,4,1,""],none_or_str:[2,4,1,""],normal_exit:[2,4,1,""],overwrite_lines_in_file:[2,4,1,""],product:[2,4,1,""],put_file_to_ecserver:[2,4,1,""],read_ecenv:[2,4,1,""],send_mail:[2,4,1,""],setup_controldata:[2,4,1,""],silent_remove:[2,4,1,""],submit_job_to_ecserver:[2,4,1,""],to_param_id:[2,4,1,""],to_param_id_with_tablenumber:[2,4,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function"},terms:{"00h":[6,11],"10u":19,"10v":19,"12h":[6,11],"150px":[],"180w":6,"18utc":2,"1hourli":[8,43],"1st":[],"20c":[5,6,19,21,22,23,34,36,42,43],"20gb":43,"24h":6,"25th":[],"31st":[],"32000mb":[10,13],"3200mb":[4,13],"36hour":[8,43],"3hourli":[8,43],"4th":[],"60px":[],"6th":43,"althanstra\u00df":35,"boolean":2,"break":[],"case":[0,2,4,6,10,13,14,17,19,21,22,32,33,42,43,44],"class":[0,5,6,31],"default":[2,3,5,6,8,9,10,11,12,18,19,31,43],"export":[4,10,13],"f\u00fcr":13,"final":[0,2,11,15,17,19,21,43],"float":[2,11],"function":[2,17,41],"import":[2,6,11,30,31,33,34,36,39,43,44],"int":[2,6,30,32,43],"long":43,"m\u00e4r":[],"new":[2,6,10,11,17,31,41,43,44],"public":[2,5,6,8,10,11,12,14,22,23,24,31,36,39,41],"return":[2,4,10,34],"short":[2,5,6,17,30,43],"switch":[2,4,6,10,13,19],"true":[0,2],"try":[31,42,43],"while":[22,43],ARE:5,But:[],C3S:23,CDS:[2,22,23,33,36,42],Dps:[2,6],ENS:[23,43],FOR:[11,12],For:[0,2,5,6,9,11,13,14,18,19,21,22,24,30,31,32,34,39,42,43],HAS:[11,12,30,31,32,43],Has:[6,11],IDs:[2,6,15,43],Its:[2,43],NOT:[11,12,31],Not:12,One:[33,43],PBS:[4,10,13],THE:[11,12,30,31,32,43],THESE:[11,12,30,31,32,43],The:[0,2,13,14,15,17,18,19,20,21,22,30,31,32,34,39,42,43,44],Then:[2,11,14,42],There:[2,5,18,19,22,31,39,42,43],These:[4,10,13,17,42,43],Use:[0,6,30,32,43],Used:[2,12],Useful:[],Uses:2,Using:[31,43],WITH:[11,12],With:[6,11,12,18,43],_acc:19,_config:2,_expand:2,_file:0,_local:44,_orolsm:19,_static:[],_templat:2,a_0:17,a_1:17,a_2:17,a_3:17,abcd:2,abl:[2,13,18,19,22,30,43],about:[2,5,11,14,19,33,39,42,43],abov:[2,17,31,43],absolut:[],accept:[6,14,21,22,41,43],access:[2,5,6,12,14,23,24,30,31,32,33,39,41,42,43],accmaxstep:[2,5,6,10,43],accomplish:15,accord:[6,12,43],account:[30,32,39,42,43],acctim:[2,5,6,10,43],acctyp:[2,5,6,10,43],accumlu:2,accumul:[2,6,17,19,43],accur:43,accuraci:[2,5,6,10,19,21],achiev:21,action:[23,31,32],activ:42,activid:32,actual:[2,6,12,13,18,19,42,43],adapt:[0,2,5,6,9,11,12,13,18,30,31,32,33,36,43],add:[2,43],added:[17,19],adding:[2,43],addit:[2,5,11,15,17,20,30,31,39,43],addition:[2,6,14,30,43],addpar:[2,5,6,10,43],address:[2,6,12,19,30,32,43],adjac:17,adjust:41,admin:[12,30,31,33],adress:12,advanc:2,aerosol:35,affect:17,after:[2,5,6,11,12,15,17,18,43],afterward:[2,13,17,30,31,32],again:[11,12],against:[],aggreg:19,agre:22,agreement:14,algorithm:[2,17,36],align:[],alist:2,all:[2,5,6,8,11,12,13,15,17,19,30,31,32,33,42,43],alll:39,allow:[2,6,11,22,43],alpabet:2,alreadi:[2,11,12,22,30,31,32,42,43],also:[0,2,5,6,10,11,12,17,18,19,21,22,31,32,39,42,43,44],alter:19,altern:42,alwai:[6,11,12,43],amount:[2,6,11,17,39],anaconda:[31,42],analys:[21,39,43],analysi:[2,5,6,11,19,22,39,43],ani:[2,5,6,11,12,14,17,21,32,33,42,43,44],ann:[2,5,11,12,19,35],annep:[],annouc:44,announc:43,anog__ml:19,anog__sl:19,anoth:[2,6,9,33,43],ansh__sl:19,anymor:3,anyon:44,anyth:[6,11,12,13],api:[1,2,6,11,14,22,23,33,36,42,43],app:[30,32],appear:21,append:2,appli:[2,11,17,21,36,42,43],applic:[2,4,6,7,10,11,12,13,20,21,31,36,42,43,44],approach:17,appropri:[6,43,44],approri:6,april:43,apt:[30,31],arbitrari:2,archiv:[2,5,11,18,20,22,30,41,42],area:[2,5,6,10,11,12,17,19,31,43],arg:2,argument:[2,11,12,18,22,30,31,32,42,43,44],aris:14,around:[17,20],arrai:[2,34],arrang:2,array_t1:2,array_t2:2,array_t3:2,array_t4:2,articl:[2,6],ascrib:17,ask:[19,32,41,42,44],aspect:42,assign:[2,9],assign_args_to_control:2,assign_envs_to_control:2,assimil:43,assoc_nam:30,associ:[2,12,30,43],assum:[21,43],atm:[],atmospher:[17,20,23,34,41,43],attempt:2,attent:[6,43],attribut:[2,11,12,41],aug:31,august:43,austria:35,author:[2,5,11,12,32],auto:38,automat:[6,11,14,17,22,30,32,36,43,44],autoprogram:[],avail:[2,3,5,6,11,12,17,19,21,22,23,30,31,32,33,34,39,42,43,44],averag:17,avoid:[19,21,36,43],awar:[34,43],awk:[4,13],back:[6,11,42],bahaviour:[],ball:[2,42],base:[2,7,10,11,17,36,39,42],basetim:[2,5,6,10,11,17,36,43],bash:[11,12,43],basic:[2,17,31],batch:[4,10,11,12,13,18,20,30,43],bdynam:31,beaver:[30,31],becaus:[12,21,43],beck:2,been:[5,15,30,31,32,42,43],befor:[0,2,6,10,17,19,32,34,39,42,43],begin:[2,13,17],beginn:[18,43],behaviour:[5,18],being:[12,19],belong:[42,43],below:[7,9,17,19,21,31,34,43,44],best:[6,17,39,43],better:[6,43],between:[2,4,6,7,10,17,19,21,30,43],beyond:43,bicub:[],big:[30,31,32],bilinear:17,bin:[4,10,11,12,13,31],bionic:[30,31],bit:[2,6],blank:[2,11],block:[19,43],blockdiag:0,blockdiag_fontpath:0,blog:33,blue:[12,17],boku:35,border:17,both:[2,21,31,39,43],bottom:44,boundari:[2,11,17],box:[2,11,12,41],bracket:43,branch:42,broader:39,bstatic:31,bug:41,build:[2,23],built:32,bunch:2,buster:[9,30,31],button:42,bypass:[],calc_etadot:[4,12,13,15,18,21,30,31,32,36,38,42,43],calc_etadot_fast:[30,31,32],calc_extra_elda:2,calcul:[2,5,6,15,17,20,43],calendar:43,calibr:[6,43],call:[2,4,9,10,11,12,13,15,18,19,22,30,31,42,43],can:[2,3,5,6,9,11,12,13,14,15,18,19,21,22,30,31,32,34,39,40,41,42,43,44],cancel:22,cannot:[21,43],care:[6,11,43],carefulli:39,carri:[2,6],cat:[10,13],catalogu:[6,43],catego:[],categori:44,caution:43,cautiou:[],cautious:43,caveat:43,cca:[2,4,9,10,11,12,13,14,30,32,43],ccb:[4,9,10,11,12,13,14,30,32,43],cdot:17,cds_api:[2,10],cdsapi:31,cdsapirc:31,ce00010800:19,ce000908:43,cell:17,centr:[19,20,39,41],central:[2,17],cera20c:[6,31],cera:[5,6,19,21,22,23,34,36,41,42],cera_exampl:43,cera_testgrid_local_cd:19,cerapubl:43,certain:[2,18,41,42],certif:30,chang:[6,11,12,13,15,17,18,23,31,32,39,41,42,43],change_icon:[],changelog:41,charact:2,character:2,characteris:2,characterist:43,check:[4,6,9,10,11,12,15,18,30,31,33,36,42,43],check_accmaxstep:2,check_acctim:2,check_acctyp:2,check_addpar:2,check_area:2,check_basetim:2,check_condit:2,check_dat:2,check_dates_for_nonflux_fc_tim:2,check_for_string_in_fil:2,check_grid:2,check_install_condit:2,check_job_chunk:2,check_len_type_time_step:2,check_level:2,check_logicals_typ:2,check_mail:2,check_maxstep:2,check_numb:2,check_path:2,check_ppid:2,check_publ:2,check_purefc:2,check_queu:2,check_request:2,check_step:2,check_tim:2,check_typ:2,checkerboard:17,choic:[9,21,43],choos:21,choosen:12,chose:31,chosen:[2,21],chunk:[2,11],circl:17,classif:[2,6],clean:2,clean_up:2,clear:[39,43],click:[24,42],client:[2,31],climat:[22,23,42],clist:2,clone:42,close:43,closest:34,cloud:[2,6,19,43],cmd_list:2,cmp:[],coarser:[3,6],code:[0,2,6,12,13,19,31,32,36,41,42,43],collect:[2,39,41,43,44],collis:19,colour:17,column:2,combin:[2,11,41],come:8,comma:[2,6,43],command:[2,4,5,9,10,11,12,15,18,22,30,31,32,34,42,43,44],commandlin:[2,11,12,30,31,32,43],comment:[3,5,13],common:[2,11,12,41,43],commonli:2,commun:[39,42,43,44],compar:[17,43],compat:[3,6,18,21],compil:[2,9,12,13,18,30,31,32,33,42],compilejob:[13,18,43],complet:[2,14,17,23,31,36],complex:39,compon:[0,2,17,19,39,42],compos:19,composit:[5,19,43],comprehens:5,comput:[13,17,21,22,23,30,42,43],concaten:2,concatenate_sign:2,concern:2,conda:31,condit:[2,6,11,17],conduct:12,configur:[2,42],confluenc:2,confus:39,congratul:42,connect:[2,22,30,32,43],conrtol:[],conserv:[2,6,17],consider:17,consist:[2,3,11,17,18,19,20,21,31,43],consol:[30,31],constel:8,constitut:11,construct:[0,27,28,29,37,38,40],consult:43,consum:31,contact:23,contain:[0,2,5,7,8,11,12,13,15,17,19,21,31,33,34,42,43,44],content:[2,6,13,23,30,32,39,41,43],context:2,continu:[2,6,17,43],control:[2,10,11,12,13,15,19,21,22,34,38,39,41,42,44],control_:[5,43],control_cera:[8,10,43],control_cont:13,control_ea5:[8,11,12,30,31,32,43],control_ei:[8,43],control_od:[8,43],controlfil:[10,11,12,13,30,31,32,43],controlparamet:5,convect:[2,11,17,19],conveni:43,convent:[2,5,19],convers:2,convert2:36,convert:[2,15,17,20,36,43],coordin:[19,21,43],copernicu:42,copi:[2,11,12,41,43],copy_dummy_msg:2,copyright:[2,11,12],corner:6,correct:[2,6,36,43],correctli:[2,6],correspon:18,correspond:[2,6,9,11,13,17,19,34,39,43],correspondingli:43,cost:21,could:[17,43],count:[6,11,34],counter:2,coupl:2,cours:34,cover:43,crai:[4,10,13],creat:[0,2,4,6,7,10,11,12,13,15,18,19,20,21,30,32,43,44],creation:2,creativ:[2,11,12,41],creativecommon:[2,11,12,41],credenti:[12,13,15,18,31,42,43,44],cross:6,csv:[2,6,11,15,19,43],cubic:2,current:[0,2,6,9,12,14,17,21,31,40,42,43],cvh:19,cvl:19,cwc:[2,5,6,10,43],cycl:43,cyclic:[6,21],d64:[30,32],dai:[2,6,11,17,19,23,30,31,43],daili:[6,43],damp:17,dapoli:2,darain:2,dark:17,dat:11,data:[2,5,8,11,12,15,20,21,22,23,31,36,38,41,42],data_retriev:2,databas:23,dataset:[2,5,6,10,11,14,19,21,22,23,31,41],datatyp:19,date:[2,5,6,11,12,17,19,31,34,43],date_chunk:[2,5,6,10,11,43],date_time_steprang:19,datechunk:2,datelin:6,datetim:2,deacc_flux:2,deaccumul:[2,43],deactiv:36,debian:[9,30,31,42],debug:[2,5,6,9,10,11,19,21,36,43],decid:[2,5,18,43],decim:43,decis:2,declar:43,declin:[],decompos:2,dedic:22,defin:[2,5,6,10,11,12,19,21,24,34,39,42,43],definit:[2,5,18,41],degre:[6,21,43],degress:3,dejavu:0,dejavuserif:0,del_convert_build:[],del_fortran_build:2,delai:44,delet:[2,6,19,32,43],delete_fil:2,delta:17,delta_t:2,demand:[17,21,31,43],demonstr:19,denot:[2,17],depart:35,depend:[2,6,11,12,13,14,15,17,19,20,21,34,41,43],deposit:17,deprec:2,depthbelowlandlay:19,deriv:[2,30,31],describ:[12,14,18,20,22,32,42,43],descript:[2,5,6,11,12,13,19,21,34,39,43,44],design:[],desir:[2,6,17,21,43],despit:31,destin:[2,5,6,7,10,12,13,15,30,31,32,36,43],destination_nam:[7,13],deta:21,detail:[2,5,13,19,20,21,31,42,43],detect:[6,44],determin:[2,11,12,17,43],dev:[9,17,31,42],develop:[0,2,6,9,17,40,41,44],deviat:5,diagnost:[2,6],diagram:[0,12,15],diamond:17,dict:2,dictionari:2,differ:[2,6,8,14,21,22,34,39,43],differenti:[4,10,43],difficulti:15,digit:19,dimens:[2,17],dimension:[2,17,43],direct:[2,13,14,21,22,43],directli:[2,4,10,11,12,13,14,21,22,42,43],directoi:42,directori:[0,2,4,5,6,7,8,9,10,11,12,13,14,18,31,32,33,36,42,43],dis:19,disabl:[6,21],disaggegr:2,disaggreg:[5,6,15,36,38,43],discard:6,discret:17,discretis:[],discuss:[40,43],disk:[31,43],dispers:[2,6,17],displai:[2,6,32],display_info:2,disregard:2,distinct:2,distinguish:[6,11],distribut:[30,31,41,42,43],disturb:43,div:[],diverg:[19,43],divers:2,divid:[2,11,17,19,22],do_retriev:2,document:[5,8,11,19,21,23,30,32,36,43],doe:[2,3,11,12,14,33],doesn:[6,11,12],doi:[6,17],doing:[2,31,43],domain:[5,43],don:[9,12,31,33,42],done:[2,4,6,10,11,12,13,14,17,22,31,42,43],dot:0,doubl:[2,4,6,8,11,13,43],doubleelda:[2,5,6,10,43],down:42,download:[23,32,36,41],download_cdsapi:31,download_cera20c_ecmwfapi:31,download_era5_cdsapi:31,download_erainterim_ecmwfapi:31,downward:[3,6,18,34],dpdeta:[2,5,6,10,43],dpkg:[9,42],drive:[2,20,43],dry:17,dtime:[2,3,5,6,10,43],due:[6,11,12,17,43],durat:43,dure:[2,4,9,12,13,15,18,31,42,43],each:[2,5,6,10,11,13,14,17,19,39,42,43],earlier:[11,43],easi:[17,18,20,43],easier:[18,22],easiest:[30,31],easili:[2,11],east:[2,11,19],eastern:2,easternmost:2,eastward:17,ec_api:[2,10],ec_memory_per_task:[4,10,13],ec_threads_per_task:[4,10,13],ecac:32,ecaccess:[2,4,10,12,13,14,15,22,23,30,32,43],ecaccess_do_not_remov:[4,10,13,43],ecc:2,eccod:[4,9,10,13,23,30,31,32,33,36],eccodes_include_dir:9,eccodes_lib:9,ecd:2,ecf:[2,6,32],ecfsdir:[2,5,6,10],ecg:[4,10,13],ecgat:[2,4,6,9,10,11,12,13,14,21,30,32,43],ecgb11:[32,43],ecgb:[4,10,11,12,13],ecgid:[2,5,6,7,10,12,13,30,31,32,43],echo:[4,12,13],echom:32,ecmf:19,ecmwf:[2,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,23,30,32,33,34,36,41,43],ecmwf_env:[2,11,12,18,43],ecmwfapi:[31,33],ecmwfapirc:31,ecmwfdataserv:[2,31],ecmwfservic:[2,31],ecnam:[],econdemand:[2,5,6,10],ecscratch:32,ecstorag:[2,5,6,10],ectmp:[2,5,6,10],ectran:[2,5,6,10,15,30,32,43],ecuid:[2,5,6,7,10,12,13,30,31,32,43],ecwmf:[22,42],edg:12,edit:19,editor:[9,30,31,32],effect:[13,21],effici:[13,17,19,43],egat:[],either:[2,6,11,14,15,43],elda:[2,6,8,36,43],element:[2,3],els:[4,10,12,13],email:[2,4,6,10,13,30,32,43,44],emo:[4,10,13],emoslib:[21,23,31,32,33],empti:[2,11,12],enabl:[22,30,43],encount:42,end:[2,4,6,10,11,13,17,19,43],end_dat:[2,5,6,10,11,17,43],end_period:2,enda:[10,19,31,43],endian:[30,31,32],endif:17,endo:6,enfo:[6,8,36,43],english:36,enough:[6,22,43],ens:[8,43],ensembl:[2,6,23,36,43],ensemble_memb:19,ensur:21,enter:30,entri:[11,43],env:[2,4,13],environ:[2,4,6,10,11,12,13,14,20,33,42,43,44],environment:[2,35],eof:[10,13],equal:[2,6,11,21,43],equat:[2,6,17,43],equidistantli:17,equival:[30,31],era5:[2,5,6,21,22,23,31,42,43],era:[5,6,11,19,21,22,23,34,36,41,42],eror:2,error:[2,4,10,12,13,21,30,31,43],error_msg:2,esac:[4,10,13],escap:13,especi:[21,42,43],establish:[14,30],eta:[2,5,6,8,10,19,21,38,43],etadiff:[2,5,6,10,21,43],etadot:[2,6,19,43],etapar:[2,5,6,10],etayymmddhh:[6,21],etc:[31,39,44],europ:43,european:[20,39,41],evalu:41,even:[17,21,31,32,43],event:[17,44],eventu:[],everi:[22,30,34,39,43],everyon:6,everyth:[0,2,9,14,31,43],everytim:[],ewss:[17,19],exact:[2,17,43],examin:2,exampl:[2,3,6,7,11,17,18,19,22,23,31,34,39,42,43],exce:[],exceed:43,excelt:0,except:[2,6,21,31,43],execut:[2,9,10,12,13,14,15,18,19,31,32,33,36,42],execute_subprocess:2,exedir:2,exist:[2,6,11,43,44],exit:[2,11,12,34],expect:[2,43],expens:[6,21],experi:[6,43,44],experienc:43,explain:[19,43,44],explan:43,explanait:[],explic:[],explicit:42,explicitli:[6,20,22,43],express:2,expver:[2,5,6,10,19,31],extend:[39,43],extens:[0,2,6,17,43],extra:[2,5,6,14,31,36,42,43],extract:[2,5,6,11,19,21,22,31,34,43],extractxxxxx:43,f90:[30,31,32,36],f_0:17,f_1:17,f_2:17,f_3:17,f_i:17,facil:[22,30],fail:[2,4,6,10,13,34,43],failur:43,fals:2,familiar:43,faq:41,far:6,fast:20,faster:[18,22,44],fcog_acc_sl:19,fconvert:[30,31,32],fdefault:[30,31,32],feasibl:21,featur:[2,6,20,41,44],februari:5,fedir:2,feel:42,few:[6,30,32,43],fewer:43,fftw3:[31,32],fftw:[23,30,32,33],field:[2,5,11,15,20,21,23,36,41,43],field_typ:19,fig:17,figur:[14,17,43],file1:2,file2:2,file:[0,2,4,9,10,11,12,13,15,17,18,20,22,23,30,31,32,34,36,39,41,42,44],filemod:2,filenam:[2,17,19,43],filename_in:2,filepath:2,fill:[6,42,43],filter:[2,17],find:[5,9,31,39,42,43],finder:[],fine:[21,31],finer:[3,21],finish:[31,42,43],first:[2,5,6,11,17,32,36,39,42,43],fit:2,fix:[4,10,17,34,41],flex:[10,13,43],flex_ecmwf:[4,10,13],flex_extract:[0,2,4,5,6,8,9,10,11,12,13,14,15,17,18,19,20,21,22,30,31,32,33,34,39,40,43,44],flex_extract_repo:[],flex_extract_v7:[10,13,19,31,34],flex_extract_v:[4,13],flex_extract_vx:[5,7,8,9,11,12,13,18,30,31,32,42,43],flexcompil:[4,13,30,32],flexextract:19,flexextractdir:2,flexpart:[2,6,11,15,17,20,21,22,31,34,41,43,44],flexpart_root:[4,13],flexpart_root_script:[4,13],flexpartdir:12,flextra:[2,20,21,41],flow:[2,11,12,20],flux:[2,5,15,21,38,43],fluxyyyymmddhh:17,flxacc2:17,follow:[2,5,8,12,13,15,17,18,19,21,30,31,32,33,34,39,42,43],font:0,fontpath:0,fopenmp:[30,31,32],for_develop:0,forecast:[2,5,6,11,17,20,21,22,23,39,41,43],forecast_step:19,forescast:43,forg:31,forget:[12,33],form:[6,42],format:[2,6,10,11,12,15,17,19,20,31,43],formul:17,fort:[2,13],fortran90:[],fortran:[2,4,12,13,15,16,17,18,20,21,30,31,32,36,38,41,43],fortran_program:13,found:[2,5,6,9,13,19,21,30,40,42,43,44],four:[2,14,17,42],fp_root:2,fp_root_path:13,fp_root_script:13,fpdir:2,frac32:17,frac:17,framework:[13,30],free:42,frequent:[41,43,44],from:[2,3,4,5,6,9,10,11,12,13,14,15,17,18,19,20,22,23,30,31,32,34,36,39,41,42,43],fromfil:2,fsr:19,ftime:2,ftp:32,ftrafo:[30,31,32],ftype:2,fulfil:17,full:[2,6,11,12,21,22,31,41,43],fulli:39,further:[2,5,8,31,32,43],furthermor:18,futur:[6,21,43],g_i:17,g_ig_:17,gain:[],gap:43,gate:[],gatewai:[2,4,5,6,7,9,10,12,13,14,15,18,20,22,31,32,36,41,42],gateway_nam:[7,13],gatewaynam:[12,30,32],gatewayserv:43,gauss:[2,5,6,8,10,21,38,43],gaussian:[2,6,10,19,21,23],gen_docu:0,gener:[0,4,5,10,13,17,19,21,23,30,31,38,42,43],general:2,generate_retrieval_period_boundari:2,genericsftp:[2,10,12,30,32],genshi:[4,10,13,30,31,32,36],geometr:2,geophys:35,geosci:17,geoscientif:[2,6,17,40],german:36,get:[2,6,30,31,32,34,36,42,43],get_cmdline_arg:2,get_dimens:2,get_inform:2,get_install_cmdline_arg:2,get_kei:2,get_list_as_str:2,gfortran:[9,23,30,31,32,33],gid:[12,32],git:42,gitmob:42,give:[6,21,34,42,43],given:[2,5,14,17,21,43],glevelist:2,global:[5,6,8,21,39,43],gmd:[6,17],gnu:[9,30,31,32,42],goe:2,going:[2,6,11],good:21,grant:42,graphviz:0,grb:[2,19],greater:[6,11],green:[12,17],gregor:35,grep:[9,10,13,42],grib1:[2,5,6,10,15],grib2:[2,6,15],grib2flexpart:10,grib:[2,6,11,15,23,31],grib_api:[4,10,13,33,36],grib_l:19,gribmessag:11,grid:[2,3,5,6,10,17,19,20,21,23,31,43],grid_simpl:19,grid_typ:19,gridtyp:19,ground:34,group:[2,4,5,12,13,14,22,31,42],groupid:[12,30,32],groupnam:[],grphreal:[30,31,32],guarante:[2,11,12,17,43],guid:[23,36,41,43],guidanc:21,haimberg:[2,35],half:[2,6,11,17,21,43],handl:[2,5,39,43],happen:0,hard:2,harmon:19,has:[0,2,4,6,10,11,12,13,14,17,21,22,30,31,32,39,42,43],hast:6,have:[2,3,5,6,11,12,14,15,22,30,31,32,33,34,39,42,43],hcc:19,header:2,heat:[2,17,19],heavili:21,height:17,help:[2,11,12,18,43,44],help_icon:[],hemispher:43,henc:17,her:12,here:[2,6,8,11,12,15,19,31,39,43,44],hidden:31,high:[6,11,13,21,31,43],higher:[2,21],highest:21,highli:21,highlight:43,highr:[8,43],hint:[5,39,41,44],his:12,histor:21,hittmeir:[2,6,17],home:[4,10,12,13,14,23,30,31,32,42,43],homogen:39,horizont:[2,5,6,17,43],hoskin:6,host:[4,10,11,12,13,43],hostnam:[32,43],hour:[2,6,11,17,19,22,43],hourli:[6,22,43],how:[2,5,6,15,18,22,23,31,39,42,43],howev:[6,15,17,21,22,31,39,43],hpc:[12,21,43],hre:[23,43],href:[],html:[],http:[2,6,11,12,17,30,32,41,42,44],humid:19,hybrid:19,i32:[30,32],i_i:17,ia3:2,ice:[2,6,43],idea:39,identif:2,identifi:[2,6,11,12,17,19],identificationkeyword:2,idir:2,idirectionincrementindegre:2,ids:2,idx:[2,19],ifort:[],iid:2,img:10,implement:[17,19,43],impli:17,importantli:39,improv:[2,17,36,43],inbetween:[6,43],includ:[6,9,11,12,13,30,31,32,34,42,43,44],incorpor:42,increas:43,incur:21,independ:39,index:2,index_fil:2,index_kei:2,index_v:2,indic:[2,5,17,19,43],individu:[2,4,6,10],ineffici:43,info:2,inform:[2,5,6,8,11,14,18,19,20,22,23,32,34,39,42,43,44],informt:2,init128:2,init:2,initi:[2,11,12,36],initialis:[2,18,36],input:[2,5,6,10,11,12,15,17,20,38,41,43],inputdir:[2,10,11,13,43],inputfil:[2,11],insert:31,instal:[0,4,5,6,7,9,10,13,14,15,18,20,22,36,41,43],install_loc:2,install_target:[2,10,12],install_via_gatewai:2,installdir:[2,12,30,31,32,42],installscript:[4,12,30,32],instanc:2,instantan:19,instead:[2,11,12,15,22],institut:[35,39],instruct:[2,6,14,30,31,33,42,43],intact:11,integ:[2,6,11,43],integr:[2,17],intel:[4,10,13],intend:[6,8,11,14,39],interact:30,interest:42,interfac:[2,5,23,24,36,43],intergovernment:39,interim:[5,6,11,19,21,22,23,31,34,41,42],intermedi:2,intern:[2,11,12,41],internet:43,interpol:[2,6,11,17,19,43],interpret:18,interv:[2,3,6,12,17,19],introduc:[17,19,34,36,43],introducst:[],introduct:[],introductari:23,introdut:[],investig:[],involv:12,ipar:2,ipnam:32,isol:17,issu:41,iter:2,its:[2,11,13,17,19,21,39,42],itself:[2,43],jame:[2,17],januari:43,jasper:[30,32,36],jdirectionincrementindegre:2,job:[2,6,11,12,13,14,15,18,19,20,30,32,41],job_chunk:[2,10,11,43],job_fil:2,job_id:[2,4,13],job_templ:[2,10,11,12,30,31,32,43],jobfil:2,jobnam:[2,4,13],jobop:43,jobscript:[10,11,43],journal:[17,40],jtemplat:2,june:[2,43],just:[2,3,6,8,12,31,43],k_i:17,keep:[2,13,17,42,43],kei:[2,31,42],kept:6,keynam:2,keyvalu:2,keyword:[2,6,11,19,22,23,43],kind:[2,6,19,43],km4a:[4,10,13],know:[31,43],known:[5,41],known_bugs_issu:[],korn:[2,4,10,12,13,18,20,36,43],kornshel:[],ksh:[13,18,43],kwd:2,label:[12,19,31],lagrangian:[2,6,17],larg:[2,6,11,17,19,36,43],larger:[6,11,21],last:[2,6,11,17,19,30,32,34,43],lat:[2,6,11,19,21,43],late:17,later:[2,31,34],latest:[22,42,43],latitu:2,latitud:[2,6,20,43],latitudeoffirstgridpointindegre:2,latitudeoflastgridpointindegre:2,latter:12,lcc:19,ld_library_path:33,lead:[6,11,13,17,19,32,43],learn:39,least:[2,12],leav:11,leccod:[9,30,31,32],leccodes_f90:[9,30,31,32],left:[2,5,6,10,17,21,42,43],lemo:[30,32],lemosr64:31,length:[2,17,43],leopold:[2,35],less:21,let:11,letter:[2,11,12,19,41],level:[2,5,6,10,11,12,15,18,19,21,22,31,34,41,43],level_typ:19,levelist:[2,5,6,10,11,19,31,43],levellist:34,levtyp:[2,19,31],lfftw3:[30,32],lib64:31,lib:[9,30,32,33,36],libeccod:[9,31,42],libemo:[30,31,32],librari:[4,9,10,14,20,23,31,32,41,42,44],licenc:[11,12,22,23,41],licens:[2,6,11,12,14,22,41],lies:2,life:35,light:12,like:[2,9,11,17,30,32,34,42,43],limit:[6,11,19,22,39,43],line:[2,5,11,12,13,15,17,18,19,22,30,32,42,43,44],linear:[2,6,17],linearli:17,link:[0,9,39,41,42,43],linux:[9,12,14,15,22,30,31,42,44],liquid:[2,6,43],list:[2,5,6,8,9,11,12,15,17,19,20,23,31,34,41,43],list_obj:2,littl:17,ljasper:[30,31,32],load:[2,4,10,11,12,13,30,32,36,43],local:[2,5,6,7,9,11,12,14,22,30,32,33,36,41,42],localmachin:32,localus:32,locat:[2,7,11,12,43],lock:[],log:[2,4,6,10,13,31,32,42,43,44],logarithm:19,logic:[2,10],login:[32,43],lon:[2,6,11,19,21,43],longer:[2,6,36],longitud:[2,6,20,43],longitudeoffirstgridpointindegre:2,longitudeoflastgridpointindegre:2,longiud:[],look:[2,30,32,34,43],lot:[21,43],lower:[2,5,6,10,21,43],lowest:[19,34],lp64:[30,32],lpthread:[30,32],lrwxrwxrwx:[30,31,32],lsm:19,lsp:[17,19],machin:[2,4,9,10,12,13,14,15,31,32,42,43],made:[2,22,39,43,44],magnitud:2,mai:[6,11,12,15,17,30,31,39,42,43,44],mail:[2,4,6,10,13,35,41,43],mailfail:[2,5,10,13,43],maill:44,mailop:[2,5,6,10,13],main:[2,5,18,20,22,43],mainli:43,maintain:17,make:[0,4,13,18,30,33],make_dir:2,makefil:[2,4,12,13,18,30,31,32,33,36],makefile_crai:[9,12,30,32],makefile_debug:9,makefile_ecg:[4,9,12,30,32],makefile_fast:9,makefile_local_gfortran:[9,12,31],manag:[13,30,31,42],mani:[17,43],manipul:2,mar:[2,6,11,15,18,20,22,23,30,31,32,33,36,41,42,43],march:[2,22,30,31,32],margin:[],mark:[4,5,10,13,17,19,43],mars_request:[2,6,11,15,19,43],marsclass:[2,10,19],marsfil:2,maschin:11,mask:43,mass:21,master:42,match:2,math:[],mathrm:17,matter:[2,12],max:[6,11],max_level_list:2,maxb:[2,13,19],maxim:[],maxima:17,maximum:[2,5,6,11,34,43],maxl:[2,13,19],maxstep:[2,5,6,10],mcc:19,mdpdeta:[2,13,19],mean:[2,4,12,13,17,19,31,43],measur:21,medium:[20,39,41],member:[2,6,12,14,19,22,23,24,30,31,39,42,43],memberst:[2,6],memori:[6,11],mendel:35,mention:[13,14,17,31,43],merg:15,mess:42,messag:[2,11,12,19,21,30,31,34],met:35,meta:[2,13,19],metadiff:[2,13,19],metapar:[2,13,19],meteorolog:[2,17,19,20,35,39,41],meter:[],method:[2,5,6,11,17,19,21,22,38,39,40,43],mgauss:[2,13,19],might:[0,2,6,11,15,18,22,31,39,42,43],migrat:[2,23],min:17,mind:[6,43],minim:42,minima:17,minimis:31,minimum:[20,43],minut:[2,30,32],mismatch:43,missingvalu:2,mix:43,mk_compilejob:2,mk_convert_build:[],mk_date:2,mk_env_var:2,mk_fortran_build:2,mk_job_templ:2,mk_jobscript:2,mk_server:2,mk_tarbal:2,mkdir:[4,10,13],mlevel:[2,13,19],mlevelist:[2,13,19],mnauf:[2,13,19],mnt:19,mock:0,mod:[2,4,9,13],mode:[2,4,6,7,9,10,11,12,13,18,19,20,36,39,41,42,44],model:[2,6,15,17,19,20,21,22,23,34,39,40,41,43],modif:2,modifi:[2,9,22,31,43],modul:[4,10,11,12,13,14,30,32,36,42,43],modular:36,momega:[2,13,19],momegadiff:[2,13,19],moment:6,mon:17,monitor:43,monoton:[2,17],month:[11,19,31,43],monthli:6,more:[2,5,6,11,12,14,17,19,42,43,44],most:[2,6,13,36,39,43,44],mostli:[2,6,19,43],motiv:17,mountain:[2,11,12,41],move:[0,2],mreq_count:2,msgatwai:30,msl:19,msmooth:[2,13,19],much:[39,44],multipl:[2,43],multipli:[6,21],muser:[10,13],must:[6,11,14,32,43],my_error:2,myecnam:12,mygroupnam:12,myuser:12,name:[2,4,5,6,10,11,12,13,17,19,30,31,32,36,42,43],name_of_this_fil:[4,10,13],name_of_your_makefil:31,namelist:[2,13,19],namespac:2,namgen:[13,19],nano:[30,32],nas:19,nation:[22,39],nativ:[30,31,32],natur:[17,35],necessari:[0,2,3,4,6,9,10,11,12,13,14,18,20,30,31,32,33,36,43,44],necessarili:5,nedit:9,need:[0,2,3,5,6,11,12,13,14,18,19,20,21,22,31,32,37,40,42,43],neg:[2,17],neglect:6,net:[17,19],nevertheless:2,newer:19,newest:43,newslett:[],next:[30,32,43,44],nfield:2,night:[],non:[2,6,17,34,43],noncycl:6,none:[2,5,6,10,11,12,17,19,30,31,32,43],none_or_int:2,none_or_str:2,nonzero:2,normal:[4,6,10,13,43],normal_exit:2,north:[2,11],northern:[2,43],northernmost:2,northward:[17,19],notabl:43,notat:17,note:[6,15,17,32,34,42,43],notif:[2,5],notifi:2,novemb:[2,21],now:[22,31,42],nowadai:[],nsss:[17,19],number:[2,3,4,5,6,8,9,10,11,13,17,18,19,20,21,34,36,43],numer:39,numpi:[2,30,31,32],object:2,observ:2,obtain:[2,17,42,43],obvious:17,occur:[2,17],octahedr:23,octob:11,odir:2,off:[2,5,6,19],often:21,og_orolsm__sl:19,okt:31,old:[0,2,6,11,17,36,43],older:[6,15,43],omega:[2,5,6,10,19,21,38,43],omegadiff:[2,5,6,10,21,43],omegayymmddhh:[6,21],onc:[11,43,44],one:[2,5,6,11,12,17,18,19,32,34,42,43],ones:[17,32],onli:[2,3,5,6,11,12,17,19,21,22,32,34,42,43,44],onlin:[36,43],onward:6,open:[2,9,20,30,31,32,41,43],opend:12,oper:[2,5,6,8,10,11,12,17,21,23,31,34,39,41,42],operation:6,oportun:[],opportun:[],opt:[],optim:21,optimis:[9,12,15,43],option:[2,5,6,15,17,19,21,33,36,42,43],optionalind:5,orang:12,order:[2,5,19,43],org:[2,6,11,12,17,41],organis:39,origin:[2,6,11,17,19,43],orographi:19,other:[2,5,6,9,11,31,39,42,43,44],otherwis:[2,12,43],our:42,out:[2,4,6,9,10,13,30,31,32,42,43],output:[2,4,5,6,10,11,12,13,17,30,31,32,36,38,39,41,42,43,44],outputdir:[2,10,11,13,43],outputfilelist:2,outsid:31,over:[2,17,43],overal:[2,19],overhead:43,overlap:[6,17],overrid:[3,11],overrul:5,overview:[8,14,15,17,23,34,38,41,42],overwrit:[0,2,43],overwrite_lines_in_fil:2,overwritten:[2,18,31],own:[19,32,42],p_a:[],p_b:[],p_c:[],p_d:[],packag:[0,4,10,13,20,30,31,41,42],package_nam:42,packingtyp:19,page:[30,42],panel:42,paper:[34,40],par:2,paragraph:44,parallel:[],param1:43,param2:43,param:[2,19,31],paramat:2,paramet:[2,3,4,5,8,9,10,13,15,17,18,19,20,23,30,31,32,36,39,41,42],parameteris:43,parameterlist:[11,12],parameternam:2,paramx:43,parent:[2,11,19],part:[2,17,20],parti:[14,20,23,41],particl:[2,6,17],pass:[2,10,22,34,42],passcod:30,password:[30,32],path:[0,2,4,6,8,9,10,11,12,13,14,31,32,33,34,42,43],path_flexextract_dir:2,path_fortran_src:2,path_input_dir:2,pattern:[2,43],paul:17,pbs_jobid:[10,13],pdf:21,pep8:36,per:[2,5,6,11,15,19,43],perform:[2,13,15,21],period:[2,5,6,11,17,30,43],person:12,perturb:[6,19],petra:[2,35],phgrreal:[30,31,32],philipp:[2,5,6,11,12,17,35],physic:[35,39],pid:[19,43],piec:[17,19],piecewis:17,pip:[0,31,42],place:[2,12,13,14,30,44],placehold:[13,32],plan:[6,21],platform:42,pleas:[5,14,15,21,30,31,32,43,44],plot:23,plu:17,png:0,point:[2,11,17,19,43],polynomi:[2,17],posit:[2,6,13,17],posnam:[30,31,32],possibl:[2,5,6,8,11,12,17,21,22,31,42,43,44],post:[2,6,15,31,44],postprocess:2,pp_id:[11,43],ppid:[2,11,19],pre:[9,17],precalcul:6,precip:19,precipit:[2,5,6,11,23,36,43],precis:33,preconvert:[],predict:[39,43],prefar:42,prefer:[6,30,31,32],prefix:[2,5,6,10,19,21],prepar:[0,2,4,6,10,11,12,13,14,15,20,26,41,42],prepare_flexpart:11,preprocessor:44,present:[2,7,12,23,30,32,42,43],preserv:[17,19,43],pressur:[2,19,21,22,31],pressure_level:31,previou:[18,21,43],prgenv:[4,10,13],primarili:9,principl:43,print:[2,4,13,43],print_infodata_csv:2,prior:[17,21],problem:[2,17,36,42,43,44],procedur:[5,17],process:[2,4,6,7,9,10,11,12,13,14,15,17,18,19,22,31,36,42,43,44],process_output:2,prod:2,produc:[9,17,19,21,39,43],product:[2,42,43],product_typ:31,progam:42,program:[0,4,9,11,12,13,17,18,20,21,30,31,36,41,43],programm:16,progress:[15,43],prompt:30,proper:[18,41],properli:[2,12,15,34,42,44],properti:[2,19,39],propos:[17,44],proposit:[],prot:[10,13,43],protocol:43,provid:[2,3,14,18,20,21,22,31,32,33,42,43,44],pseudo:43,publicli:43,publish:17,pull:31,pure:[2,6,11,19,43],purefc:[2,10],purpos:[2,6,19],put:[2,6,12,13],put_file_to_ecserv:2,pycallgraph:0,pylint:0,pyrevers:0,pyscript:11,pytest:0,python3:[4,10,11,12,13,18,30,31,32,36,42,43],python:[0,4,10,11,12,13,15,16,17,18,19,20,23,30,31,32,33,36,38,42,43],pythonxxxxx:[],qos:[4,10,13],quad:17,quantiti:[2,6,17],question:[41,44],queue:[2,4,10,11,12,13,15,30,43],queuenam:[4,10,13],queues_list:2,quick:[8,43],quick_start:[],quickli:[13,43],quota:43,r64:[4,10,13,30,32],radiat:[2,17,19],raid60:[],rainfal:2,rais:[2,17],rang:[2,6,20,31,39,41,43],rare:43,rate:17,rather:21,raw:[2,15],reach:18,read:[2,6,12,13,15,20,21,32,33,39,43],read_ecenv:2,readi:[2,6,11],real:[23,30,31,32,43],real_tim:23,realis:17,realiti:17,realli:[21,43],reanalysi:[6,11,21,23,31,42],reason:[2,6,11,17,43],receiv:[30,43,44],recent:[10,43],recod:17,recommend:[6,17,21,31,43],reconstruct:[2,17],record:42,rectangular:12,red:17,redhat:42,reduc:[19,21,23],ref:[],refactor:36,refer:[2,14,39,43],regard:[5,18,36,44],regardless:42,region:21,regist:[22,31,33,42],registeredus:44,registr:[6,14,22,23,31,33,41,44],regress:[36,41],regular:[2,20,43],regular_l:19,regularli:[],rel:[17,43],relat:43,releas:[2,41,42,43,44],relev:[2,5],reli:42,remain:[2,17],rememb:42,remot:[2,4,6,7,9,10,12,13,14,15,18,20,30,36,41,42],remota:12,remov:[2,3,17,36],remove_old:2,renam:0,renew:30,repeat:2,rephras:[],repo:42,report:[2,41],repositori:42,repr:[2,19],repres:[2,17,19,22,23,42,43],represent:[2,20],reqest:15,request:[2,4,5,6,10,11,13,15,17,22,36,43],request_numb:[2,19],requir:[2,13,14,17,20,21,30,31,32,39,42,43],rerun:11,research:39,resol:[2,5,6,10,19,21,43],resolut:[3,5,6,11,21,22,39,43],resolv:21,reson:[],resourc:35,respect:[2,5,15,17,18,19,31,39,42,43],respectivlei:[],respons:43,rest:[2,6],restrict:21,restructur:36,result:[2,15,19,21,43],retriev:[2,5,6,11,14,15,17,18,19,20,21,22,31,33,34,36,39,41,42,43],retrieve:5,return_list:2,review:6,revis:36,revtriev:2,right:[2,5,6,10,12,17,21,22,30,31,33,39,42,43,44],rla0:[2,13,19],rla1:[2,13,19],rlo0:[2,13,19],rlo1:[2,13,19],root:[2,4,12,13,18,31,32,42,43],round:12,rpath:[30,32],rpm:42,rrint:[2,5,6,10,11,43],rst:[],rthl:43,rudimentari:12,run:[2,5,6,7,8,10,13,15,18,19,22,30,31,42,43,44],run_loc:[15,43],runtim:10,rwgrib2:[30,31,32,36],sabin:2,sai:2,same:[2,6,11,12,22,30,31,33,43],sampl:[2,31,43],sardeshmukh:6,save:[9,11,19,21,31,43],sbatch:[4,10,13],scale:[2,11,17,19],scaveng:17,scenario:[14,17,43],schemat:17,scheme:[2,6,17,19,43],scienc:35,scientif:[23,34],scope:6,scp:32,scratch:[4,10,13,43],scriot:[],script:[0,5,6,13,14,15,16,17,18,19,20,21,23,30,31,32,36,38,41,42,43,44],scroll:42,sdor:19,search:2,search_str:2,second:[6,11],section:[5,12,18,22,31,36,37,39,40,42,43],see:[2,5,6,11,12,13,15,18,19,20,21,22,24,30,31,32,34,42,43,44],seem:43,seen:18,seibert:[2,6,17,35],select:[2,5,6,11,12,14,19,22,30,32,34,36,39,41,42],selectwher:2,send:[2,11,12,13,21,30,41,44],send_mail:2,sens:43,sensibl:[2,17,19],sent:[2,13,15,18,43],separ:[2,5,19,31,36,43],sepeart:[],seper:[2,6,11,12],septemb:[6,12,21],seqdiag:0,seqdiag_fontpath:0,sequenc:15,seri:[2,17],serv:[19,20,41,43],server:[2,4,5,6,7,9,10,11,12,13,14,15,18,20,22,23,30,31,32,36,42,43],servic:[30,39],session:[4,10],set:[0,2,4,5,6,8,9,10,11,12,13,17,18,19,20,21,22,23,30,31,32,33,34,36,39,42,43,44],set_kei:2,setup:[14,15,18,30,31,32,36,42,43],setup_controldata:2,setup_loc:31,sever:[9,12,13,19,42,43],sfc:[19,31],sgn:17,shade:17,share:[0,44],she:14,shell:[2,4,10,11,12,13,15,18,20,30,31,36,42,43],shift:17,shoot:23,shorten:43,shorter:2,shortli:43,shortnam:19,should:[0,2,6,9,12,13,17,21,30,31,32,36,39,42,43],shouldn:6,show:[11,12,15,17,43],shown:[7,9,17,31,43],side:42,sign:[4,5,13,42],signal:43,silent_remov:2,similar:[14,31],simpl:[6,17,31],simplest:17,simplifi:36,simul:2,sinc:[2,15,19,21,31,43,44],singl:[2,4,10,11,13,15,19,33,42,43],site:30,size:[34,43],sketch:[12,14],skip:[2,31],skt:19,slope:17,slurm:[13,23],small:[31,34,43],smaller:[2,6,11,19],smooth:[2,5,6,10,17,21,43],snippet:31,softwar:[2,6,12,13,14,20,21,23,30,31,32,41,42],solar:[2,17,19],sole:[6,19],solut:[2,44],solv:43,some:[0,2,4,5,6,10,11,12,13,14,15,18,19,20,22,31,32,39,42,43,44],someth:43,sometim:[6,43],soon:[6,43],sort:2,sourc:[0,2,4,9,10,11,12,13,18,20,31,33,34,36,41,42,43],south:[2,11],souther:[],southern:2,southernmost:2,space:[2,5,11,17,43],spar:2,spatial:[5,6,39],spdx:[11,12],speak:42,speci:17,special:[],specialis:43,specif:[2,4,5,6,9,10,11,13,14,17,19,20,21,36,39,41,42],specifc:[2,11],specifi:[2,6,11,12,17,30,31,32,43],specificnam:10,spectral:[2,6,20,21,43],speed:43,sphere:6,spheric:19,sphinx:36,sphinxcontrib:0,split:[15,17,19],sqrt:17,src:[],src_path:2,srvx8:10,ssh:[32,43],sshf:[17,19],ssr:[17,19],sss:6,stamp:19,standard:[2,9,17,21,30,31,32,42,43],start:[2,4,5,6,10,11,12,13,18,19,30,31,32,33,39,42,43],start_dat:[2,5,6,10,11,17,43],start_period:2,state:[2,12,14,22,23,24,30,31,39,42,43],statement:[2,30,32],statist:42,statu:[15,34,42],steer:2,step:[2,3,5,6,10,11,13,15,17,19,20,24,30,31,33,43],steprang:[2,11,19],still:[3,9,15,21,37,40,43],stl1:19,stop:[2,34,42,43],storag:[2,5],store:[2,6,10,11,12,15,19,21,22,23,31,42,43],str:[2,35],str_of_list:2,straightawai:43,straightforeward:43,stream:[2,5,6,10,19,31,36,43],stress:[2,17,19],stretch:31,string:[2,5,6,11,12],structur:[10,36,39,43],studi:[21,39],style:36,sub:[2,17,19],sub_str:2,subdirectori:43,subgrid:[2,11],subinterv:17,subject:[2,30,32,43],submiss:[2,4,10,12,20,43],submit:[4,5,10,12,13,14,15,18,19,30,32,43,44],submit_job_to_ecserv:2,submitscript:[10,11],submitscriptop:[],subprocess:2,subscrib:44,subscript:44,subsect:21,subsequ:6,subset:[6,11,43],substanti:43,substitut:[2,4,9,10,13,32,36,43],substr:2,subtract:[6,43],succeed:[30,31],success:[4,13,19,30,31,32],success_mod:2,successful:[18,42],successfulli:42,sudo:31,suffici:43,suggest:9,suit:[6,43],suitabl:31,sum:[2,6,18,43],supplement:19,support:[2,17,23,39,41,42,43],suppos:2,sure:31,surfac:[2,6,15,17,19,21,22,34],swvl1:19,symmetri:17,syntax:[2,6],synthes:[6,36],sysadmin:33,sysinstalldir:[12,31],sysloc:[12,31],system:[2,4,6,9,10,11,12,13,20,21,30,32,34,41,42,43],sytem:30,t1279:[21,43],t799:21,tab:42,tabl:[2,5,17,19,34,41,42,43],table128:2,take:[9,31,43],taken:[2,6,18,19,39,43],tar:[2,4,13,32,42],tarbal:[2,4,12,30,32],tarball_path:2,tarfil:32,target:[2,12,19,30,31,32],task:[2,18,20,43],tcc:19,team:41,technic:23,tell:[2,43],temp:[2,10,11],temperatur:[19,31],tempfile_job:2,templat:[2,4,5,7,10,11,12,18,30,32,36,43],tempor:[5,6,17,19,22,39,43],temporal_properti:19,temporari:[2,6,11,43],tendenc:21,tenth:6,term:[42,43],termin:[30,31],test:[0,2,5,6,12,13,19,22,33,36,41,43],textbf:17,textrm:17,than:[2,3,6,9,11,19,21,34,44],thei:[0,2,5,6,9,11,12,13,15,17,18,19,31,34,39,43],them:[0,2,6,11,12,15,17,18,19,20,31],therebi:[17,21],therefor:[0,2,6,17,18,19,31,34,39,42,43],thi:[0,2,4,5,6,7,8,9,10,11,12,13,14,17,18,19,21,22,30,31,32,33,34,37,39,40,41,42,43,44],thick:17,thing:[],think:[2,42],third:[14,20,23,41],those:[5,43],though:44,thousandth:6,three:[2,11,17],through:[2,5,12,22,24,30,42,43,44],throughout:17,thu:[9,17,43],ticket:[34,41],time:[2,3,4,5,10,11,13,15,17,19,21,23,31,33,34,39,43],timeseri:[2,17],timespan:[2,17],timestamp:2,tld:32,tmc:31,tmpdir:[10,13],to_list:2,to_param_id:2,to_param_id_with_tablenumb:2,todai:43,todo:[],togeth:[2,5,12,42,43],token:30,too:[6,11,17,31,34,43],tool:[4,10,14,15,43],toolkit:22,top:[11,12,18,34],topic:[],topmost:34,total:[2,19,43],touch:43,trace:17,train:23,transfer:[2,5,6,7,12,13,15,19,30,32,43],transferr:43,transform:2,transport:[20,41],trapezoid:12,treatment:39,tree:43,tri:[],triangular:[2,6],trigger:[2,21],troubl:23,troubleshoot:43,truetyp:0,truncat:[2,6],ttf:0,tupl:2,turbul:[17,19],twice:43,twiceadai:[],twicedaili:[8,43],two:[2,6,11,12,14,17,18,19,20,21,22,33,42,43],type:[0,2,3,4,5,6,10,11,13,18,19,30,31,32,42,43],typeoflevel:19,typic:[15,19,23,43],ubuntu:[30,31],udoc:2,uid:[12,32],un_tarbal:2,unavail:44,unchang:17,under:[0,2,11,12,13,14,17,19,26,27,28,29,30,31,37,38,40,41,43],undergo:[39,43],understand:[5,13,18],underw:[],undesir:17,unfortun:[17,22],uniqu:[2,19],unit:[0,17,21,36],univers:[2,35],univi:[10,35,44],unix:44,unless:[6,13],unload:[4,10,13],unrealist:17,unreason:36,untar:[2,4,12,32,42],until:[6,11,17,22,43],updat:[36,41],upfront:[2,6],upgrad:36,upon:22,upper:[2,5,6,10,21,43],upstream:[],upto:[],usa:[2,11,12,41],usag:[2,18,41,42],use:[0,2,6,9,17,18,20,21,22,30,31,32,33,34,36,42,43],used:[2,5,6,8,9,11,12,13,14,17,18,19,32,34,36,39,42,43,44],useful:[6,11,19,39,43],user:[2,4,5,10,11,12,13,14,18,20,22,23,24,30,31,32,33,36,39,42,43,44],user_group:[7,13],user_nam:[7,13],usergroup:13,usernam:[12,13,30,31,32],uses:[0,4,10,17,30,32,34,43],using:[2,4,6,11,12,17,18,19,30,31,32,42,43],usr:[0,4,9,10,13,30,31,32],usual:[5,6,11,15,19,31,43],utc:[6,11,19,43],util:[2,15],uza:35,v10:19,v20_update_protocol:21,v30_update_protocol:21,v40_update_protocol:21,v60_update_protocol:21,v703:[],v704:[],v711:[],v71:[],valid:[2,6,12,19,32,34,43],valu:[2,3,5,6,8,9,10,11,12,13,17,18,21,30,32,34,43],valuer:2,vanish:17,vari:[5,6,9,39,43],variabel:[],variabl:[2,4,6,10,11,13,17,20,31,33,36,39,43],varianc:[],variat:[6,19],variou:36,vast:39,veloc:[15,19,20,43],veri:[2,6,11,17,21,31,43],version:[2,3,4,6,9,10,13,15,18,21,33,36,42,43,44],version_numb:13,vertic:[5,11,15,19,20,36,38,39,43],via:[2,11,14,15,22,23,30,31,32,36,43],vienna:[2,35],view:[2,11,12,41,44],virtual:42,visit:[2,11,12,30,41],vol:6,wai:[2,5,13,15,17,22,30,31,39,42,43],wait:22,want:[6,9,17,20,33,43],warn:[12,31],water:[2,6,19,43],wave:21,weather:[6,20,39,41],web:[2,6,11,14,22,23,24,33,36,42,43],webapi:[2,6],webserv:[],websit:[2,30,31,42,43,44],wedg:17,well:[2,6,15,21,34,39,42,43],were:[2,6,11,12,19,34,43],west:[2,11],western:2,westernmost:2,wet:17,wether:2,what:[3,5,23,31,41,43],whatev:43,when:[2,4,6,10,17],whenev:21,where:[2,6,9,11,12,13,17,19,21,31,42,43],wherea:[6,15,43],wherebi:[],wherekei:2,wherekeynam:2,wherekeyvalu:2,whether:[2,4,10,12,33,42],which:[0,2,3,4,5,6,7,9,10,11,12,14,15,17,18,19,20,21,22,30,31,36,39,42,43,44],whith:10,who:20,whole:[2,17,43,44],whose:[19,42],why:17,width:[],wien:35,wiki:[2,6,32,44],wil:2,wildcard:43,wind:[5,19,38,39,43],window:[30,31,43],wish:42,within:[2,4,6,10,11,17,30,32,43],without:[2,13,22,33,42,43],word:2,work:[0,2,7,10,11,12,13,14,15,20,22,31,36,41,42,43],workaround:33,workdir:[4,10,13],workload:13,workspac:[10,19,43],workstep:[],would:[6,11,22,30,33,34,43],wrap:20,wrapper:[11,12,18],wrf:[2,5,10],write:[2,6,36,43,44],write_namelist:2,write_reqhead:2,written:[2,6,21,37,40],wrong:34,www:[42,44],x86_64:9,xvf:[4,13,32,42],xxx:19,xxxx:6,xxxxx:43,xxyymmddhh:2,year:[19,31],yet:43,yield:[2,21],you:[0,3,5,6,9,13,21,24,30,31,32,34,42,43,44],your:[9,24,30,31,32,42,43,44],yourself:24,yymmdd:[6,19],yymmddhh:[6,19,21],yyyymmdd:[2,6,11],yyyymmddhh:[17,19],zamg:[36,44],zero:[17,21,34],zonal:21},titles:["Updating the documentation","Auto-generated documentation for the Fortran programme","Auto-generated documentation for the Python scripts","CONTROL file changes","The compilation job script <code class=\"docutils literal notranslate\"><span class=\"pre\">compilejob.ksh</span></code>","The CONTROL file","The CONTROL parameters","ECMWF user credential file <code class=\"docutils literal notranslate\"><span class=\"pre\">ECMWF_ENV</span></code>","CONTROL file examples","The Fortran makefile for <code class=\"docutils literal notranslate\"><span class=\"pre\">calc_etadot</span></code>","The job script <code class=\"docutils literal notranslate\"><span class=\"pre\">job.ksh</span></code>","The executable script - <code class=\"docutils literal notranslate\"><span class=\"pre\">run.sh</span></code>","The installation script - <code class=\"docutils literal notranslate\"><span class=\"pre\">setup.sh</span></code>","Templates","Application modes","Program flow","Auto-generated documentation","Disaggregation of flux data","Control &amp; input data","Output data","Overview","Vertical wind","Access modes","Link collection","Hints for data set selection","Available data sets for member-state users","Available data sets for public users","Metrics","Static code analysis","Test cases","Gateway mode installation","Local mode installation","Remote mode installation","FAQ - Frequently asked questions","Known Bugs and Issues","Developer Team","Changelog","Developer Guide","Code-Level Documentation","ECMWF Data","Evaluation","Welcome to the <code class=\"docutils literal notranslate\"><span class=\"pre\">flex_extract</span></code> Documentation!","Installation","Usage","Support","ToDos"],titleterms:{"case":29,"class":2,"long":19,"new":[19,36],"public":[26,42,43],"static":28,CDS:[31,34],The:[4,5,6,9,10,11,12],accept:42,access:22,addit:[0,6,19],adjust:43,agreement:[],analysi:28,api:[31,34],applic:[14,15],ask:33,auto:[1,2,16],avail:[24,25,26],block:0,bug:[34,36,44],calc_etadot:[9,19,34],calc_etadot_nml:13,calcul:21,can:[24,33],cera:43,certain:43,chang:[3,36],changelog:36,check:2,code:[28,34,38],collect:23,combin:[42,43],comparison:29,compil:4,compilejob:4,content:[7,11,12,19],continu:21,control:[3,5,6,8,18,43],controlfil:2,convert:[],coordin:[],credenti:7,data:[6,17,18,19,24,25,26,34,39,43],dataset:[42,43],definit:43,depend:[30,31,32,42],destin:34,develop:[35,37],diagramm:0,differ:15,disaggreg:[2,17,19],distribut:33,document:[0,1,2,16,38,41],doe:[4,10],domain:6,download:42,eccod:34,ecflexpart:2,ecmwf:[7,31,39,42],ecmwf_env:[7,13],ensembl:19,environ:[30,31,32],equat:21,era5:34,era:43,error:34,evalu:40,exampl:[4,5,8,10,15],execut:11,faq:[33,44],featur:[36,43],field:[6,17,19],file:[3,5,6,7,8,19,21,29,43],find:24,finder:[],fix:36,flex_extract:[41,42],flexpart:[19,42],flow:15,flux:[6,17,19],forecast:19,format:5,fort:19,fortran:[1,9,19,34,42],frequent:33,from:[21,33],full:42,gatewai:[30,34,43],gener:[1,2,6,15,16],get_mars_data:2,grib:[19,29],gributil:2,guid:37,hint:[24,43],horizont:21,how:24,index:19,input:[18,19],instal:[2,12,30,31,32,33,34,42],installscript:13,interim:43,issu:[34,44],job:[4,10,43],jobscript:13,known:[34,44],ksh:[4,10],level:[25,38],librari:33,licenc:42,line:0,link:23,list:44,local:[15,31,43],mail:44,makefil:9,mar:[19,21,29],marsretriev:2,member:[15,25],metric:27,mode:[14,15,22,30,31,32,43],model:25,modul:2,older:17,onlin:[],oper:43,option:[11,12],other:17,out:24,output:[19,21],overview:20,packag:33,paramet:[6,11,12,21,34,43],parti:33,pre:21,precipit:[17,19],predict:19,prepar:[21,30,31,32,43],prepare_flexpart:2,problem:34,program:[2,15,19,34,42],programm:1,proper:43,pure:[],python:2,question:33,quick:[],registr:42,releas:[34,36],remot:[32,43],report:44,request:[19,29],rest:[],retriev:[],run:11,script:[2,4,10,11,12],section:6,select:[24,43],sequenc:0,set:[15,24,25,26],setup:12,softwar:0,some:[],specif:43,specifi:[],sphinx:0,standard:19,start:[],state:25,submiss:11,submit:[2,11],submitscript:13,support:44,surfac:25,system:[31,44],team:35,temp:[],templat:13,temporari:19,test:[29,30,31,42],testcas:[],third:33,ticket:44,time:6,todo:45,tool:2,uiofil:2,updat:0,usag:[11,12,43],user:[6,7,15,25,26],using:21,veloc:21,version:17,vertic:[6,21],web:31,welcom:41,what:[4,10,24,33],wind:[6,21],workflow:15}})
     1Search.setIndex({docnames:["Developers/gen_docu","Documentation/Api/api_fortran","Documentation/Api/api_python","Documentation/Input/changes","Documentation/Input/compilejob","Documentation/Input/control","Documentation/Input/control_params","Documentation/Input/ecmwf_env","Documentation/Input/examples","Documentation/Input/fortran_makefile","Documentation/Input/jobscript","Documentation/Input/run","Documentation/Input/setup","Documentation/Input/templates","Documentation/Overview/app_modes","Documentation/Overview/prog_flow","Documentation/api","Documentation/disagg","Documentation/input","Documentation/output","Documentation/overview","Documentation/vertco","Ecmwf/access","Ecmwf/ec-links","Ecmwf/hintsecmwf","Ecmwf/msdata","Ecmwf/pubdata","Evaluation/metrics","Evaluation/staticcode","Evaluation/testcases","Installation/gateway","Installation/local","Installation/remote","Support/faq","Support/known_bugs_issues","authors","changelog","dev_guide","documentation","ecmwf_data","evaluation","index","installation","quick_start","support","todo"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.index":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["Developers/gen_docu.rst","Documentation/Api/api_fortran.rst","Documentation/Api/api_python.rst","Documentation/Input/changes.rst","Documentation/Input/compilejob.rst","Documentation/Input/control.rst","Documentation/Input/control_params.rst","Documentation/Input/ecmwf_env.rst","Documentation/Input/examples.rst","Documentation/Input/fortran_makefile.rst","Documentation/Input/jobscript.rst","Documentation/Input/run.rst","Documentation/Input/setup.rst","Documentation/Input/templates.rst","Documentation/Overview/app_modes.rst","Documentation/Overview/prog_flow.rst","Documentation/api.rst","Documentation/disagg.rst","Documentation/input.rst","Documentation/output.rst","Documentation/overview.rst","Documentation/vertco.rst","Ecmwf/access.rst","Ecmwf/ec-links.rst","Ecmwf/hintsecmwf.rst","Ecmwf/msdata.rst","Ecmwf/pubdata.rst","Evaluation/metrics.rst","Evaluation/staticcode.rst","Evaluation/testcases.rst","Installation/gateway.rst","Installation/local.rst","Installation/remote.rst","Support/faq.rst","Support/known_bugs_issues.rst","authors.rst","changelog.rst","dev_guide.rst","documentation.rst","ecmwf_data.rst","evaluation.rst","index.rst","installation.rst","quick_start.rst","support.rst","todo.rst"],objects:{"":{ControlFile:[2,0,0,"-"],EcFlexpart:[2,0,0,"-"],GribUtil:[2,0,0,"-"],MarsRetrieval:[2,0,0,"-"],UioFiles:[2,0,0,"-"],checks:[2,0,0,"-"],disaggregation:[2,0,0,"-"],get_mars_data:[2,0,0,"-"],install:[2,0,0,"-"],prepare_flexpart:[2,0,0,"-"],submit:[2,0,0,"-"],tools:[2,0,0,"-"]},"ControlFile.ControlFile":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],assign_args_to_control:[2,3,1,""],assign_envs_to_control:[2,3,1,""],basetime:[2,2,1,""],cds_api:[2,2,1,""],check_conditions:[2,3,1,""],controlfile:[2,2,1,""],cwc:[2,2,1,""],dataset:[2,2,1,""],date_chunk:[2,2,1,""],debug:[2,2,1,""],destination:[2,2,1,""],doubleelda:[2,2,1,""],dpdeta:[2,2,1,""],dtime:[2,2,1,""],ec_api:[2,2,1,""],ecfsdir:[2,2,1,""],ecgid:[2,2,1,""],ecstorage:[2,2,1,""],ectrans:[2,2,1,""],ecuid:[2,2,1,""],end_date:[2,2,1,""],eta:[2,2,1,""],etadiff:[2,2,1,""],etapar:[2,2,1,""],exedir:[2,2,1,""],expver:[2,2,1,""],flexextractdir:[2,2,1,""],format:[2,2,1,""],gateway:[2,2,1,""],gauss:[2,2,1,""],gaussian:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],install_target:[2,2,1,""],installdir:[2,2,1,""],left:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],logicals:[2,2,1,""],lower:[2,2,1,""],mailfail:[2,2,1,""],mailops:[2,2,1,""],makefile:[2,2,1,""],marsclass:[2,2,1,""],maxstep:[2,2,1,""],number:[2,2,1,""],omega:[2,2,1,""],omegadiff:[2,2,1,""],oper:[2,2,1,""],outputdir:[2,2,1,""],prefix:[2,2,1,""],purefc:[2,2,1,""],request:[2,2,1,""],resol:[2,2,1,""],right:[2,2,1,""],rrint:[2,2,1,""],smooth:[2,2,1,""],start_date:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],time:[2,2,1,""],to_list:[2,3,1,""],type:[2,2,1,""],upper:[2,2,1,""],wrf:[2,2,1,""]},"EcFlexpart.EcFlexpart":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],basetime:[2,2,1,""],calc_extra_elda:[2,3,1,""],create:[2,3,1,""],dataset:[2,2,1,""],dates:[2,2,1,""],deacc_fluxes:[2,3,1,""],dtime:[2,2,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],glevelist:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],marsclass:[2,2,1,""],mreq_count:[2,2,1,""],number:[2,2,1,""],outputfilelist:[2,2,1,""],params:[2,2,1,""],process_output:[2,3,1,""],purefc:[2,2,1,""],resol:[2,2,1,""],retrieve:[2,3,1,""],server:[2,2,1,""],stream:[2,2,1,""],types:[2,2,1,""],write_namelist:[2,3,1,""]},"GribUtil.GribUtil":{copy_dummy_msg:[2,3,1,""],get_keys:[2,3,1,""],index:[2,3,1,""],set_keys:[2,3,1,""]},"MarsRetrieval.MarsRetrieval":{"public":[2,2,1,""],accuracy:[2,2,1,""],area:[2,2,1,""],data_retrieve:[2,3,1,""],dataset:[2,2,1,""],date:[2,2,1,""],display_info:[2,3,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],grid:[2,2,1,""],levelist:[2,2,1,""],levtype:[2,2,1,""],marsclass:[2,2,1,""],number:[2,2,1,""],param:[2,2,1,""],print_infodata_csv:[2,3,1,""],repres:[2,2,1,""],resol:[2,2,1,""],server:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],target:[2,2,1,""],time:[2,2,1,""],type:[2,2,1,""]},"UioFiles.UioFiles":{delete_files:[2,3,1,""],files:[2,2,1,""],path:[2,2,1,""],pattern:[2,2,1,""]},ControlFile:{ControlFile:[2,1,1,""]},EcFlexpart:{EcFlexpart:[2,1,1,""]},GribUtil:{GribUtil:[2,1,1,""]},MarsRetrieval:{MarsRetrieval:[2,1,1,""]},UioFiles:{UioFiles:[2,1,1,""]},checks:{check_accmaxstep:[2,4,1,""],check_acctime:[2,4,1,""],check_acctype:[2,4,1,""],check_addpar:[2,4,1,""],check_area:[2,4,1,""],check_basetime:[2,4,1,""],check_dates:[2,4,1,""],check_grid:[2,4,1,""],check_job_chunk:[2,4,1,""],check_len_type_time_step:[2,4,1,""],check_levels:[2,4,1,""],check_logicals_type:[2,4,1,""],check_mail:[2,4,1,""],check_maxstep:[2,4,1,""],check_number:[2,4,1,""],check_pathes:[2,4,1,""],check_ppid:[2,4,1,""],check_public:[2,4,1,""],check_purefc:[2,4,1,""],check_queue:[2,4,1,""],check_request:[2,4,1,""],check_step:[2,4,1,""],check_time:[2,4,1,""],check_type:[2,4,1,""]},disaggregation:{IA3:[2,4,1,""],dapoly:[2,4,1,""],darain:[2,4,1,""]},get_mars_data:{check_dates_for_nonflux_fc_times:[2,4,1,""],do_retrievement:[2,4,1,""],get_mars_data:[2,4,1,""],main:[2,4,1,""],mk_dates:[2,4,1,""],mk_server:[2,4,1,""],remove_old:[2,4,1,""],write_reqheader:[2,4,1,""]},install:{check_install_conditions:[2,4,1,""],del_fortran_build:[2,4,1,""],get_install_cmdline_args:[2,4,1,""],install_local:[2,4,1,""],install_via_gateway:[2,4,1,""],main:[2,4,1,""],mk_compilejob:[2,4,1,""],mk_env_vars:[2,4,1,""],mk_fortran_build:[2,4,1,""],mk_job_template:[2,4,1,""],mk_tarball:[2,4,1,""],un_tarball:[2,4,1,""]},prepare_flexpart:{main:[2,4,1,""],prepare_flexpart:[2,4,1,""]},submit:{main:[2,4,1,""],mk_jobscript:[2,4,1,""],submit:[2,4,1,""]},tools:{clean_up:[2,4,1,""],execute_subprocess:[2,4,1,""],generate_retrieval_period_boundary:[2,4,1,""],get_cmdline_args:[2,4,1,""],get_dimensions:[2,4,1,""],get_informations:[2,4,1,""],get_list_as_string:[2,4,1,""],init128:[2,4,1,""],make_dir:[2,4,1,""],my_error:[2,4,1,""],none_or_int:[2,4,1,""],none_or_str:[2,4,1,""],normal_exit:[2,4,1,""],product:[2,4,1,""],put_file_to_ecserver:[2,4,1,""],read_ecenv:[2,4,1,""],send_mail:[2,4,1,""],setup_controldata:[2,4,1,""],silent_remove:[2,4,1,""],submit_job_to_ecserver:[2,4,1,""],to_param_id:[2,4,1,""],to_param_id_with_tablenumber:[2,4,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function"},terms:{"00h":[6,11],"10u":19,"10v":19,"12h":[6,11],"150px":[],"180w":6,"18utc":2,"1hourli":[8,43],"1st":[],"20c":[5,6,19,21,22,23,34,36,42,43],"20gb":43,"24h":6,"25th":[],"31st":[],"32000mb":[10,13],"3200mb":[4,13],"36hour":[8,43],"3hourli":[8,43],"4th":[],"60px":[],"6th":43,"althanstra\u00df":35,"boolean":2,"break":[],"case":[0,2,4,6,10,13,14,17,19,21,22,32,33,42,43,44],"class":[0,5,6,31],"default":[2,3,5,6,8,9,10,11,12,18,19,31,43],"export":[4,10,13],"f\u00fcr":13,"final":[0,2,11,15,17,19,21,43],"float":[2,11],"function":[2,17,41],"import":[2,6,11,30,31,33,34,36,39,43,44],"int":[2,6,30,32,43],"long":43,"m\u00e4r":[],"new":[2,6,10,11,17,31,41,43,44],"public":[2,5,6,8,10,11,12,14,22,23,24,31,36,39,41],"return":[2,4,10,34],"short":[2,5,6,17,30,43],"switch":[2,4,6,10,13,19],"true":[0,2],"try":[31,42,43],"while":[22,43],ARE:5,But:[],C3S:23,CDS:[2,22,23,33,36,42],Dps:[2,6],ENS:[23,43],FOR:[11,12],For:[0,2,5,6,9,11,13,14,18,19,21,22,24,30,31,32,34,39,42,43],HAS:[11,12,30,31,32,43],Has:[6,11],IDs:[2,6,15,43],Its:[2,43],NOT:[11,12,31],Not:12,One:[33,43],PBS:[4,10,13],THE:[11,12,30,31,32,43],THESE:[11,12,30,31,32,43],The:[0,2,13,14,15,17,18,19,20,21,22,30,31,32,34,39,42,43,44],Then:[2,11,14,42],There:[2,5,18,19,22,39,42,43],These:[4,10,13,17,42,43],Use:[0,6,30,32,43],Used:[2,12],Useful:[],Uses:2,Using:[31,43],WITH:[11,12],With:[6,11,12,18,43],_acc:19,_config:2,_expand:2,_file:0,_local:44,_orolsm:19,_static:[],_templat:2,a_0:17,a_1:17,a_2:17,a_3:17,abcd:2,abl:[2,13,18,19,22,30,43],about:[2,5,11,14,19,33,39,42,43],abov:[2,17,43],absolut:[],accept:[6,14,21,22,41,43],access:[2,5,6,12,14,23,24,30,31,32,33,39,41,42,43],accmaxstep:[2,5,6,10,43],accomplish:15,accord:[6,12,43],account:[30,32,39,42,43],acctim:[2,5,6,10,43],acctyp:[2,5,6,10,43],accumlu:2,accumul:[2,6,17,19,43],accur:43,accuraci:[2,5,6,10,19,21],achiev:21,action:[23,31,32],activ:42,activid:32,actual:[2,6,12,13,18,19,42,43],adapt:[0,2,5,6,9,11,12,13,18,30,31,32,33,36,43],add:[2,43],added:[17,19],adding:[2,43],addit:[2,5,11,15,17,20,30,39,43],addition:[2,6,14,30,43],addpar:[2,5,6,10,43],address:[2,6,12,19,30,32,43],adjac:17,adjust:41,admin:[30,31,33],adress:12,advanc:2,aerosol:35,affect:17,after:[2,5,6,11,12,15,17,18,43],afterward:[2,13,17,30,31,32],again:[11,12],against:[],aggreg:19,agre:22,agreement:14,algorithm:[2,17,36],align:[],alist:2,all:[2,5,6,8,11,12,13,15,17,19,30,31,32,33,42,43],alll:39,allow:[2,6,11,22,43],alpabet:2,alreadi:[2,11,12,22,30,31,32,42,43],also:[0,2,5,6,10,11,12,17,18,19,21,22,32,39,42,43,44],alter:19,altern:42,alwai:[6,11,12,43],amount:[2,6,11,17,39],anaconda:[31,42],analys:[21,39,43],analysi:[2,5,6,11,19,22,39,43],ani:[2,5,6,11,12,14,17,21,32,33,42,43,44],ann:[2,5,11,12,19,35],annep:[],annouc:44,announc:43,anog__ml:19,anog__sl:19,anoth:[2,6,9,33,43],ansh__sl:19,anymor:3,anyon:44,anyth:[6,11,12,13],api:[1,2,6,11,14,22,23,33,36,42,43],app:[30,32],appear:21,append:2,appli:[2,11,17,21,36,42,43],applic:[2,4,6,7,10,11,12,13,20,21,36,42,43,44],approach:17,appropri:[6,43,44],approri:6,april:43,apt:[30,31],arbitrari:2,archiv:[2,5,11,18,20,22,30,41,42],area:[2,5,6,10,11,12,17,19,31,43],arg:2,argument:[2,11,12,18,22,30,31,32,42,43,44],aris:14,around:[17,20],arrai:[2,34],arrang:2,array_t1:2,array_t2:2,array_t3:2,array_t4:2,articl:[2,6],ascrib:17,ask:[19,32,41,42,44],aspect:42,assign:[2,9],assign_args_to_control:2,assign_envs_to_control:2,assimil:43,assoc_nam:30,associ:[2,12,30,43],assum:[21,43],atm:[],atmospher:[17,20,23,34,41,43],attempt:2,attent:[6,43],attribut:[2,11,12,41],aug:31,august:43,austria:35,author:[2,5,11,12,32],auto:38,automat:[6,11,14,17,22,30,32,36,43,44],autoprogram:[],avail:[2,3,5,6,11,12,17,19,21,22,23,30,31,32,33,34,39,42,43,44],averag:17,avoid:[19,21,36,43],awar:[34,43],awk:[4,13],back:[6,11,42],bahaviour:[],ball:[2,42],base:[2,7,10,11,17,36,39,42],basetim:[2,5,6,10,11,17,36,43],bash:[11,12,43],basic:[2,17],batch:[4,10,11,12,13,18,20,30,43],bdynam:31,beaver:[30,31],becaus:[12,21,43],beck:2,been:[5,15,30,31,32,42,43],befor:[0,2,6,10,17,19,32,34,39,42,43],begin:[2,13,17],beginn:[18,43],behaviour:[5,18],being:[12,19],belong:[42,43],below:[7,9,17,19,21,31,34,43,44],best:[6,17,39,43],better:[6,43],between:[2,4,6,7,10,17,19,21,30,43],beyond:43,bicub:[],big:[30,31,32],bilinear:17,bin:[4,10,11,12,13],bionic:[30,31],bit:[2,6],blank:[2,11],block:[19,43],blockdiag:0,blockdiag_fontpath:0,blog:33,blue:[12,17],boku:35,border:17,both:[2,21,31,39,43],bottom:44,boundari:[2,11,17],box:[2,11,12,41],bracket:43,branch:42,broader:39,bstatic:31,bug:41,build:[2,23],built:32,bunch:2,buster:[9,30,31],button:42,bypass:[],calc_etadot:[4,12,13,15,18,21,30,31,32,36,38,42,43],calc_etadot_fast:[30,31,32],calc_extra_elda:2,calcul:[2,5,6,15,17,20,43],calendar:43,calibr:[6,43],call:[2,4,9,10,11,12,13,15,18,19,22,30,31,42,43],can:[2,3,5,6,9,11,12,13,14,15,18,19,21,22,30,31,32,34,39,40,41,42,43,44],cancel:22,cannot:[21,43],care:[6,11,43],carefulli:39,carri:[2,6],cat:[10,13],catalogu:[6,43],catego:[],categori:44,caution:43,cautiou:[],cautious:43,caveat:43,cca:[2,4,9,10,11,12,13,14,30,32,43],ccb:[4,9,10,11,12,13,14,30,32,43],cdot:17,cds_api:[2,10],cdsapi:31,cdsapirc:31,ce00010800:19,ce000908:43,cell:17,centr:[19,20,39,41],central:[2,17],cera20c:[6,31],cera:[5,6,19,21,22,23,34,36,41,42],cera_exampl:43,cera_testgrid_local_cd:19,cerapubl:43,certain:[2,18,41,42],certif:30,chang:[6,11,12,13,15,17,18,23,32,39,41,42,43],change_icon:[],changelog:41,charact:2,character:2,characteris:2,characterist:43,check:[4,6,9,10,11,12,15,18,30,31,33,36,42,43],check_accmaxstep:2,check_acctim:2,check_acctyp:2,check_addpar:2,check_area:2,check_basetim:2,check_condit:2,check_dat:2,check_dates_for_nonflux_fc_tim:2,check_grid:2,check_install_condit:2,check_job_chunk:2,check_len_type_time_step:2,check_level:2,check_logicals_typ:2,check_mail:2,check_maxstep:2,check_numb:2,check_path:2,check_ppid:2,check_publ:2,check_purefc:2,check_queu:2,check_request:2,check_step:2,check_tim:2,check_typ:2,checkerboard:17,choic:[9,21,43],choos:21,chosen:[2,21],chunk:[2,11],circl:17,classif:[2,6],clean:2,clean_up:2,clear:[39,43],click:[24,42],client:[2,31],climat:[22,23,42],clist:2,clone:42,close:43,closest:34,cloud:[2,6,19,43],cmd_list:2,cmp:[],coarser:[3,6],code:[0,2,6,12,13,19,31,32,36,41,42,43],collect:[2,39,41,43,44],collis:19,colour:17,column:2,combin:[2,11,41],come:8,comma:[2,6,43],command:[2,4,5,9,10,11,12,15,18,22,30,31,32,34,42,43,44],commandlin:[2,11,12,30,31,32,43],comment:[3,5,13],common:[2,11,12,41,43],commonli:2,commun:[39,42,43,44],compar:[17,43],compat:[3,6,18,21],compil:[2,9,12,13,18,30,31,32,33,42],compilejob:[13,18,43],complet:[2,14,17,23,31,36],complex:39,compon:[0,2,17,19,39,42],compos:19,composit:[5,19,43],comprehens:5,comput:[13,17,21,22,23,30,42,43],concaten:2,concatenate_sign:2,concern:2,conda:31,condit:[2,6,11,17],conduct:12,configur:[2,42],confluenc:2,confus:39,congratul:42,connect:[2,22,30,32,43],conrtol:[],conserv:[2,6,17],consider:17,consist:[2,3,11,17,18,19,20,21,43],consol:[30,31],constel:8,constitut:11,construct:[0,27,28,29,37,38,40],consult:43,consum:31,contact:23,contain:[0,2,5,7,8,11,12,13,15,17,19,21,33,34,42,43,44],content:[2,6,13,23,30,32,39,41,43],context:2,continu:[2,6,17,43],control:[2,10,11,12,13,15,19,21,22,34,38,39,41,42,44],control_:[5,43],control_cera:[8,10,43],control_cont:13,control_ea5:[8,11,12,30,31,32,43],control_ei:[8,43],control_od:[8,43],controlfil:[10,11,12,13,30,31,32,43],controlparamet:5,convect:[2,11,17,19],conveni:43,convent:[2,5,19],convers:2,convert2:36,convert:[2,15,17,20,36,43],coordin:[19,21,43],copernicu:42,copi:[2,11,12,41,43],copy_dummy_msg:2,copyright:[2,11,12],corner:6,correct:[2,6,36,43],correctli:[2,6],correspon:18,correspond:[2,6,9,11,13,17,19,34,39,43],correspondingli:43,cost:21,could:[17,43],count:[6,11,34],counter:2,coupl:2,cours:34,cover:43,crai:[4,10,13],creat:[0,2,4,6,7,10,11,12,13,15,18,19,20,21,30,32,43,44],creation:2,creativ:[2,11,12,41],creativecommon:[2,11,12,41],credenti:[12,13,15,18,31,42,43,44],cross:6,csv:[2,6,11,15,19,43],cubic:2,current:[0,2,6,9,12,14,17,21,31,40,42,43],cvh:19,cvl:19,cwc:[2,5,6,10,43],cycl:43,cyclic:[6,21],d64:[30,32],dai:[2,6,11,17,19,23,30,31,43],daili:[6,43],damp:17,dapoli:2,darain:2,dark:17,dat:11,data:[2,5,8,11,12,15,20,21,22,23,31,36,38,41,42],data_retriev:2,databas:23,dataset:[2,5,6,10,11,14,19,21,22,23,31,41],datatyp:19,date:[2,5,6,11,12,17,19,31,34,43],date_chunk:[2,5,6,10,11,43],date_time_steprang:19,datechunk:2,datelin:6,datetim:2,deacc_flux:2,deaccumul:[2,43],deactiv:36,debian:[9,30,31,42],debug:[2,5,6,9,10,11,19,21,36,43],decid:[2,5,18,43],decim:43,decis:2,declar:43,declin:[],decompos:2,dedic:22,defin:[2,5,6,10,11,12,19,21,24,34,39,42,43],definit:[2,5,18,41],degre:[6,21,43],degress:3,dejavu:0,dejavuserif:0,del_convert_build:[],del_fortran_build:2,delai:44,delet:[2,6,19,32,43],delete_fil:2,delta:17,delta_t:2,demand:[17,21,31,43],demonstr:19,denot:[2,17],depart:35,depend:[2,6,11,12,13,14,15,17,19,20,21,34,41,43],deposit:17,deprec:2,depthbelowlandlay:19,deriv:[2,30,31],describ:[12,14,18,20,22,32,42,43],descript:[2,5,6,11,12,13,19,21,34,39,43,44],design:[],desir:[2,6,17,21,43],destin:[2,5,6,7,10,12,13,15,30,31,32,36,43],destination_nam:[7,13],deta:21,detail:[2,5,13,19,20,21,31,42,43],detect:[6,44],determin:[2,11,12,17,43],dev:[9,17,31,42],develop:[0,2,6,9,17,40,41,44],deviat:5,diagnost:[2,6],diagram:[0,12,15],diamond:17,dict:2,dictionari:2,differ:[2,6,8,14,21,22,34,39,43],differenti:[4,10,43],difficulti:15,digit:19,dimens:[2,17],dimension:[2,17,43],direct:[2,13,14,21,22,43],directli:[2,4,10,11,12,13,14,21,22,42,43],directoi:42,directori:[0,2,4,5,6,7,8,9,10,11,12,13,14,18,31,32,33,36,42,43],dis:19,disabl:[6,21],disaggegr:2,disaggreg:[5,6,15,36,38,43],discard:6,discret:17,discretis:[],discuss:[40,43],disk:[31,43],dispers:[2,6,17],displai:[2,6,32],display_info:2,disregard:2,distinct:2,distinguish:[6,11],distribut:[30,31,41,42,43],disturb:43,div:[],diverg:[19,43],divers:2,divid:[2,11,17,19,22],do_retriev:2,document:[5,8,11,19,21,23,30,32,36,43],doe:[2,3,11,12,14,33],doesn:[6,11,12],doi:[6,17],doing:[2,43],domain:[5,43],don:[9,31,33,42],done:[2,4,6,10,11,12,13,14,17,22,31,42,43],dot:0,doubl:[2,4,6,8,11,13,43],doubleelda:[2,5,6,10,43],down:42,download:[23,32,36,41],download_cdsapi:31,download_cera20c_ecmwfapi:31,download_era5_cdsapi:31,download_erainterim_ecmwfapi:31,downward:[3,6,18,34],dpdeta:[2,5,6,10,43],dpkg:[9,42],drive:[2,20,43],dry:17,dtime:[2,3,5,6,10,43],due:[6,11,12,17,43],durat:43,dure:[2,4,9,12,13,15,18,31,42,43],each:[2,5,6,10,11,13,14,17,19,39,42,43],earlier:[11,43],easi:[17,18,20,43],easier:[18,22],easiest:[30,31],easili:[2,11],east:[2,11,19],eastern:2,easternmost:2,eastward:17,ec_api:[2,10],ec_memory_per_task:[4,10,13],ec_threads_per_task:[4,10,13],ecac:32,ecaccess:[2,4,10,12,13,14,15,22,23,30,32,43],ecaccess_do_not_remov:[4,10,13,43],ecc:2,eccod:[4,9,10,13,23,30,31,32,33,36],eccodes_include_dir:9,eccodes_lib:9,ecd:2,ecf:[2,6,32],ecfsdir:[2,5,6,10],ecg:[4,10,13],ecgat:[2,4,6,9,10,11,12,13,14,21,30,32,43],ecgb11:[32,43],ecgb:[4,10,11,12,13],ecgid:[2,5,6,7,10,12,13,30,31,32,43],echo:[4,12,13],echom:32,ecmf:19,ecmwf:[2,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,23,30,32,33,34,36,41,43],ecmwf_env:[2,11,12,18,43],ecmwfapi:[31,33],ecmwfapirc:31,ecmwfdataserv:[2,31],ecmwfservic:[2,31],ecnam:[],econdemand:[2,5,6,10],ecscratch:32,ecstorag:[2,5,6,10],ectmp:[2,5,6,10],ectran:[2,5,6,10,15,30,32,43],ecuid:[2,5,6,7,10,12,13,30,31,32,43],ecwmf:[22,42],edg:12,edit:19,editor:[9,30,31,32],effect:[13,21],effici:[13,17,19,43],egat:[],either:[2,6,11,14,15,43],elda:[2,6,8,36,43],element:[2,3],els:[4,10,12,13],email:[2,4,6,10,13,30,32,43,44],emo:[4,10,13],emoslib:[21,23,31,32,33],empti:[2,11,12],enabl:[22,30,43],encount:42,end:[2,4,6,10,11,13,17,19,43],end_dat:[2,5,6,10,11,17,43],end_period:2,enda:[10,19,31,43],endian:[30,31,32],endif:17,endo:6,enfo:[6,8,36,43],english:36,enough:[6,22,43],ens:[8,43],ensembl:[2,6,23,36,43],ensemble_memb:19,ensur:21,enter:30,entri:[11,43],env:[2,4,13],environ:[2,4,6,10,11,12,13,14,20,33,42,43,44],environment:[2,35],eof:[10,13],equal:[2,6,11,21,43],equat:[2,6,17,43],equidistantli:17,equival:[30,31],era5:[2,5,6,21,22,23,31,42,43],era:[5,6,11,19,21,22,23,34,36,41,42],eror:2,error:[2,4,10,12,13,21,30,31,43],error_msg:2,esac:[4,10,13],escap:13,especi:[21,42,43],establish:[14,30],eta:[2,5,6,8,10,19,21,38,43],etadiff:[2,5,6,10,21,43],etadot:[2,6,19,43],etapar:[2,5,6,10],etayymmddhh:[6,21],etc:[31,39,44],europ:43,european:[20,39,41],evalu:41,even:[17,21,31,32,43],event:[17,44],eventu:[],everi:[22,30,34,39,43],everyon:6,everyth:[0,2,9,14,31,43],everytim:[],ewss:[17,19],exact:[2,17,43],exampl:[2,3,6,7,11,17,18,19,22,23,31,34,39,42,43],exce:[],exceed:43,excelt:0,except:[2,6,21,31,43],execut:[2,9,10,12,13,14,15,18,19,32,33,36,42],execute_subprocess:2,exedir:2,exist:[2,6,11,43,44],exit:[2,11,12,34],expect:[2,43],expens:[6,21],experi:[6,43,44],experienc:43,explain:[19,43,44],explan:43,explanait:[],explic:[],explicit:42,explicitli:[6,20,22,43],express:2,expver:[2,5,6,10,19,31],extend:[39,43],extens:[0,2,6,17,43],extra:[2,5,6,14,36,42,43],extract:[2,5,6,11,19,21,22,31,34,43],extractxxxxx:43,f90:[30,31,32,36],f_0:17,f_1:17,f_2:17,f_3:17,f_i:17,facil:[22,30],fail:[2,4,6,10,13,34,43],failur:43,fals:2,familiar:43,faq:41,far:6,fast:20,faster:[18,22,44],fcog_acc_sl:19,fconvert:[30,31,32],fdefault:[30,31,32],feasibl:21,featur:[2,6,20,41,44],februari:5,fedir:2,feel:42,few:[6,30,32,43],fewer:43,fftw3:[31,32],fftw:[23,30,32,33],field:[2,5,11,15,20,21,23,36,41,43],field_typ:19,fig:17,figur:[14,17,43],file1:2,file2:2,file:[0,2,4,9,10,11,12,13,15,17,18,20,22,23,30,31,32,34,36,39,41,42,44],filemod:2,filenam:[2,17,19,43],filename_in:2,filepath:2,fill:[6,42,43],filter:[2,17],find:[5,9,39,42,43],finder:[],fine:[21,31],finer:[3,21],finish:[42,43],first:[2,5,6,11,17,32,36,39,42,43],fit:2,fix:[4,10,17,34,41],flex:[10,13,43],flex_ecmwf:[4,10,13],flex_extract:[0,2,4,5,6,8,9,10,11,12,13,14,15,17,18,19,20,21,22,30,31,32,33,34,39,40,43,44],flex_extract_repo:[],flex_extract_v7:[10,13,19,31,34],flex_extract_v:[4,13],flex_extract_vx:[5,7,8,9,11,12,13,18,30,32,42,43],flexcompil:[4,13,30,32],flexextract:19,flexextractdir:2,flexpart:[2,6,11,15,17,20,21,22,31,34,41,43,44],flexpart_root:[4,13],flexpart_root_script:[4,13],flexpartdir:12,flextra:[2,20,21,41],flow:[2,11,12,20],flux:[2,5,15,21,38,43],fluxyyyymmddhh:17,flxacc2:17,follow:[2,5,8,12,13,15,17,18,19,21,30,31,32,33,34,39,42,43],font:0,fontpath:0,fopenmp:[30,31,32],for_develop:0,forecast:[2,5,6,11,17,20,21,22,23,39,41,43],forecast_step:19,forescast:43,forg:31,forget:33,form:[6,42],format:[2,6,10,11,12,15,17,19,20,31,43],formul:17,fort:[2,13],fortran90:[],fortran:[2,4,12,13,15,16,17,18,20,21,30,31,32,36,38,41,43],fortran_program:13,found:[2,5,6,9,13,19,21,30,40,42,43,44],four:[2,14,17,42],fp_root:2,fp_root_path:13,fp_root_script:13,fpdir:2,frac32:17,frac:17,framework:[13,30],free:42,frequent:[41,43,44],from:[2,3,4,5,6,9,10,11,12,13,14,15,17,18,19,20,22,23,30,31,32,34,36,39,41,42,43],fromfil:2,fsr:19,ftime:2,ftp:32,ftrafo:[30,31,32],ftype:2,fulfil:17,full:[2,6,11,12,21,22,31,41,43],fulli:39,further:[2,5,8,31,32,43],furthermor:18,futur:[6,21,43],g_i:17,g_ig_:17,gain:[],gap:43,gate:[],gatewai:[2,4,5,6,7,9,10,12,13,14,15,18,20,22,31,32,36,41,42],gateway_nam:[7,13],gatewaynam:[12,30,32],gatewayserv:43,gauss:[2,5,6,8,10,21,38,43],gaussian:[2,6,10,19,21,23],gen_docu:0,gener:[0,4,5,10,13,17,19,21,23,30,38,42,43],general:2,generate_retrieval_period_boundari:2,genericsftp:[2,10,12,30,32],genshi:[4,10,13,30,31,32,36],geometr:2,geophys:35,geosci:17,geoscientif:[2,6,17,40],german:36,get:[2,6,30,31,32,34,36,42,43],get_cmdline_arg:2,get_dimens:2,get_inform:2,get_install_cmdline_arg:2,get_kei:2,get_list_as_str:2,gfortran:[9,23,30,31,32,33],gid:[12,32],git:42,gitmob:42,give:[6,21,34,42,43],given:[2,5,14,17,21,43],glevelist:2,global:[5,6,8,21,39,43],gmd:[6,17],gnu:[9,30,31,32,42],goe:2,going:[2,6,11],good:21,grant:42,graphviz:0,grb:[2,19],greater:[6,11],green:[12,17],gregor:35,grep:[9,10,13,42],grib1:[2,5,6,10,15],grib2:[2,6,15],grib2flexpart:10,grib:[2,6,11,15,23,31],grib_api:[4,10,13,33,36],grib_l:19,gribmessag:11,grid:[2,3,5,6,10,17,19,20,21,23,31,43],grid_simpl:19,grid_typ:19,gridtyp:19,ground:34,group:[2,4,5,12,13,14,22,31,42],groupid:[12,30,32],groupnam:[],grphreal:[30,31,32],guarante:[2,11,12,17,43],guid:[23,36,41,43],guidanc:21,haimberg:[2,35],half:[2,6,11,17,21,43],handl:[2,5,39,43],happen:0,hard:2,harmon:19,has:[0,2,4,6,10,11,12,13,14,17,21,22,30,31,32,39,42,43],hast:6,have:[2,3,5,6,11,12,14,15,22,30,31,32,33,34,39,42,43],hcc:19,header:2,heat:[2,17,19],heavili:21,height:17,help:[2,11,12,18,43,44],help_icon:[],hemispher:43,henc:17,her:12,here:[2,6,8,11,12,15,19,31,39,43,44],high:[6,11,13,21,31,43],higher:[2,21],highest:21,highli:21,highlight:43,highr:[8,43],hint:[5,39,41,44],his:12,histor:21,hittmeir:[2,6,17],home:[4,10,12,13,14,23,30,31,32,42,43],homogen:39,horizont:[2,5,6,17,43],hoskin:6,host:[4,10,11,12,13,43],hostnam:[32,43],hour:[2,6,11,17,19,22,43],hourli:[6,22,43],how:[2,5,6,15,18,22,23,31,39,42,43],howev:[6,15,17,21,22,31,39,43],hpc:[12,21,43],hre:[23,43],href:[],html:[],http:[2,6,11,12,17,30,32,41,42,44],humid:19,hybrid:19,i32:[30,32],i_i:17,ia3:2,ice:[2,6,43],idea:39,identif:2,identifi:[2,6,11,12,17,19],identificationkeyword:2,idir:2,idirectionincrementindegre:2,ids:2,idx:[2,19],ifort:[],iid:2,img:10,implement:[17,19,43],impli:17,importantli:39,improv:[2,17,36,43],inbetween:[6,43],includ:[6,9,11,12,13,30,31,32,34,42,43,44],incorpor:42,increas:43,incur:21,independ:39,index:2,index_fil:2,index_kei:2,index_v:2,indic:[2,5,17,19,43],individu:[2,4,6,10],ineffici:43,info:2,inform:[2,5,6,8,11,14,18,19,20,22,23,32,34,39,42,43,44],informt:2,init128:2,init:2,initi:[2,11,12,36],initialis:[2,18,36],input:[2,5,6,10,11,12,15,17,20,38,41,43],inputdir:[2,10,11,13,43],inputfil:[2,11],insert:31,instal:[0,4,5,6,7,9,10,13,14,15,18,20,22,36,41,43],install_loc:2,install_target:[2,10,12],install_via_gatewai:2,installdir:[2,12,30,31,32,42],installscript:[4,12,30,32],instanc:2,instantan:19,instead:[2,11,12,15,22],institut:[35,39],instruct:[2,6,14,30,31,33,42,43],intact:11,integ:[2,6,11,43],integr:[2,17],intel:[4,10,13],intend:[6,8,11,14,39],interact:30,interest:42,interfac:[2,5,23,24,36,43],intergovernment:39,interim:[5,6,11,19,21,22,23,31,34,41,42],intermedi:2,intern:[2,11,12,41],internet:43,interpol:[2,6,11,17,19,43],interpret:18,interv:[2,3,6,12,17,19],introduc:[17,19,34,36,43],introducst:[],introduct:[],introductari:23,introdut:[],investig:[],involv:12,ipar:2,ipnam:32,isol:17,issu:41,iter:2,its:[2,11,13,17,19,21,39,42],itself:[2,43],jame:[2,17],januari:43,jasper:[30,32,36],jdirectionincrementindegre:2,job:[2,6,11,12,13,14,15,18,19,20,30,32,41],job_chunk:[2,10,11,43],job_fil:2,job_id:[2,4,13],job_templ:[2,10,11,12,30,31,32,43],jobfil:2,jobnam:[2,4,13],jobop:43,jobscript:[10,11,43],journal:[17,40],jtemplat:2,june:[2,43],just:[2,3,6,8,12,31,43],k_i:17,keep:[2,13,17,42,43],kei:[2,31,42],kept:6,keynam:2,keyvalu:2,keyword:[2,6,11,19,22,23,43],kind:[2,6,19,43],km4a:[4,10,13],know:[31,43],known:[5,41],known_bugs_issu:[],korn:[2,4,10,12,13,18,20,36,43],kornshel:[],ksh:[13,18,43],kwd:2,label:[12,19,31],lagrangian:[2,6,17],larg:[2,6,11,17,19,36,43],larger:[6,11,21],last:[2,6,11,17,19,30,32,34,43],lat:[2,6,11,19,21,43],late:17,later:[2,31,34],latest:[22,42,43],latitu:2,latitud:[2,6,20,43],latitudeoffirstgridpointindegre:2,latitudeoflastgridpointindegre:2,latter:12,lcc:19,ld_library_path:33,lead:[6,11,13,17,19,32,43],learn:39,least:[2,12],leav:11,leccod:[9,30,31,32],leccodes_f90:[9,30,31,32],left:[2,5,6,10,17,21,42,43],lemo:[30,32],lemosr64:31,length:[2,17,43],leopold:[2,35],less:21,let:11,letter:[2,11,12,19,41],level:[2,5,6,10,11,12,15,18,19,21,22,31,34,41,43],level_typ:19,levelist:[2,5,6,10,11,19,31,43],levellist:34,levtyp:[2,19,31],lfftw3:[30,32],lib:[9,30,32,33,36],libeccod:[9,31,42],libemo:[30,31,32],librari:[4,9,10,14,20,23,31,32,41,42,44],licenc:[11,12,22,23,41],licens:[2,6,11,12,14,22,41],lies:2,life:35,light:12,like:[2,9,11,17,30,32,34,42,43],limit:[6,11,19,22,39,43],line:[2,5,11,12,13,15,17,18,19,22,30,32,42,43,44],linear:[2,6,17],linearli:17,link:[0,9,39,41,42,43],linux:[9,12,14,15,22,30,31,42,44],liquid:[2,6,43],list:[2,5,6,8,9,11,12,15,17,19,20,23,31,34,41,43],list_obj:2,littl:17,ljasper:[30,31,32],load:[2,4,10,11,12,13,30,32,36,43],local:[2,5,6,7,9,11,12,14,22,30,32,33,36,41,42],localmachin:32,localus:32,locat:[2,7,11,12,43],lock:[],log:[2,4,6,10,13,31,32,42,43,44],logarithm:19,logic:[2,10],login:[32,43],lon:[2,6,11,19,21,43],longer:[2,6,36],longitud:[2,6,20,43],longitudeoffirstgridpointindegre:2,longitudeoflastgridpointindegre:2,longiud:[],look:[2,30,32,34,43],lot:[21,43],lower:[2,5,6,10,21,43],lowest:[19,34],lp64:[30,32],lpthread:[30,32],lrwxrwxrwx:[30,31,32],lsm:19,lsp:[17,19],machin:[2,4,9,10,12,13,14,15,31,32,42,43],made:[2,22,39,43,44],magnitud:2,mai:[6,11,12,15,17,30,31,39,42,43,44],mail:[2,4,6,10,13,35,41,43],mailfail:[2,5,10,13,43],maill:44,mailop:[2,5,6,10,13],main:[2,5,18,20,22,43],mainli:43,maintain:17,make:[0,4,13,18,30,33],make_dir:2,makefil:[2,4,12,13,18,30,31,32,33,36],makefile_crai:[9,12,30,32],makefile_debug:9,makefile_ecg:[4,9,12,30,32],makefile_fast:9,makefile_local_gfortran:[9,12,31],manag:[13,30,31,42],mani:[17,43],manipul:2,mar:[2,6,11,15,18,20,22,23,30,31,32,33,36,41,42,43],march:[2,22,30,31,32],margin:[],mark:[4,5,10,13,17,19,43],mars_request:[2,6,11,15,19,43],marsclass:[2,10,19],marsfil:2,maschin:11,mask:43,mass:21,master:42,match:2,math:[],mathrm:17,matter:[2,12],max:[6,11],max_level_list:2,maxb:[2,13,19],maxim:[],maxima:17,maximum:[2,5,6,11,34,43],maxl:[2,13,19],maxstep:[2,5,6,10],mcc:19,mdpdeta:[2,13,19],mean:[2,4,12,13,17,19,43],measur:21,medium:[20,39,41],member:[2,6,12,14,19,22,23,24,30,31,39,42,43],memberst:[2,6],memori:[6,11],mendel:35,mention:[13,14,17,43],merg:15,mess:42,messag:[2,11,12,19,21,30,31,34],met:35,meta:[2,13,19],metadiff:[2,13,19],metapar:[2,13,19],meteorolog:[2,17,19,20,35,39,41],meter:[],method:[2,5,6,11,17,19,21,22,38,39,40,43],mgauss:[2,13,19],might:[0,2,6,11,15,18,22,31,39,42,43],migrat:[2,23],min:17,mind:[6,43],minim:42,minima:17,minimis:31,minimum:[20,43],minut:[2,30,32],mismatch:43,missingvalu:2,mix:43,mk_compilejob:2,mk_convert_build:[],mk_date:2,mk_env_var:2,mk_fortran_build:2,mk_job_templ:2,mk_jobscript:2,mk_server:2,mk_tarbal:2,mkdir:[4,10,13],mlevel:[2,13,19],mlevelist:[2,13,19],mnauf:[2,13,19],mnt:19,mock:0,mod:[2,4,9,13],mode:[2,4,6,7,9,10,11,12,13,18,19,20,36,39,41,42,44],model:[2,6,15,17,19,20,21,22,23,34,39,40,41,43],modif:2,modifi:[2,9,22,43],modul:[4,10,11,12,13,14,30,32,36,42,43],modular:36,momega:[2,13,19],momegadiff:[2,13,19],moment:6,mon:17,monitor:43,monoton:[2,17],month:[11,19,31,43],monthli:6,more:[2,5,6,11,12,14,17,19,42,43,44],most:[2,6,13,36,39,43,44],mostli:[2,6,19,43],motiv:17,mountain:[2,11,12,41],move:[0,2],mreq_count:2,msgatwai:30,msl:19,msmooth:[2,13,19],much:[39,44],multipl:[2,43],multipli:[6,21],muser:[10,13],must:[6,11,14,32,43],my_error:2,myecnam:12,mygroupnam:12,myuser:12,name:[2,4,5,6,10,11,12,13,17,19,30,31,32,36,42,43],name_of_this_fil:[4,10,13],name_of_your_makefil:31,namelist:[2,13,19],namespac:2,namgen:[13,19],nano:[30,32],nas:19,nation:[22,39],nativ:[30,31,32],natur:[17,35],necessari:[0,2,3,4,6,9,10,11,12,13,14,18,20,30,32,33,36,43,44],necessarili:5,nedit:9,need:[0,2,3,5,6,11,12,13,14,18,19,20,21,22,31,32,37,40,42,43],neg:[2,17],neglect:6,net:[17,19],nevertheless:2,newer:19,newest:43,newslett:[],next:[30,32,43,44],nfield:2,night:[],non:[2,6,17,34,43],noncycl:6,none:[2,5,6,10,11,12,17,19,30,31,32,43],none_or_int:2,none_or_str:2,nonzero:2,normal:[4,6,10,13,43],normal_exit:2,north:[2,11],northern:[2,43],northernmost:2,northward:[17,19],notabl:43,notat:17,note:[6,15,17,32,34,42,43],notif:[2,5],notifi:2,novemb:[2,21],now:[22,42],nowadai:[],nsss:[17,19],number:[2,3,4,5,6,8,9,10,11,13,17,18,19,20,21,34,36,43],numer:39,numpi:[2,30,31,32],object:2,observ:2,obtain:[2,17,42,43],obvious:17,occur:[2,17],octahedr:23,octob:11,odir:2,off:[2,5,6,19],often:21,og_orolsm__sl:19,old:[0,2,6,11,17,36,43],older:[6,15,43],omega:[2,5,6,10,19,21,38,43],omegadiff:[2,5,6,10,21,43],omegayymmddhh:[6,21],onc:[11,43,44],one:[2,5,6,11,12,17,18,19,32,34,42,43],ones:[17,32],onli:[2,3,5,6,11,12,17,19,21,22,32,34,42,43,44],onlin:[36,43],onward:6,open:[2,9,20,30,31,32,41,43],opend:12,oper:[2,5,6,8,10,11,12,17,21,23,31,34,39,41,42],operation:6,oportun:[],opportun:[],opt:[],optim:21,optimis:[9,12,15,43],option:[2,5,6,15,17,19,21,33,36,42,43],optionalind:5,orang:12,order:[2,5,19,43],org:[2,6,11,12,17,41],organis:39,origin:[2,6,11,17,19,43],orographi:19,other:[2,5,6,9,11,31,39,42,43,44],otherwis:[2,43],our:42,out:[2,4,6,9,10,13,30,31,32,42,43],output:[2,4,5,6,10,11,12,13,17,30,31,32,36,38,39,41,42,43,44],outputdir:[2,10,11,13,43],outputfilelist:2,outsid:31,over:[2,17,43],overal:[2,19],overhead:43,overlap:[6,17],overrid:[3,11],overrul:5,overview:[8,14,15,17,23,34,38,41,42],overwrit:[0,2,43],overwritten:[2,18,31],own:[19,32,42],p_a:[],p_b:[],p_c:[],p_d:[],packag:[0,4,10,13,20,30,31,41,42],package_nam:42,packingtyp:19,page:[30,42],panel:42,paper:[34,40],par:2,paragraph:44,parallel:[],param1:43,param2:43,param:[2,19,31],paramat:2,paramet:[2,3,4,5,8,9,10,13,15,17,18,19,20,23,30,31,32,36,39,41,42],parameteris:43,parameterlist:[11,12],parameternam:2,paramx:43,parent:[2,11,19],part:[2,17,20],parti:[14,20,23,41],particl:[2,6,17],pass:[2,10,22,34,42],passcod:30,password:[30,32],path:[0,2,4,6,8,9,10,11,12,13,14,31,32,33,34,42,43],path_flexextract_dir:2,path_fortran_src:2,path_input_dir:2,pattern:[2,43],paul:17,pbs_jobid:[10,13],pdf:21,pep8:36,per:[2,5,6,11,15,19,43],perform:[2,13,15,21],period:[2,5,6,11,17,30,43],person:12,perturb:[6,19],petra:[2,35],phgrreal:[30,31,32],philipp:[2,5,6,11,12,17,35],physic:[35,39],pid:[19,43],piec:[17,19],piecewis:17,pip:[0,31,42],place:[2,12,13,14,30,44],placehold:[13,32],plan:[6,21],platform:42,pleas:[5,14,15,21,30,31,32,43,44],plot:23,plu:17,png:0,point:[2,11,17,19,43],polynomi:[2,17],posit:[2,6,13,17],posnam:[30,31,32],possibl:[2,5,6,8,11,12,17,21,22,31,42,43,44],post:[2,6,15,31,44],postprocess:2,pp_id:[11,43],ppid:[2,11,19],pre:[9,17],precalcul:6,precip:19,precipit:[2,5,6,11,23,36,43],precis:33,preconvert:[],predict:[39,43],prefar:42,prefer:[6,30,31,32],prefix:[2,5,6,10,19,21],prepar:[0,2,4,6,10,11,12,13,14,15,20,26,41,42],prepare_flexpart:11,preprocessor:44,present:[2,7,12,23,30,32,42,43],preserv:[17,19,43],pressur:[2,19,21,22,31],pressure_level:31,previou:[18,21,43],prgenv:[4,10,13],primarili:9,principl:43,print:[2,4,13,43],print_infodata_csv:2,prior:[17,21],problem:[2,17,36,42,43,44],procedur:[5,17],process:[2,4,6,7,9,10,11,12,13,14,15,17,18,19,22,31,36,42,43,44],process_output:2,prod:2,produc:[9,17,19,21,39,43],product:[2,42,43],product_typ:31,progam:42,program:[0,4,9,11,12,13,17,18,20,21,30,31,36,41,43],programm:16,progress:[15,43],prompt:30,proper:[18,41],properli:[2,12,15,34,42,44],properti:[2,19,39],propos:[17,44],proposit:[],prot:[10,13,43],protocol:43,provid:[2,3,14,18,20,21,22,31,32,33,42,43,44],pseudo:43,publicli:43,publish:17,pull:31,pure:[2,6,11,19,43],purefc:[2,10],purpos:[2,6,19],put:[2,6,12,13],put_file_to_ecserv:2,pycallgraph:0,pylint:0,pyrevers:0,pyscript:11,pytest:0,python3:[4,10,11,12,13,18,30,31,32,36,42,43],python:[0,4,10,11,12,13,15,16,17,18,19,20,23,30,31,32,33,36,38,42,43],pythonxxxxx:[],qos:[4,10,13],quad:17,quantiti:[2,6,17],question:[41,44],queue:[2,4,10,11,12,13,15,30,43],queuenam:[4,10,13],queues_list:2,quick:[8,43],quick_start:[],quickli:[13,43],quota:43,r64:[4,10,13,30,32],radiat:[2,17,19],raid60:[],rainfal:2,rais:[2,17],rang:[2,6,20,31,39,41,43],rare:43,rate:17,rather:21,raw:[2,15],reach:18,read:[2,6,12,13,15,20,21,32,33,39,43],read_ecenv:2,readi:[2,6,11],real:[23,30,31,32,43],real_tim:23,realis:17,realiti:17,realli:[21,43],reanalysi:[6,11,21,23,31,42],reason:[2,6,11,17,43],receiv:[30,43,44],recent:[10,43],recod:17,recommend:[6,17,21,31,43],reconstruct:[2,17],record:42,rectangular:12,red:17,redhat:42,reduc:[19,21,23],ref:[],refactor:36,refer:[2,14,39,43],regard:[5,18,36,44],regardless:42,region:21,regist:[22,31,33,42],registeredus:44,registr:[6,14,22,23,31,33,41,44],regress:[36,41],regular:[2,20,43],regular_l:19,regularli:[],rel:[17,43],relat:43,releas:[2,41,42,43,44],relev:[2,5],reli:42,remain:[2,17],rememb:42,remot:[2,4,6,7,9,10,12,13,14,15,18,20,30,36,41,42],remota:12,remov:[2,3,17,36],remove_old:2,renam:0,renew:30,repeat:2,rephras:[],repo:42,report:[2,41],repositori:42,repr:[2,19],repres:[2,17,19,22,23,42,43],represent:[2,20],reqest:15,request:[2,4,5,6,10,11,13,15,17,22,36,43],request_numb:[2,19],requir:[2,13,14,17,20,21,30,31,32,39,42,43],rerun:11,research:39,resol:[2,5,6,10,19,21,43],resolut:[3,5,6,11,21,22,39,43],resolv:21,reson:[],resourc:35,respect:[2,5,15,17,18,19,31,39,42,43],respectivlei:[],respons:43,rest:[2,6],restrict:21,restructur:36,result:[2,15,19,21,43],retriev:[2,5,6,11,14,15,17,18,19,20,21,22,31,33,34,36,39,41,42,43],retrieve:5,return_list:2,review:6,revis:36,revtriev:2,right:[2,5,6,10,17,21,22,30,31,33,39,42,43,44],rla0:[2,13,19],rla1:[2,13,19],rlo0:[2,13,19],rlo1:[2,13,19],root:[2,4,12,13,18,31,32,42,43],round:12,rpath:[30,32],rpm:42,rrint:[2,5,6,10,11,43],rst:[],rthl:43,rudimentari:12,run:[2,5,6,7,8,10,13,15,18,19,22,30,31,42,43,44],run_loc:[15,43],runtim:10,rwgrib2:[30,31,32,36],sabin:2,sai:2,same:[2,6,11,22,30,31,33,43],sampl:[2,31,43],sardeshmukh:6,save:[9,11,19,21,31,43],sbatch:[4,10,13],scale:[2,11,17,19],scaveng:17,scenario:[14,17,43],schemat:17,scheme:[2,6,17,19,43],scienc:35,scientif:[23,34],scope:6,scp:32,scratch:[4,10,13,43],scriot:[],script:[0,5,6,13,14,15,16,17,18,19,20,21,23,30,31,32,36,38,41,42,43,44],scroll:42,sdor:19,second:[6,11],section:[5,12,18,22,31,36,37,39,40,42,43],see:[2,5,6,11,12,13,15,18,19,20,21,22,24,30,31,32,34,42,43,44],seem:43,seen:18,seibert:[2,6,17,35],select:[2,5,6,11,12,14,19,22,30,32,34,36,39,41,42],selectwher:2,send:[2,11,12,13,21,30,41,44],send_mail:2,sens:43,sensibl:[2,17,19],sent:[2,13,15,18,43],separ:[2,5,19,36,43],sepeart:[],seper:[2,6,11],septemb:[6,12,21],seqdiag:0,seqdiag_fontpath:0,sequenc:15,seri:[2,17],serv:[19,20,41,43],server:[2,4,5,6,7,9,10,11,12,13,14,15,18,20,22,23,30,31,32,36,42,43],servic:[30,39],session:[4,10],set:[0,2,4,5,6,8,9,10,11,12,13,17,18,19,20,21,22,23,30,31,32,33,34,36,39,42,43,44],set_kei:2,setup:[14,15,18,30,31,32,36,42,43],setup_controldata:2,sever:[9,12,13,19,42,43],sfc:[19,31],sgn:17,shade:17,share:[0,44],she:14,shell:[2,4,10,11,12,13,15,18,20,30,31,36,42,43],shift:17,shoot:23,shorten:43,shorter:2,shortli:43,shortnam:19,should:[0,2,6,9,12,13,17,21,30,31,32,36,39,42,43],shouldn:6,show:[11,12,15,17,43],shown:[7,9,17,31,43],side:42,sign:[4,5,13,42],signal:43,silent_remov:2,similar:[14,31],simpl:[6,17,31],simplest:17,simplifi:36,simul:2,sinc:[2,15,19,21,31,43,44],singl:[2,4,10,11,13,15,19,33,42,43],site:30,size:[34,43],sketch:[12,14],skip:[2,31],skt:19,slope:17,slurm:[13,23],small:[31,34,43],smaller:[2,6,11,19],smooth:[2,5,6,10,17,21,43],snippet:31,softwar:[2,6,12,13,14,20,21,23,30,31,32,41,42],solar:[2,17,19],sole:[6,19],solut:[2,44],solv:43,some:[0,2,4,5,6,10,11,12,13,14,15,18,19,20,22,31,32,39,42,43,44],someth:43,sometim:[6,43],soon:[6,43],sort:2,sourc:[0,2,4,9,10,11,12,13,18,20,31,33,34,36,41,42,43],south:[2,11],souther:[],southern:2,southernmost:2,space:[2,5,11,17,43],spar:2,spatial:[5,6,39],spdx:[11,12],speak:42,speci:17,special:[],specialis:43,specif:[2,4,5,6,9,10,11,13,14,17,19,20,21,36,39,41,42],specifc:[2,11],specifi:[2,6,11,12,17,30,31,32,43],specificnam:10,spectral:[2,6,20,21,43],speed:43,sphere:6,spheric:19,sphinx:36,sphinxcontrib:0,split:[15,17,19],sqrt:17,src:[],src_path:2,srvx8:10,ssh:[32,43],sshf:[17,19],ssr:[17,19],sss:6,stamp:19,standard:[2,9,17,21,30,31,32,42,43],start:[2,4,5,6,10,11,12,13,18,19,30,31,32,33,39,42,43],start_dat:[2,5,6,10,11,17,43],start_period:2,state:[2,12,14,22,23,24,30,31,39,42,43],statement:[2,30,32],statist:42,statu:[15,34,42],steer:2,step:[2,3,5,6,10,11,13,15,17,19,20,24,30,31,33,43],steprang:[2,11,19],still:[3,9,15,21,37,40,43],stl1:19,stop:[2,34,42,43],storag:[2,5],store:[2,6,10,11,12,15,19,21,22,23,31,42,43],str:[2,35],str_of_list:2,straightawai:43,straightforeward:43,stream:[2,5,6,10,19,31,36,43],stress:[2,17,19],stretch:31,string:[2,5,6,11,12],structur:[10,36,39,43],studi:[21,39],style:36,sub:[2,17,19],subdirectori:43,subgrid:[2,11],subinterv:17,subject:[2,30,32,43],submiss:[2,4,10,12,20,43],submit:[4,5,10,12,13,14,15,18,19,30,32,43,44],submit_job_to_ecserv:2,submitscript:[10,11],submitscriptop:[],subprocess:2,subscrib:44,subscript:44,subsect:21,subsequ:6,subset:[6,11,43],substanti:43,substitut:[2,4,9,10,13,32,36,43],substr:2,subtract:[6,43],succeed:[30,31],success:[4,13,19,30,32],success_mod:2,successful:[18,42],successfulli:42,suffici:43,suggest:9,suit:[6,43],suitabl:31,sum:[2,6,18,43],supplement:19,support:[2,17,23,39,41,42,43],suppos:2,sure:31,surfac:[2,6,15,17,19,21,22,34],swvl1:19,symmetri:17,syntax:[2,6],synthes:[6,36],sysadmin:33,system:[2,4,6,9,10,11,13,20,21,30,31,32,34,41,42,43],sytem:30,t1279:[21,43],t799:21,tab:42,tabl:[2,5,17,19,34,41,42,43],table128:2,take:[9,31,43],taken:[2,6,18,19,39,43],tar:[2,4,13,32,42],tarbal:[2,4,12,30,32],tarball_path:2,tarfil:32,target:[2,12,19,30,31,32],task:[2,18,20,43],tcc:19,team:41,technic:23,tell:[2,43],temp:[2,10,11],temperatur:[19,31],tempfile_job:2,templat:[2,4,5,7,10,11,12,18,30,32,36,43],tempor:[5,6,17,19,22,39,43],temporal_properti:19,temporari:[2,6,11,43],tendenc:21,tenth:6,term:[42,43],termin:[30,31],test:[0,2,5,6,12,13,19,22,33,36,41,43],textbf:17,textrm:17,than:[2,3,6,9,11,19,21,34,44],thei:[0,2,5,6,9,11,12,13,15,17,18,19,31,34,39,43],them:[0,2,6,11,12,15,17,18,19,20,31],therebi:[17,21],therefor:[0,2,6,17,18,19,31,34,39,42,43],thi:[0,2,4,5,6,7,8,9,10,11,12,13,14,17,18,19,21,22,30,31,32,33,34,37,39,40,41,42,43,44],thick:17,thing:[],think:[2,42],third:[14,20,23,41],those:[5,43],though:44,thousandth:6,three:[2,11,17],through:[2,5,22,24,30,42,43,44],throughout:17,thu:[9,17,43],ticket:[34,41],time:[2,3,4,5,10,11,13,15,17,19,21,23,31,33,34,39,43],timeseri:[2,17],timespan:[2,17],timestamp:2,tld:32,tmc:31,tmpdir:[10,13],to_list:2,to_param_id:2,to_param_id_with_tablenumb:2,todai:43,todo:[],togeth:[2,5,12,42,43],token:30,too:[6,11,17,31,34,43],tool:[4,10,14,15,43],toolkit:22,top:[11,12,18,34],topic:[],topmost:34,total:[2,19,43],touch:43,trace:17,train:23,transfer:[2,5,6,7,12,13,15,19,30,32,43],transferr:43,transform:2,transport:[20,41],trapezoid:12,treatment:39,tree:43,tri:[],triangular:[2,6],trigger:[2,21],troubl:23,troubleshoot:43,truetyp:0,truncat:[2,6],ttf:0,tupl:2,turbul:[17,19],twice:43,twiceadai:[],twicedaili:[8,43],two:[2,6,11,12,14,17,18,19,20,21,22,33,42,43],type:[0,2,3,4,5,6,10,11,13,18,19,30,31,32,42,43],typeoflevel:19,typic:[15,19,23,43],ubuntu:[30,31],udoc:2,uid:[12,32],un_tarbal:2,unavail:44,unchang:17,under:[0,2,11,12,13,14,17,19,26,27,28,29,30,31,37,38,40,41,43],undergo:[39,43],understand:[5,13,18],underw:[],undesir:17,unfortun:[17,22],uniqu:[2,19],unit:[0,17,21,36],univers:[2,35],univi:[10,35,44],unix:44,unless:[6,13],unload:[4,10,13],unrealist:17,unreason:36,untar:[2,4,12,32,42],until:[6,11,17,22,43],updat:[36,41],upfront:[2,6],upgrad:36,upon:22,upper:[2,5,6,10,21,43],upstream:[],upto:[],usa:[2,11,12,41],usag:[2,18,41,42],use:[0,2,6,9,17,18,20,21,22,30,31,32,33,34,36,42,43],used:[2,5,6,8,9,11,12,13,14,17,18,19,32,34,36,39,42,43,44],useful:[6,11,19,39,43],user:[2,4,5,10,11,12,13,14,18,20,22,23,24,30,31,32,33,36,39,42,43,44],user_group:[7,13],user_nam:[7,13],usergroup:13,usernam:[12,13,30,31,32],uses:[0,4,10,17,30,32,34,43],using:[2,4,6,11,12,17,18,19,30,31,32,42,43],usr:[0,4,9,10,13,30,31,32],usual:[5,6,11,15,19,31,43],utc:[6,11,19,43],util:[2,15],uza:35,v10:19,v20_update_protocol:21,v30_update_protocol:21,v40_update_protocol:21,v60_update_protocol:21,v703:[],v704:[],v711:[],v71:[],valid:[2,6,12,19,32,34,43],valu:[2,3,5,6,8,9,10,11,12,13,17,18,21,30,32,34,43],valuer:2,vanish:17,vari:[5,6,9,39,43],variabel:[],variabl:[2,4,6,10,11,13,17,20,31,33,36,39,43],varianc:[],variat:[6,19],variou:36,vast:39,veloc:[15,19,20,43],veri:[2,6,11,17,21,31,43],version:[2,3,4,6,9,10,13,15,18,21,33,36,42,43,44],version_numb:13,vertic:[5,11,15,19,20,36,38,39,43],via:[2,11,14,15,22,23,30,31,32,36,43],vienna:[2,35],view:[2,11,12,41,44],virtual:42,visit:[2,11,12,30,41],vol:6,wai:[2,5,13,15,17,22,30,31,39,42,43],wait:22,want:[6,9,17,20,33,43],warn:[12,31],water:[2,6,19,43],wave:21,weather:[6,20,39,41],web:[2,6,11,14,22,23,24,33,36,42,43],webapi:[2,6],webserv:[],websit:[2,30,31,42,43,44],wedg:17,well:[2,6,15,21,34,39,42,43],were:[2,6,11,12,19,34,43],west:[2,11],western:2,westernmost:2,wet:17,wether:2,what:[3,5,23,31,41,43],whatev:43,when:[2,4,6,10,17],whenev:21,where:[2,6,9,11,12,13,17,19,21,31,42,43],wherea:[6,15,43],wherebi:[],wherekei:2,wherekeynam:2,wherekeyvalu:2,whether:[2,4,10,12,33,42],which:[0,2,3,4,5,6,7,9,10,11,12,14,15,17,18,19,20,21,22,30,31,36,39,42,43,44],whith:10,who:20,whole:[2,17,43,44],whose:[19,42],why:17,width:[],wien:35,wiki:[2,6,32,44],wil:2,wildcard:43,wind:[5,19,38,39,43],window:[30,31,43],wish:42,within:[2,4,6,10,11,17,30,32,43],without:[2,13,22,33,42,43],word:2,work:[0,2,7,10,11,12,13,14,15,20,22,31,36,41,42,43],workaround:33,workdir:[4,10,13],workload:13,workspac:[10,19,43],workstep:[],would:[6,11,22,30,33,34,43],wrap:20,wrapper:[11,12,18],wrf:[2,5,10],write:[2,6,36,43,44],write_namelist:2,write_reqhead:2,written:[2,6,21,37,40],wrong:34,www:[42,44],x86_64:9,xvf:[4,13,32,42],xxx:19,xxxx:6,xxxxx:43,xxyymmddhh:2,year:[19,31],yet:43,yield:[2,21],you:[0,3,5,6,9,13,21,24,30,31,32,34,42,43,44],your:[9,24,30,31,32,42,43,44],yourself:24,yymmdd:[6,19],yymmddhh:[6,19,21],yyyymmdd:[2,6,11],yyyymmddhh:[17,19],zamg:[36,44],zero:[17,21,34],zonal:21},titles:["Updating the documentation","Auto-generated documentation for the Fortran programme","Auto-generated documentation for the Python scripts","CONTROL file changes","The compilation job script <code class=\"docutils literal notranslate\"><span class=\"pre\">compilejob.ksh</span></code>","The CONTROL file","The CONTROL parameters","ECMWF user credential file <code class=\"docutils literal notranslate\"><span class=\"pre\">ECMWF_ENV</span></code>","CONTROL file examples","The Fortran makefile for <code class=\"docutils literal notranslate\"><span class=\"pre\">calc_etadot</span></code>","The job script <code class=\"docutils literal notranslate\"><span class=\"pre\">job.ksh</span></code>","The executable script - <code class=\"docutils literal notranslate\"><span class=\"pre\">run.sh</span></code>","The installation script - <code class=\"docutils literal notranslate\"><span class=\"pre\">setup.sh</span></code>","Templates","Application modes","Program flow","Auto-generated documentation","Disaggregation of flux data","Control &amp; input data","Output data","Overview","Vertical wind","Access modes","Link collection","Hints for data set selection","Available data sets for member-state users","Available data sets for public users","Metrics","Static code analysis","Test cases","Gateway mode installation","Local mode installation","Remote mode installation","FAQ - Frequently asked questions","Known Bugs and Issues","Developer Team","Changelog","Developer Guide","Code-Level Documentation","ECMWF Data","Evaluation","Welcome to the <code class=\"docutils literal notranslate\"><span class=\"pre\">flex_extract</span></code> Documentation!","Installation","Usage","Support","ToDos"],titleterms:{"case":29,"class":2,"long":19,"new":[19,36],"public":[26,42,43],"static":28,CDS:[31,34],The:[4,5,6,9,10,11,12],accept:42,access:22,addit:[0,6,19],adjust:43,agreement:[],analysi:28,api:[31,34],applic:[14,15],ask:33,auto:[1,2,16],avail:[24,25,26],block:0,bug:[34,36,44],calc_etadot:[9,19,34],calc_etadot_nml:13,calcul:21,can:[24,33],cera:43,certain:43,chang:[3,36],changelog:36,check:2,code:[28,34,38],collect:23,combin:[42,43],comparison:29,compil:4,compilejob:4,content:[7,11,12,19],continu:21,control:[3,5,6,8,18,43],controlfil:2,convert:[],coordin:[],credenti:7,data:[6,17,18,19,24,25,26,34,39,43],dataset:[42,43],definit:43,depend:[30,31,32,42],destin:34,develop:[35,37],diagramm:0,differ:15,disaggreg:[2,17,19],distribut:33,document:[0,1,2,16,38,41],doe:[4,10],domain:6,download:42,eccod:34,ecflexpart:2,ecmwf:[7,31,39,42],ecmwf_env:[7,13],ensembl:19,environ:[30,31,32],equat:21,era5:34,era:43,error:34,evalu:40,exampl:[4,5,8,10,15],execut:11,faq:[33,44],featur:[36,43],field:[6,17,19],file:[3,5,6,7,8,19,21,29,43],find:24,finder:[],fix:36,flex_extract:[41,42],flexpart:[19,42],flow:15,flux:[6,17,19],forecast:19,format:5,fort:19,fortran:[1,9,19,34,42],frequent:33,from:[21,33],full:42,gatewai:[30,34,43],gener:[1,2,6,15,16],get_mars_data:2,grib:[19,29],gributil:2,guid:37,hint:[24,43],horizont:21,how:24,index:19,input:[18,19],instal:[2,12,30,31,32,33,34,42],installscript:13,interim:43,issu:[34,44],job:[4,10,43],jobscript:13,known:[34,44],ksh:[4,10],level:[25,38],librari:33,licenc:42,line:0,link:23,list:44,local:[15,31,43],mail:44,makefil:9,mar:[19,21,29],marsretriev:2,member:[15,25],metric:27,mode:[14,15,22,30,31,32,43],model:25,modul:2,older:17,onlin:[],oper:43,option:[11,12],other:17,out:24,output:[19,21],overview:20,packag:33,paramet:[6,11,12,21,34,43],parti:33,pre:21,precipit:[17,19],predict:19,prepar:[21,30,31,32,43],prepare_flexpart:2,problem:34,program:[2,15,19,34,42],programm:1,proper:43,pure:[],python:2,question:33,quick:[],registr:42,releas:[34,36],remot:[32,43],report:44,request:[19,29],rest:[],retriev:[],run:11,script:[2,4,10,11,12],section:6,select:[24,43],sequenc:0,set:[15,24,25,26],setup:12,softwar:0,some:[],specif:43,specifi:[],sphinx:0,standard:19,start:[],state:25,submiss:11,submit:[2,11],submitscript:13,support:44,surfac:25,system:44,team:35,temp:[],templat:13,temporari:19,test:[29,30,31,42],testcas:[],third:33,ticket:44,time:6,todo:45,tool:2,uiofil:2,updat:0,usag:[11,12,43],user:[6,7,15,25,26],using:21,veloc:21,version:17,vertic:[6,21],web:31,welcom:41,what:[4,10,24,33],wind:[6,21],workflow:15}})
  • For_developers/Sphinx/Source/Documentation/Input/setup.rst

    r47be2684 r7271b6f  
    165165                  [--ecuid ECUID] [--ecgid ECGID] [--gateway GATEWAY]
    166166                  [--destination DESTINATION] [--installdir INSTALLDIR]
    167                   [--sysinstalldir SYSINSTALLDIR]
    168167                  [--job_template JOB_TEMPLATE] [--controlfile CONTROLFILE]
    169168
     
    173172      -h, --help            show this help message and exit
    174173      --target INSTALL_TARGET
    175                             Valid targets: syslocal | local | ecgate | cca , the latter two
     174                            Valid targets: local | ecgate | cca , the latter two
    176175                            are at ECMWF (default: None)
    177176      --makefile MAKEFILE   Name of makefile to compile the Fortran
     
    187186                            Root directory where flex_extract will be installed
    188187                            to. (default: None)
    189       --sysinstalldir SYSINSTALLDIR
    190                             System installation path; where executables are
    191                             stored. (default: None)
    192188      --job_template JOB_TEMPLATE
    193189                            The rudimentary template file to create a batch job
     
    202198
    203199
    204 
    205200.. toctree::
    206201    :hidden:
  • For_developers/Sphinx/Source/Installation/local.rst

    r903ed4f r73308e0  
    266266The Fortran program called ``calc_etadot`` will be compiled during the
    267267installation process. A suitable makefile (``makefile_local_gfortran``) for the compilation is set by default.
    268 This may be overwritten by the ``MAKEFILE`` parameter in ``setup_local.sh``.
    269 
    270 However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into ``setup_local.sh``
     268This may be overwritten by the ``MAKEFILE`` parameter in ``setup.sh``.
     269
     270However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into ``setup.sh``
    271271For details on the makefile and how to adapt them, see :ref:`Fortran Makefile <ref-convert>`.
    272272
    273273 
    274 In the root directory of ``flex_extract``, open the ``setup_local.sh`` script
     274In the root directory of ``flex_extract``, open the ``setup.sh`` script
    275275with an editor and adapt the installation parameters in the section labelled with
    276276"AVAILABLE COMMANDLINE ARGUMENTS TO SET" as shown below:
     
    279279.. code-block:: bash
    280280   :caption: 'Example settings for a local installation.'
    281    :name: setup_local.sh
     281   :name: setup.sh
    282282   
    283283   ...
     
    294294   DESTINATION=None
    295295   INSTALLDIR=None
    296    SYSINSTALLDIR=None
    297296   JOB_TEMPLATE=''
    298297   CONTROLFILE='CONTROL_EA5'
     
    304303.. code-block:: bash
    305304
    306    $ ./setup_local.sh
     305   $ ./setup.sh
    307306   
    308307to start the installation. You should see the following standard output.
     
    311310.. code-block:: bash
    312311
    313     # Output of setup_local.sh   
     312    # Output of setup.sh   
    314313    WARNING: installdir has not been specified
    315314    flex_extract will be installed in here by compiling the Fortran source in <path-to-flex_extract>/flex_extract_v7.1/Source/Fortran
     
    328327    lrwxrwxrwx. 1 <username> tmc 20 Aug 12  10:59 ./calc_etadot -> calc_etadot_fast.out
    329328
    330 
    331 Local system installation
    332 =========================
    333 
    334 There is also the possibility to separate the software executables from the user application files. For doing so, the ``TARGET`` parameter can be set to "syslocal" and the additional parameter ``SYSINSTALLDIR`` in the ``setup_local.sh`` has to be specified. This new path will contain the Fortran and Python executables of ``flex_extract``. If you chose to set a system path for this, please start the script as root.
    335 The user directory for ``flex_extract``, which basically consists of everything except the ``Source`` directory, will be installed into ``INSTALLDIR``.
    336 In this installation mode, an extra (hidden) ``.setup.rc`` file will be generated in the ``Run`` directory. It contains the necessary settings for running the local system mode.
    337 
    338 Despite the change in the ``TARGET`` parameter, the meaning of ``INSTALLDIR`` and the additional ``SYSINSTALLDIR``, the steps for installation are the same as in the local installation mentioned above. For example, modify the ``setup_local.sh`` file as follows:
    339 
    340 
    341 .. code-block:: bash
    342    :caption: 'Example settings for a local system installation.'
    343    :name: setup_local.sh
    344    
    345    ...
    346    # -----------------------------------------------------------------
    347    # AVAILABLE COMMANDLINE ARGUMENTS TO SET
    348    #
    349    # THE USER HAS TO SPECIFY THESE PARAMETER
    350    #
    351    TARGET='syslocal'
    352    MAKEFILE=<name_of_your_makefile>
    353    ECUID=None
    354    ECGID=None
    355    GATEWAY=None
    356    DESTINATION=None
    357    INSTALLDIR=$HOME
    358    SYSINSTALLDIR=/usr/bin/
    359    JOB_TEMPLATE=''
    360    CONTROLFILE='CONTROL_EA5'
    361    ...
    362 
    363 
    364 Afterwards, type:
    365 
    366 .. code-block:: bash
    367 
    368    $ sudo ./setup_local.sh
    369    
    370 to start the installation. You should see the following standard output.
    371 
    372 .. code-block:: bash
    373 
    374         Flex_extract will be installed in <$HOME>
    375         Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2
    376 
    377         Using makefile: makefile_local_gfortran
    378         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./rwgrib2.f90
    379         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./phgrreal.f90
    380         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./grphreal.f90
    381         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./ftrafo.f90
    382         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./calc_etadot.f90
    383         /usr/local/bin/gfortran   -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian   -c     ./posnam.f90
    384         /usr/local/bin/gfortran  rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o -o calc_etadot_fast.out  -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -fopenmp
    385         ln -sf calc_etadot_fast.out calc_etadot
    386 
    387         lrwxrwxrwx. 1 <username> tmc 20 27. Okt 23:25 ./calc_etadot -> calc_etadot_fast.out
    388         SUCCESS: INSTALLATION FINISHED!
    389 
    390 
    391 You can now change into the user directory specified in ``INSTALLDIR`` and find a ``flex_extract_vX.X`` directory there.
  • README.md

    r037f7bb re70c85f  
    33`flex_extract` is a software package to support retrieving meteorological fields from the European Centre for Medium-Range Weather Forecasts' (ECMWF) Meteorological Archival and Retrieval System (MARS) as input for the `FLEXTRA`/`FLEXPART` Atmospheric Transport Modelling system.
    44
    5 `FLEXPART` ("FLEXible PARTicle dispersion model", http://flexpart.eu) is a Lagrangian transport and dispersion model suitable for the simulation of a large range of atmospheric transport processes.
     5`FLEXPART` (“FLEXible PARTicle dispersion model”, http://flexpart.eu) is a Lagrangian transport and dispersion model suitable for the simulation of a large range of atmospheric transport processes.
    66
    77
     
    1717## Authors
    1818
    19 Anne Tipka (formerly Philipp), Leopold Haimberger and Petra Seibert
     19Anne Philipp, Leopold Haimberger and Petra Seibert
    2020
    2121## License
    22     (C) Copyright 2014-2020.
     22    (C) Copyright 2014-2019.
    2323
    2424    SPDX-License-Identifier: CC-BY-4.0
     
    2828    http://creativecommons.org/licenses/by/4.0/ or send a letter to
    2929    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
    30 
  • Run/run_local.sh

    r47be2684 r98f09d2  
    1212#
    1313# @Licence:
    14 #    (C) Copyright 2014-2020.
     14#    (C) Copyright 2014-2019.
    1515#
    1616#    SPDX-License-Identifier: CC-BY-4.0
  • Source/Python/Classes/ControlFile.py

    r75db9b0 r0a75335  
    2121#   June 2020 - Anne Philipp
    2222#        - update default makefile to None
    23 #   August 2020 - Leopold Haimberger
    24 #        - added a class parameter for system installation path
    2523#
    2624# @License:
     
    406404        self.exedir = _config.PATH_FORTRAN_SRC
    407405        self.installdir = None
    408         self.sysinstalldir = None
    409406        self.makefile = None
    410407        self.destination = None
  • Source/Python/Mods/tools.py

    r75db9b0 r026b359  
    2222#          put_file_to_ecserver, submit_job_to_ecserver, get_informations,
    2323#          get_dimensions, execute_subprocess, none_or_int, none_or_str
    24 #
    25 #    August 2020 - Leopold Haimberger (University of Vienna)
    26 #        - added function to check if a specific string is in a file
    27 #        - added function to overwrite lines in a file which contain specific string
    2824#
    2925# @License:
     
    253249                        type=none_or_str, default=None,
    254250                        help='The name of the ECMWF server name where the'
    255                         'job script is to be submitted '
     251                        'job script is to be submitted ' 
    256252                        '(e.g. ecgate | cca | ccb)')
    257253
     
    628624    '''Creates a directory.
    629625
    630     If the directory already exists, an information is printed and the creation
     626    If the directory already exists, an information is printed and the creation 
    631627    skipped. The program stops only if there is another problem.
    632628
     
    860856    ----------
    861857    cmd_list : list of str
    862         A list of the components for the command line execution.
    863         They will be concatenated with blank space for the command
     858        A list of the components for the command line execution. 
     859        They will be concatenated with blank space for the command 
    864860        to be submitted, like ['mv', file1, file2] for mv file1 file2.
    865861
     
    914910
    915911    return start_period, end_period
    916 
    917 
    918 def check_for_string_in_file(filepath, search_string):
    919     """
    920     Search for a specific string in a file and return True if
    921     the string was found.
    922 
    923     Parameters
    924     ----------
    925     filepath : str
    926         The full file path which is to be examined.
    927 
    928     search_string : str
    929         The string which is looked up for in the file.
    930 
    931     Return
    932     ------
    933     Boolean :
    934         True : String was found
    935         False : String was not found
    936     """
    937     with open(filepath, 'r') as fio:
    938         for line in fio:
    939             if search_string in line:
    940                 return True
    941     return False
    942 
    943 
    944 def overwrite_lines_in_file(filepath, search_string, sub_string):
    945     """
    946     Overwrites lines which contain the given search string with the
    947     substitution string.
    948 
    949     Parameters
    950     ----------
    951     search_string : str
    952         The string which is looked up for in the file.
    953 
    954     sub_string : str
    955         The string which overwrites the search string.
    956 
    957     Return
    958     ------
    959     """
    960     with open(filepath, 'r') as fio:
    961         data = fio.readlines()
    962 
    963     with open(filepath, 'w') as fio:
    964         for line in data:
    965             if search_string in line:
    966                 fio.write(sub_string)
    967             else:
    968                 fio.write(line)
    969 
    970     return
    971 
  • Source/Python/_config.py

    r75db9b0 r0a75335  
    99#      June 2020 - Anne Philipp
    1010#         - changed template filenames to .template
    11 #      August 2020 - Leopold Haimberger
    12 #         - added another target for installation
    13 #         - added filename which will contain paths for system version     
    14 #         - checks if software runs in normal local mode or system local mode
    15 #           and defines paths to user directory and executable paths   
    1611#
    1712# @License:
     
    4338# ------------------------------------------------------------------------------
    4439
    45 _VERSION_STR = '7.1.2_ctbto'
     40_VERSION_STR = '7.1.2'
    4641
    4742FLAG_ON_ECMWFSERVER = 'ecgb' in platform.node()
     
    4944QUEUES_LIST = ['ecgate', 'cca', 'ccb']
    5045
    51 INSTALL_TARGETS = ['local', 'syslocal', 'ecgate', 'cca', 'ccb']
     46INSTALL_TARGETS = ['local', 'ecgate', 'cca', 'ccb']
    5247
    5348CDS_DATASET_ML = 'reanalysis-era5-complete'
     
    7570FILE_GRIB_INDEX = 'date_time_stepRange.idx'
    7671FILE_GRIBTABLE = 'ecmwf_grib1_table_128'
    77 FILE_SYS_CONFIG = '.setup.rc'
    7872
    7973# ------------------------------------------------------------------------------
     
    8579
    8680# ------------------------------------------------------------------------------
    87 LOAD ENVIRONMENT VARIABLES FOR SYS VERSION; IF NECESSARRY
     81PATHES
    8882# ------------------------------------------------------------------------------
    8983
     
    9589if PATH_LOCAL_PYTHON not in sys.path:
    9690    sys.path.append(PATH_LOCAL_PYTHON)
    97 
    98 # ------------------------------------------------------------------------------
    99 #  PATHES
    100 # ------------------------------------------------------------------------------
    101 
    10291PATH_FLEXEXTRACT_DIR = os.path.normpath(os.path.dirname(os.path.abspath(
    10392    inspect.getfile(inspect.currentframe()))) + '/../../')
    104 if not os.path.isdir(os.path.join(PATH_FLEXEXTRACT_DIR,'Run')):
    105     # if it does not exist, we have a system installation in place
    106     # we need to have a sys and user path
    107     # configure correct system path
    108     PATH_SYSTEM_DIR = os.path.join(PATH_FLEXEXTRACT_DIR, FLEXEXTRACT_DIRNAME)
    109     # configure correct user path
    110     PATH_FLEXEXTRACT_DIR = os.environ.get('FLEXEXTRACT_USER_DIR')
    111 else:
    112     PATH_SYSTEM_DIR = PATH_FLEXEXTRACT_DIR
    113 
    11493PATH_RUN_DIR = os.path.join(PATH_FLEXEXTRACT_DIR, 'Run')
    115 PATH_SOURCES = os.path.join(PATH_SYSTEM_DIR, 'Source')
     94PATH_SOURCES = os.path.join(PATH_FLEXEXTRACT_DIR, 'Source')
    11695PATH_TEMPLATES = os.path.join(PATH_FLEXEXTRACT_DIR, 'Templates')
    11796PATH_ECMWF_ENV = os.path.join(PATH_RUN_DIR, FILE_USER_ENVVARS)
    11897PATH_GRIBTABLE = os.path.join(PATH_TEMPLATES, FILE_GRIBTABLE)
    11998PATH_JOBSCRIPTS = os.path.join(PATH_RUN_DIR, 'Jobscripts')
    120 if os.path.isdir(os.path.join(PATH_SYSTEM_DIR,'Fortran')):
    121     PATH_FORTRAN_SRC = PATH_SYSTEM_DIR
    122 else:
    123     PATH_FORTRAN_SRC = os.path.join(PATH_SOURCES, 'Fortran')
     99PATH_FORTRAN_SRC = os.path.join(PATH_SOURCES, 'Fortran')
    124100PATH_PYTHONTEST_SRC = os.path.join(PATH_SOURCES, 'Pythontest')
    125101PATH_INPUT_DIR = os.path.join(PATH_RUN_DIR, INPUT_DIRNAME_DEFAULT)
  • Source/Python/install.py

    r75db9b0 r8028176  
    1919#    June 2020 - Anne Philipp
    2020#        - renamed "convert" functions to "fortran" functions
    21 #        - reconfigured mk_tarball to select *.template files instead
     21#        - reconfigured mk_tarball to select *.template files instead 
    2222#          of *.nl and *.temp
    2323#        - added check for makefile settings
    24 #    August 2020 - Leopold Haimberger
    25 #        - added a new installation section for system installation (if-else block)
    26 #        - read new argument from command line
    27 #        - write .setup.rc for a system installation into Run directory
    28 #        - copy executables to system path and user files to user path
    2924#
    3025# @License:
     
    8075import subprocess
    8176import tarfile
    82 import shutil
    8377from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
    8478
     
    8882from Classes.UioFiles import UioFiles
    8983from Mods.tools import (make_dir, put_file_to_ecserver, submit_job_to_ecserver,
    90                         silent_remove, execute_subprocess, none_or_str,
    91                         overwrite_lines_in_file, check_for_string_in_file)
     84                        silent_remove, execute_subprocess, none_or_str)
    9285
    9386# ------------------------------------------------------------------------------
     
    110103    check_install_conditions(c)
    111104
    112     if c.install_target.lower() not in ['local', 'syslocal']: # ecgate or cca
     105    if c.install_target.lower() != 'local': # ecgate or cca
    113106        install_via_gateway(c)
    114107    else: # local
    115108        install_local(c)
    116109
    117     print("SUCCESS: INSTALLATION FINISHED!")
    118 
    119110    return
    120111
     
    137128    parser.add_argument('--target', dest='install_target',
    138129                        type=none_or_str, default=None,
    139                         help="Valid targets: syslocal | local | ecgate | cca , \
     130                        help="Valid targets: local | ecgate | cca , \
    140131                        the latter two are at ECMWF")
    141132    parser.add_argument("--makefile", dest="makefile",
     
    159150    parser.add_argument("--installdir", dest="installdir",
    160151                        type=none_or_str, default=None,
    161                         help='Root (user) directory of the '
     152                        help='Root directory of the '
    162153                        'flex_extract installation')
    163     parser.add_argument("--sysinstalldir", dest="sysinstalldir",
    164                         type=none_or_str, default=None,
    165                         help='System installation path; where '
    166                         'executables are stored.')
    167154
    168155    # arguments for job submission to ECMWF, only needed by submit.py
     
    241228                            _config.FLEXEXTRACT_DIRNAME + '.tar')
    242229
    243     c.installdir = os.path.abspath(os.path.expandvars(os.path.expanduser(
    244                 c.installdir)))
    245     c.sysinstalldir = os.path.abspath(os.path.expandvars(os.path.expanduser(
    246         c.sysinstalldir)))
    247 
    248     # this is standard installation into a single directory
    249     if c.install_target == 'local':
    250 
    251         # installation into the current directory
    252         if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.installdir:
    253             print('WARNING: installdir has not been specified')
    254             print('flex_extract will be installed in current dir by compiling the ' +
    255                   'Fortran source in ' + _config.PATH_FORTRAN_SRC)
    256             os.chdir(_config.PATH_FORTRAN_SRC)
    257         # installation into a different path
    258         elif os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) != c.installdir :
    259 
    260             # creates the target working directory for flex_extract
     230    if c.installdir == _config.PATH_FLEXEXTRACT_DIR:
     231        print('WARNING: installdir has not been specified')
     232        print('flex_extract will be installed in here by compiling the ' +
     233              'Fortran source in ' + _config.PATH_FORTRAN_SRC)
     234        os.chdir(_config.PATH_FORTRAN_SRC)
     235    else: # creates the target working directory for flex_extract
     236        c.installdir = os.path.expandvars(os.path.expanduser(
     237            c.installdir))
     238        if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) != \
     239           os.path.abspath(c.installdir):
    261240            mk_tarball(tar_file, c.install_target)
    262241            make_dir(os.path.join(c.installdir,
     
    269248                                  _config.PATH_REL_FORTRAN_SRC))
    270249
    271         # Create Fortran executable
    272         print('Install ' +  _config.FLEXEXTRACT_DIRNAME + ' software at ' +
    273               c.install_target + ' in directory ' + c.installdir + '\n')
    274 
    275         del_fortran_build('.')
    276         mk_fortran_build('.', c.makefile)
    277         os.chdir('../../')
    278         # make sure that the correct calling of submit.py script is in run_local.sh
    279         overwrite_lines_in_file('Run/run_local.sh',
    280                                 'pyscript=', 'pyscript=../Source/Python/submit.py\n')
    281 
    282     # this is system installation were executables and user files are separated
    283     elif c.install_target == 'syslocal':
    284         if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.sysinstalldir :
    285             sys.exit('ERROR: System installation path is equal to user '
    286                      'installation path.\n Please change either the system '
    287                      'installation path or use installation target "local".')
    288         if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.installdir :
    289             print('Flex_extract will be installed in current directory!')
    290         else: # install user part in different dir
    291             print('Flex_extract will be installed in ' + c.installdir )
    292 
    293             c.installdir = os.path.join(c.installdir,_config.FLEXEXTRACT_DIRNAME)
    294             if os.path.isdir(c.installdir):
    295                 shutil.rmtree(c.installdir)
    296 
    297             # copy all files except Python and Fortranfiles to this dir
    298             shutil.copytree(_config.PATH_FLEXEXTRACT_DIR,
    299                             c.installdir, symlinks=True)
    300             shutil.rmtree(os.path.join(c.installdir,'Source'))
    301             shutil.rmtree(os.path.join(c.installdir,'.git'))
    302             for x in UioFiles(c.installdir, '*~').files:
    303                 silent_remove(x)
    304 
    305             os.remove(os.path.join(c.installdir,'setup.sh'))
    306             os.remove(os.path.join(c.installdir,'setup_local.sh'))
    307 
    308         # configure run_local script correctly
    309         # check if source of system config file is already in run_local.sh,
    310         # if not, add it
    311         if not check_for_string_in_file(os.path.join(c.installdir,'Run/run_local.sh'),
    312                                  'source .setup.rc'):
    313             overwrite_lines_in_file(os.path.join(c.installdir,'Run/run_local.sh'),
    314                                     '# PATH TO SUBMISSION SCRIPT',
    315                                     '# PATH TO SUBMISSION SCRIPT\nsource '+_config.FILE_SYS_CONFIG+'\n')
    316         # make sure that the correct calling of submit.py script is in run_local.sh
    317         overwrite_lines_in_file(os.path.join(c.installdir,'Run/run_local.sh'),
    318                                 'pyscript=', 'pyscript=submit.py\n')
    319 
    320         # change permission for file to executable
    321         execute_subprocess(['chmod', '0775',
    322                             os.path.join(os.path.abspath(c.installdir),'Run/run_local.sh')])
    323 
    324 
    325         # create systemdir
    326         c.sysinstalldir = os.path.join(c.sysinstalldir,_config.FLEXEXTRACT_DIRNAME)
    327         if os.path.isdir(c.sysinstalldir):
    328             shutil.rmtree(c.sysinstalldir)
    329 
    330         # create setup file for running flex_extract with system installation
    331         with open(os.path.join(os.path.abspath(c.installdir),'Run/.setup.rc'),'w') as fio:
    332             fio.write('#!/bin/bash \n')
    333             fio.write('export FLEXEXTRACT_USER_DIR='+os.path.abspath(c.installdir)+'\n')
    334             fio.write('export PATH='+os.path.abspath(c.sysinstalldir)+'/Python:${PATH}\n')
    335             fio.write('export PATH='+os.path.abspath(c.sysinstalldir)+':${PATH}\n')
    336 
    337         # copy all Python and Fortranfiles to this dir
    338         shutil.copytree(_config.PATH_SOURCES, c.sysinstalldir, symlinks=True)
    339 
    340         os.chdir(os.path.join(c.sysinstalldir,'Fortran'))
    341         # Create Fortran executable
    342         print('Install ' +  _config.FLEXEXTRACT_DIRNAME + ' software as ' +
    343               c.install_target + ' in directory ' +
    344               os.path.abspath(c.sysinstalldir) + '\n')
    345 
    346         del_fortran_build('.')
    347         mk_fortran_build('.', c.makefile)
    348 
    349         outfile = [x for x in UioFiles('.','*.out').files]
    350         test=os.path.join(c.sysinstalldir,'calc_etadot')
    351         if len(outfile) != 1:
    352             print('WARNING: Multiple executables for Fortran code are available!')
    353         # move executable one dir up and delete Fortran dir
    354         os.chdir('..')
    355         shutil.move(outfile[0], os.path.join(c.sysinstalldir,'calc_etadot'))
    356         shutil.rmtree(os.path.join(os.path.abspath(c.sysinstalldir),'Fortran'))
     250    # Create Fortran executable
     251    print('Install ' +  _config.FLEXEXTRACT_DIRNAME + ' software at ' +
     252          c.install_target + ' in directory ' +
     253          os.path.abspath(c.installdir) + '\n')
     254
     255    del_fortran_build('.')
     256    mk_fortran_build('.', c.makefile)
    357257
    358258    os.chdir(_config.PATH_FLEXEXTRACT_DIR)
     
    389289        sys.exit(1)
    390290
    391     if c.install_target and c.install_target not in ['local', 'syslocal']:
     291    if c.install_target and c.install_target != 'local':
    392292        if not c.ecgid or not c.ecuid:
    393293            print('Please enter your ECMWF user id and group id '
     
    405305        if not c.installdir:
    406306            c.installdir = '${HOME}'
    407     elif c.install_target == 'local':
     307    else: # local
    408308        if not c.installdir:
    409309            c.installdir = _config.PATH_FLEXEXTRACT_DIR
    410     elif c.install_target == 'syslocal':
    411         if not c.installdir:
    412             c.installdir = _config.PATH_FLEXEXTRACT_DIR
    413         if not c.sysinstalldir:
    414             print('ERROR: System installation was selected but '
    415                   'no system installation path was defined.')
    416             sys.exit()
    417310
    418311    if not c.makefile:
     
    430323        else:
    431324            pass
    432 
     325       
    433326    return
    434327
     
    822715        print(e)
    823716    else:
    824         execute_subprocess(['ls', '-l',
     717        execute_subprocess(['ls', '-l', 
    825718                            os.path.join(src_path, _config.FORTRAN_EXECUTABLE)],
    826719                           error_msg='FORTRAN EXECUTABLE COULD NOT BE FOUND!')
  • Source/Python/submit.py

    r47be2684 ra916e8f  
    114114    else:
    115115        submit(job_template, c, queue)
    116         exit_message = 'FLEX_EXTRACT JOB SCRIPT IS SUBMITTED!'
     116        exit_message = 'FLEX_EXTRACT JOB SCRIPT IS SUBMITED!'
    117117
    118118    normal_exit(exit_message)
  • setup_local.sh

    r75db9b0 r98f09d2  
    1010#    python installation script. It also does some checks to
    1111#    guarantee necessary parameters were set.
    12 #
    13 # @History:
    14 #    Leopold Haimberger; Aug 2020
    15 #       added new parameter for a system installation
    16 #       (seperate executable and user directories)
    1712#
    1813# @Licence:
     
    3833DESTINATION='<name>@genericSftp'
    3934INSTALLDIR=None
    40 SYSINSTALLDIR=None
    4135JOB_TEMPLATE=''
    4236CONTROLFILE='CONTROL_CERA'
     
    8276  parameterlist+=" --makefile=$MAKEFILE"
    8377fi
    84 if [ -n "$INSTALLDIR" ]; then
    85   parameterlist+=" --installdir=$INSTALLDIR"
    86 fi
    87 if [ -n "$SYSINSTALLDIR" ]; then
    88   parameterlist+=" --sysinstalldir=$SYSINSTALLDIR"
     78if [ -n "$FLEXPARTDIR" ]; then # not empty
     79  parameterlist+=" --flexpartdir=$FLEXPARTDIR"
    8980fi
    9081if [ -n "$JOB_TEMPLATE" ]; then
     
    10091$script $parameterlist
    10192
    102 
    103 
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG