diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9a1c4c7aa0219937ffbdd02aff9494e022f84cd4
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,11 @@
+image: python:3.7-alpine
+
+pages:
+  stage: deploy
+  script:
+  - cp -r Documentation/html public
+  artifacts:
+    paths:
+    - public
+  only:
+  - master
diff --git a/Documentation/html/Documentation/Api/api_python.html b/Documentation/html/Documentation/Api/api_python.html
index ddf3bf648c45021210910aaad608241f858e1371..311ac81e9118000d01ab5e6657bde52cd506fb44 100644
--- a/Documentation/html/Documentation/Api/api_python.html
+++ b/Documentation/html/Documentation/Api/api_python.html
@@ -2492,6 +2492,28 @@ command line.</p></li>
 <div class="section" id="module-tools">
 <span id="tools"></span><h3><a class="toc-backref" href="#id15">tools</a><a class="headerlink" href="#module-tools" title="Permalink to this headline">¶</a></h3>
 <p>This module contains a collection of diverse tasks within flex_extract.</p>
+<dl class="function">
+<dt id="tools.check_for_string_in_file">
+<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>
+<dd><p>Search for a specific string in a file and return True if
+the string was found.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>filepath</strong> (<em>str</em>) – The full file path which is to be examined.</p></li>
+<li><p><strong>search_string</strong> (<em>str</em>) – The string which is looked up for in the file.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns</dt>
+<dd class="field-even"><p>True : String was found
+False : String was not found</p>
+</dd>
+<dt class="field-odd">Return type</dt>
+<dd class="field-odd"><p>Boolean</p>
+</dd>
+</dl>
+</dd></dl>
+
 <dl class="function">
 <dt id="tools.clean_up">
 <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>
@@ -2735,6 +2757,21 @@ then the Python type None is returned, otherwise the string itself.</p>
 </dl>
 </dd></dl>
 
+<dl class="function">
+<dt id="tools.overwrite_lines_in_file">
+<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>
+<dd><p>Overwrites lines which contain the given search string with the
+substitution string.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters</dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>search_string</strong> (<em>str</em>) – The string which is looked up for in the file.</p></li>
+<li><p><strong>sub_string</strong> (<em>str</em>) – The string which overwrites the search string.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
 <dl class="function">
 <dt id="tools.product">
 <code class="sig-prename descclassname">tools.</code><code class="sig-name descname">product</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwds</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/tools.html#product"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.product" title="Permalink to this definition">¶</a></dt>
diff --git a/Documentation/html/Documentation/Input/setup.html b/Documentation/html/Documentation/Input/setup.html
index 044f102e9e638c1ac74ec4047173a665177102fe..0a3f215761d74543c2e7d9c3e6e087b44b9f1ea8 100644
--- a/Documentation/html/Documentation/Input/setup.html
+++ b/Documentation/html/Documentation/Input/setup.html
@@ -234,9 +234,9 @@ It calls the top-level Python script <code class="docutils literal notranslate">
 <tbody>
 <tr class="row-even"><td><p>TARGET</p></td>
 <td><p>String</p></td>
-<td><p>local, ecgate, cca, ccb</p></td>
+<td><p>local, syslocal, ecgate, cca, ccb</p></td>
 <td><p>None</p></td>
-<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>
+<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>
 </tr>
 <tr class="row-odd"><td><p>MAKEFILE</p></td>
 <td><p>String</p></td>
@@ -274,13 +274,19 @@ It calls the top-level Python script <code class="docutils literal notranslate">
 <td><p>$HOME on ECMWF server and current flex_extract root path on local machine</p></td>
 <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>
 </tr>
-<tr class="row-odd"><td><p>JOB_TEMPLATE</p></td>
+<tr class="row-odd"><td><p>SYSINSTALLDIR</p></td>
+<td><p>String</p></td>
+<td><p>a full path </p></td>
+<td><p>None</p></td>
+<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>
+</tr>
+<tr class="row-even"><td><p>JOB_TEMPLATE</p></td>
 <td><p>String</p></td>
 <td><p>installscript.template</p></td>
 <td><p>installscript.template</p></td>
 <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>
 </tr>
-<tr class="row-even"><td><p>CONTROLFILE</p></td>
+<tr class="row-odd"><td><p>CONTROLFILE</p></td>
 <td><p>String</p></td>
 <td><p>any CONTROL file</p></td>
 <td><p>CONTROL_EA5</p></td>
@@ -401,6 +407,7 @@ we see again all possible command line parameters.</p>
 usage: install.py <span class="o">[</span>-h<span class="o">]</span> <span class="o">[</span>--target INSTALL_TARGET<span class="o">]</span> <span class="o">[</span>--makefile MAKEFILE<span class="o">]</span>
               <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>
               <span class="o">[</span>--destination DESTINATION<span class="o">]</span> <span class="o">[</span>--installdir INSTALLDIR<span class="o">]</span>
+              <span class="o">[</span>--sysinstalldir SYSINSTALLDIR<span class="o">]</span>
               <span class="o">[</span>--job_template JOB_TEMPLATE<span class="o">]</span> <span class="o">[</span>--controlfile CONTROLFILE<span class="o">]</span>
 
 Install flex_extract software locally or on ECMWF machines
@@ -408,7 +415,7 @@ Install flex_extract software locally or on ECMWF machines
 optional arguments:
   -h, --help            show this <span class="nb">help</span> message and <span class="nb">exit</span>
   --target INSTALL_TARGET
-                        Valid targets: <span class="nb">local</span> <span class="p">|</span> ecgate <span class="p">|</span> cca , the latter two
+                        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
                         are at ECMWF <span class="o">(</span>default: None<span class="o">)</span>
   --makefile MAKEFILE   Name of makefile to compile the Fortran
                         code. <span class="o">(</span>default depends on <span class="sb">`</span>target<span class="sb">`</span>: <span class="nb">local</span> - makefile_local_gfortran,
@@ -422,6 +429,9 @@ optional arguments:
   --installdir INSTALLDIR
                         Root directory where flex_extract will be installed
                         to. <span class="o">(</span>default: None<span class="o">)</span>
+  --sysinstalldir SYSINSTALLDIR
+                        System installation path<span class="p">;</span> where executables are
+                        stored. <span class="o">(</span>default: None<span class="o">)</span>
   --job_template JOB_TEMPLATE
                         The rudimentary template file to create a batch job
                         template <span class="k">for</span> submission to ECMWF servers. <span class="o">(</span>default:
diff --git a/Documentation/html/Installation/local.html b/Documentation/html/Installation/local.html
index e15f365863c01a6bf3966ced27de745aa566e539..244a0d730301938b84f54b25a94fa6680b18dcec 100644
--- a/Documentation/html/Installation/local.html
+++ b/Documentation/html/Installation/local.html
@@ -103,6 +103,7 @@
 <li class="toctree-l4"><a class="reference internal" href="#preparing-the-local-environment">Preparing the local environment</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#testing-the-local-environment">Testing the local environment</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#local-installation">Local installation</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#local-system-installation">Local system installation</a></li>
 </ul>
 </li>
 </ul>
@@ -394,14 +395,14 @@ and then install the <code class="docutils literal notranslate"><span class="pre
 <span id="ref-install-local"></span><h2>Local installation<a class="headerlink" href="#local-installation" title="Permalink to this headline">¶</a></h2>
 <p>The Fortran program called <code class="docutils literal notranslate"><span class="pre">calc_etadot</span></code> will be compiled during the
 installation process. A suitable makefile (<code class="docutils literal notranslate"><span class="pre">makefile_local_gfortran</span></code>) for the compilation is set by default.
-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.sh</span></code>.</p>
-<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>
+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>
+<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>
 For 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>
-<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
+<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
 with an editor and adapt the installation parameters in the section labelled with
 “AVAILABLE COMMANDLINE ARGUMENTS TO SET” as shown below:</p>
-<div class="literal-block-wrapper docutils container" id="setup-sh">
-<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>
+<div class="literal-block-wrapper docutils container" id="setup-local-sh">
+<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>
 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>...
 <span class="c1"># -----------------------------------------------------------------</span>
 <span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span>
@@ -415,6 +416,7 @@ with an editor and adapt the installation parameters in the section labelled wit
 <span class="nv">GATEWAY</span><span class="o">=</span>None
 <span class="nv">DESTINATION</span><span class="o">=</span>None
 <span class="nv">INSTALLDIR</span><span class="o">=</span>None
+<span class="nv">SYSINSTALLDIR</span><span class="o">=</span>None
 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_EA5&#39;</span>
 ...
@@ -422,11 +424,11 @@ with an editor and adapt the installation parameters in the section labelled wit
 </div>
 </div>
 <p>Afterwards, type:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup.sh
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup_local.sh
 </pre></div>
 </div>
 <p>to start the installation. You should see the following standard output.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup_local.sh</span>
 WARNING: installdir has not been specified
 flex_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
 Install flex_extract_v7.1 software at <span class="nb">local</span> in directory &lt;path-to-flex_extract&gt;/flex_extract_v7.1
@@ -445,6 +447,58 @@ lrwxrwxrwx. <span class="m">1</span> &lt;username&gt; tmc <span class="m">20</sp
 </pre></div>
 </div>
 </div>
+<div class="section" id="local-system-installation">
+<h2>Local system installation<a class="headerlink" href="#local-system-installation" title="Permalink to this headline">¶</a></h2>
+<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.
+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>.
+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>
+<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>
+<div class="literal-block-wrapper docutils container" id="id1">
+<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>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>...
+<span class="c1"># -----------------------------------------------------------------</span>
+<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span>
+<span class="c1">#</span>
+<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span>
+<span class="c1">#</span>
+<span class="nv">TARGET</span><span class="o">=</span><span class="s1">&#39;syslocal&#39;</span>
+<span class="nv">MAKEFILE</span><span class="o">=</span>&lt;name_of_your_makefile&gt;
+<span class="nv">ECUID</span><span class="o">=</span>None
+<span class="nv">ECGID</span><span class="o">=</span>None
+<span class="nv">GATEWAY</span><span class="o">=</span>None
+<span class="nv">DESTINATION</span><span class="o">=</span>None
+<span class="nv">INSTALLDIR</span><span class="o">=</span><span class="nv">$HOME</span>
+<span class="nv">SYSINSTALLDIR</span><span class="o">=</span>/usr/bin/
+<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
+<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_EA5&#39;</span>
+...
+</pre></div>
+</div>
+</div>
+<p>Afterwards, type:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ sudo ./setup_local.sh
+</pre></div>
+</div>
+<p>to start the installation. You should see the following standard output.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>Flex_extract will be installed in &lt;<span class="nv">$HOME</span>&gt;
+Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2
+
+Using makefile: makefile_local_gfortran
+/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
+/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
+/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
+/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
+/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
+/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
+/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
+ln -sf calc_etadot_fast.out calc_etadot
+
+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
+SUCCESS: INSTALLATION FINISHED!
+</pre></div>
+</div>
+<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>
+</div>
 </div>
 
 
diff --git a/Documentation/html/_modules/ControlFile.html b/Documentation/html/_modules/ControlFile.html
index cce975fb272c3c6ad2e3cf43da7bcc1a94ffeca7..349d7b400a83195702ab89792f1e6aff77e5f475 100644
--- a/Documentation/html/_modules/ControlFile.html
+++ b/Documentation/html/_modules/ControlFile.html
@@ -182,6 +182,8 @@
 <span class="c1">#        - outsourced the commandline argument assignments to control attributes</span>
 <span class="c1">#   June 2020 - Anne Philipp</span>
 <span class="c1">#        - update default makefile to None</span>
+<span class="c1">#   August 2020 - Leopold Haimberger</span>
+<span class="c1">#        - added a class parameter for system installation path</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
 <span class="c1">#    (C) Copyright 2014-2020.</span>
@@ -565,6 +567,7 @@
         <span class="bp">self</span><span class="o">.</span><span class="n">flexextractdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span>
         <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>
         <span class="bp">self</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="kc">None</span>
+        <span class="bp">self</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">makefile</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">destination</span> <span class="o">=</span> <span class="kc">None</span>
         <span class="bp">self</span><span class="o">.</span><span class="n">gateway</span> <span class="o">=</span> <span class="kc">None</span>
diff --git a/Documentation/html/_modules/install.html b/Documentation/html/_modules/install.html
index 2c18a49a2efd7d92160580fa102f095fbb0d50f2..9bf89f534be34da421318ea262955f923d86969b 100644
--- a/Documentation/html/_modules/install.html
+++ b/Documentation/html/_modules/install.html
@@ -180,9 +180,14 @@
 <span class="c1">#        - use of tarfile package in python</span>
 <span class="c1">#    June 2020 - Anne Philipp</span>
 <span class="c1">#        - renamed &quot;convert&quot; functions to &quot;fortran&quot; functions</span>
-<span class="c1">#        - reconfigured mk_tarball to select *.template files instead </span>
+<span class="c1">#        - reconfigured mk_tarball to select *.template files instead</span>
 <span class="c1">#          of *.nl and *.temp</span>
 <span class="c1">#        - added check for makefile settings</span>
+<span class="c1">#    August 2020 - Leopold Haimberger</span>
+<span class="c1">#        - added a new installation section for system installation (if-else block)</span>
+<span class="c1">#        - read new argument from command line</span>
+<span class="c1">#        - write .setup.rc for a system installation into Run directory</span>
+<span class="c1">#        - copy executables to system path and user files to user path</span>
 <span class="c1">#</span>
 <span class="c1"># @License:</span>
 <span class="c1">#    (C) Copyright 2014-2020.</span>
@@ -236,6 +241,7 @@
 <span class="kn">import</span> <span class="nn">sys</span>
 <span class="kn">import</span> <span class="nn">subprocess</span>
 <span class="kn">import</span> <span class="nn">tarfile</span>
+<span class="kn">import</span> <span class="nn">shutil</span>
 <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>
 
 <span class="c1"># software specific classes and modules from flex_extract</span>
@@ -243,7 +249,8 @@
 <span class="kn">from</span> <span class="nn">Classes.ControlFile</span> <span class="kn">import</span> <span class="n">ControlFile</span>
 <span class="kn">from</span> <span class="nn">Classes.UioFiles</span> <span class="kn">import</span> <span class="n">UioFiles</span>
 <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>
-                        <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>
+                        <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>
+                        <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>
 
 <span class="c1"># ------------------------------------------------------------------------------</span>
 <span class="c1"># FUNCTIONS</span>
@@ -264,11 +271,13 @@
     <span class="n">c</span><span class="o">.</span><span class="n">assign_args_to_control</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
     <span class="n">check_install_conditions</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
 
-    <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>
+    <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>
         <span class="n">install_via_gateway</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
     <span class="k">else</span><span class="p">:</span> <span class="c1"># local</span>
         <span class="n">install_local</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
 
+    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;SUCCESS: INSTALLATION FINISHED!&quot;</span><span class="p">)</span>
+
     <span class="k">return</span></div>
 
 <div class="viewcode-block" id="get_install_cmdline_args"><a class="viewcode-back" href="../Documentation/Api/api_python.html#install.get_install_cmdline_args">[docs]</a><span class="k">def</span> <span class="nf">get_install_cmdline_args</span><span class="p">():</span>
@@ -289,7 +298,7 @@
 
     <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>
                         <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>
-                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Valid targets: local | ecgate | cca , </span><span class="se">\</span>
+                        <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Valid targets: syslocal | local | ecgate | cca , </span><span class="se">\</span>
 <span class="s2">                        the latter two are at ECMWF&quot;</span><span class="p">)</span>
     <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>
                         <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>
@@ -311,8 +320,12 @@
 
     <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>
                         <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>
-                        <span class="n">help</span><span class="o">=</span><span class="s1">&#39;Root directory of the &#39;</span>
+                        <span class="n">help</span><span class="o">=</span><span class="s1">&#39;Root (user) directory of the &#39;</span>
                         <span class="s1">&#39;flex_extract installation&#39;</span><span class="p">)</span>
+    <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>
+                        <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>
+                        <span class="n">help</span><span class="o">=</span><span class="s1">&#39;System installation path; where &#39;</span>
+                        <span class="s1">&#39;executables are stored.&#39;</span><span class="p">)</span>
 
     <span class="c1"># arguments for job submission to ECMWF, only needed by submit.py</span>
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--job_template&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s1">&#39;job_template&#39;</span><span class="p">,</span>
@@ -389,16 +402,24 @@
     <span class="n">tar_file</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">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">,</span>
                             <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>
 
-    <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>
-        <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>
-        <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>
-              <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>
-        <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>
-    <span class="k">else</span><span class="p">:</span> <span class="c1"># creates the target working directory for flex_extract</span>
-        <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>
-            <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">))</span>
-        <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">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="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>
+                <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">)))</span>
+    <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>
+        <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)))</span>
+
+    <span class="c1"># this is standard installation into a single directory</span>
+    <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>
+
+        <span class="c1"># installation into the current directory</span>
+        <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>
+            <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>
+            <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>
+                  <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>
+            <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>
+        <span class="c1"># installation into a different path</span>
+        <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>
+
+            <span class="c1"># creates the target working directory for flex_extract</span>
             <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>
             <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>
                                   <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span><span class="p">))</span>
@@ -409,13 +430,92 @@
                                   <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span><span class="p">,</span>
                                   <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span>
 
-    <span class="c1"># Create Fortran executable</span>
-    <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>
-          <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">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>
-
-    <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
-    <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>
+        <span class="c1"># Create Fortran executable</span>
+        <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>
+              <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>
+
+        <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+        <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>
+        <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>
+        <span class="c1"># make sure that the correct calling of submit.py script is in run_local.sh</span>
+        <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>
+                                <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>
+
+    <span class="c1"># this is system installation were executables and user files are separated</span>
+    <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>
+        <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>
+            <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>
+                     <span class="s1">&#39;installation path.</span><span class="se">\n</span><span class="s1"> Please change either the system &#39;</span>
+                     <span class="s1">&#39;installation path or use installation target &quot;local&quot;.&#39;</span><span class="p">)</span>
+        <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>
+            <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>
+        <span class="k">else</span><span class="p">:</span> <span class="c1"># install user part in different dir</span>
+            <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>
+
+            <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>
+            <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>
+                <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>
+
+            <span class="c1"># copy all files except Python and Fortranfiles to this dir</span>
+            <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>
+                            <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>
+            <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>
+            <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>
+            <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>
+                <span class="n">silent_remove</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
+
+            <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>
+            <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>
+
+        <span class="c1"># configure run_local script correctly</span>
+        <span class="c1"># check if source of system config file is already in run_local.sh,</span>
+        <span class="c1"># if not, add it</span>
+        <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>
+                                 <span class="s1">&#39;source .setup.rc&#39;</span><span class="p">):</span>
+            <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>
+                                    <span class="s1">&#39;# PATH TO SUBMISSION SCRIPT&#39;</span><span class="p">,</span>
+                                    <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>
+        <span class="c1"># make sure that the correct calling of submit.py script is in run_local.sh</span>
+        <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>
+                                <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>
+
+        <span class="c1"># change permission for file to executable</span>
+        <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>
+                            <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>
+
+
+        <span class="c1"># create systemdir</span>
+        <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>
+        <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>
+            <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>
+
+        <span class="c1"># create setup file for running flex_extract with system installation</span>
+        <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>
+            <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>
+            <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>
+            <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>
+            <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>
+
+        <span class="c1"># copy all Python and Fortranfiles to this dir</span>
+        <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>
+
+        <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>
+        <span class="c1"># Create Fortran executable</span>
+        <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>
+              <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">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>
+
+        <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
+        <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>
+
+        <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>
+        <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>
+        <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>
+            <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>
+        <span class="c1"># move executable one dir up and delete Fortran dir</span>
+        <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>
+        <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>
+        <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>
 
     <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>
     <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">tar_file</span><span class="p">):</span>
@@ -450,7 +550,7 @@
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;use -h or --help for help&#39;</span><span class="p">)</span>
         <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>
 
-    <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>
+    <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>
         <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>
             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Please enter your ECMWF user id and group id &#39;</span>
                   <span class="s1">&#39; with command line options --ecuid --ecgid&#39;</span><span class="p">)</span>
@@ -466,9 +566,16 @@
                   <span class="s1">&#39;local gateway server possible!&#39;</span><span class="p">)</span>
         <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>
             <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>
-    <span class="k">else</span><span class="p">:</span> <span class="c1"># local</span>
+    <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>
+        <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>
+            <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="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>
         <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>
             <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="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>
+            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: System installation was selected but &#39;</span>
+                  <span class="s1">&#39;no system installation path was defined.&#39;</span><span class="p">)</span>
+            <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span>
 
     <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>
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: no makefile was specified.&#39;</span><span class="p">)</span>
@@ -484,7 +591,7 @@
             <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WARNING: default makefile selected: makefile_cray&#39;</span><span class="p">)</span>
         <span class="k">else</span><span class="p">:</span>
             <span class="k">pass</span>
-        
+
     <span class="k">return</span></div>
 
 
@@ -876,7 +983,7 @@
         <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;ERROR: makefile call failed:&#39;</span><span class="p">)</span>
         <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
     <span class="k">else</span><span class="p">:</span>
-        <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> 
+        <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>
                             <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>
                            <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>
 
diff --git a/Documentation/html/_modules/submit.html b/Documentation/html/_modules/submit.html
index 324208d8dfd77cfe279ee46d00bc4965bb02dd34..fb196102400c95cfd1e79d6949c365e3b14d899b 100644
--- a/Documentation/html/_modules/submit.html
+++ b/Documentation/html/_modules/submit.html
@@ -275,7 +275,7 @@
     <span class="c1"># send files to ECMWF server</span>
     <span class="k">else</span><span class="p">:</span>
         <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>
-        <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">&#39;FLEX_EXTRACT JOB SCRIPT IS SUBMITED!&#39;</span>
+        <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">&#39;FLEX_EXTRACT JOB SCRIPT IS SUBMITTED!&#39;</span>
 
     <span class="n">normal_exit</span><span class="p">(</span><span class="n">exit_message</span><span class="p">)</span>
 
diff --git a/Documentation/html/_modules/tools.html b/Documentation/html/_modules/tools.html
index 2bdf28aeb91309dc578c18a61e0b781820e87a03..59a13582655472fbcdaeb3c52c607a57ff30128a 100644
--- a/Documentation/html/_modules/tools.html
+++ b/Documentation/html/_modules/tools.html
@@ -184,6 +184,10 @@
 <span class="c1">#          put_file_to_ecserver, submit_job_to_ecserver, get_informations,</span>
 <span class="c1">#          get_dimensions, execute_subprocess, none_or_int, none_or_str</span>
 <span class="c1">#</span>
+<span class="c1">#    August 2020 - Leopold Haimberger (University of Vienna)</span>
+<span class="c1">#        - added function to check if a specific string is in a file</span>
+<span class="c1">#        - added function to overwrite lines in a file which contain specific string</span>
+<span class="c1">#</span>
 <span class="c1"># @License:</span>
 <span class="c1">#    (C) Copyright 2014-2020.</span>
 <span class="c1">#    Anne Philipp, Leopold Haimberger</span>
@@ -410,7 +414,7 @@
     <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--queue&quot;</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">&quot;queue&quot;</span><span class="p">,</span>
                         <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>
                         <span class="n">help</span><span class="o">=</span><span class="s1">&#39;The name of the ECMWF server name where the&#39;</span>
-                        <span class="s1">&#39;job script is to be submitted &#39;</span> 
+                        <span class="s1">&#39;job script is to be submitted &#39;</span>
                         <span class="s1">&#39;(e.g. ecgate | cca | ccb)&#39;</span><span class="p">)</span>
 
     <span class="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">()</span>
@@ -785,7 +789,7 @@
 <div class="viewcode-block" id="make_dir"><a class="viewcode-back" href="../Documentation/Api/api_python.html#tools.make_dir">[docs]</a><span class="k">def</span> <span class="nf">make_dir</span><span class="p">(</span><span class="n">directory</span><span class="p">):</span>
     <span class="sd">&#39;&#39;&#39;Creates a directory.</span>
 
-<span class="sd">    If the directory already exists, an information is printed and the creation </span>
+<span class="sd">    If the directory already exists, an information is printed and the creation</span>
 <span class="sd">    skipped. The program stops only if there is another problem.</span>
 
 <span class="sd">    Parameters</span>
@@ -1017,8 +1021,8 @@
 <span class="sd">    Parameters</span>
 <span class="sd">    ----------</span>
 <span class="sd">    cmd_list : list of str</span>
-<span class="sd">        A list of the components for the command line execution. </span>
-<span class="sd">        They will be concatenated with blank space for the command </span>
+<span class="sd">        A list of the components for the command line execution.</span>
+<span class="sd">        They will be concatenated with blank space for the command</span>
 <span class="sd">        to be submitted, like [&#39;mv&#39;, file1, file2] for mv file1 file2.</span>
 
 <span class="sd">    Return</span>
@@ -1071,6 +1075,62 @@
 
 
     <span class="k">return</span> <span class="n">start_period</span><span class="p">,</span> <span class="n">end_period</span></div>
+
+
+<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>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Search for a specific string in a file and return True if</span>
+<span class="sd">    the string was found.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    filepath : str</span>
+<span class="sd">        The full file path which is to be examined.</span>
+
+<span class="sd">    search_string : str</span>
+<span class="sd">        The string which is looked up for in the file.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    Boolean :</span>
+<span class="sd">        True : String was found</span>
+<span class="sd">        False : String was not found</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <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>
+        <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fio</span><span class="p">:</span>
+            <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>
+                <span class="k">return</span> <span class="kc">True</span>
+    <span class="k">return</span> <span class="kc">False</span></div>
+
+
+<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>
+    <span class="sd">&quot;&quot;&quot;</span>
+<span class="sd">    Overwrites lines which contain the given search string with the</span>
+<span class="sd">    substitution string.</span>
+
+<span class="sd">    Parameters</span>
+<span class="sd">    ----------</span>
+<span class="sd">    search_string : str</span>
+<span class="sd">        The string which is looked up for in the file.</span>
+
+<span class="sd">    sub_string : str</span>
+<span class="sd">        The string which overwrites the search string.</span>
+
+<span class="sd">    Return</span>
+<span class="sd">    ------</span>
+<span class="sd">    &quot;&quot;&quot;</span>
+    <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>
+        <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>
+
+    <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>
+        <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
+            <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>
+                <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>
+            <span class="k">else</span><span class="p">:</span>
+                <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>
+
+    <span class="k">return</span></div>
+
 </pre></div>
 
            </div>
diff --git a/Documentation/html/_sources/Documentation/Input/setup.rst.txt b/Documentation/html/_sources/Documentation/Input/setup.rst.txt
index ee4469db9cd5714bf31c3a16b20a16a90e1cfcc8..3ef2879177ba5fb22698bf2898df8d1e0f822c85 100644
--- a/Documentation/html/_sources/Documentation/Input/setup.rst.txt
+++ b/Documentation/html/_sources/Documentation/Input/setup.rst.txt
@@ -164,6 +164,7 @@ we see again all possible command line parameters.
     usage: install.py [-h] [--target INSTALL_TARGET] [--makefile MAKEFILE]
                   [--ecuid ECUID] [--ecgid ECGID] [--gateway GATEWAY]
                   [--destination DESTINATION] [--installdir INSTALLDIR]
+                  [--sysinstalldir SYSINSTALLDIR]
                   [--job_template JOB_TEMPLATE] [--controlfile CONTROLFILE]
 
     Install flex_extract software locally or on ECMWF machines
@@ -171,7 +172,7 @@ we see again all possible command line parameters.
     optional arguments:
       -h, --help            show this help message and exit
       --target INSTALL_TARGET
-                            Valid targets: local | ecgate | cca , the latter two
+                            Valid targets: syslocal | local | ecgate | cca , the latter two
                             are at ECMWF (default: None)
       --makefile MAKEFILE   Name of makefile to compile the Fortran
                             code. (default depends on `target`: local - makefile_local_gfortran,
@@ -185,6 +186,9 @@ we see again all possible command line parameters.
       --installdir INSTALLDIR
                             Root directory where flex_extract will be installed
                             to. (default: None)
+      --sysinstalldir SYSINSTALLDIR
+                            System installation path; where executables are
+                            stored. (default: None)
       --job_template JOB_TEMPLATE
                             The rudimentary template file to create a batch job
                             template for submission to ECMWF servers. (default:
@@ -197,6 +201,7 @@ we see again all possible command line parameters.
 
 
 
+
 .. toctree::
     :hidden:
     :maxdepth: 2
diff --git a/Documentation/html/_sources/Installation/local.rst.txt b/Documentation/html/_sources/Installation/local.rst.txt
index 879a974aa189fee86182db257e2526924a972e28..6874a05a8dc6fc1a1ba9723a51a36dedf4d785bd 100644
--- a/Documentation/html/_sources/Installation/local.rst.txt
+++ b/Documentation/html/_sources/Installation/local.rst.txt
@@ -265,20 +265,20 @@ Local installation
    
 The Fortran program called ``calc_etadot`` will be compiled during the 
 installation process. A suitable makefile (``makefile_local_gfortran``) for the compilation is set by default.
-This may be overwritten by the ``MAKEFILE`` parameter in ``setup.sh``.
+This may be overwritten by the ``MAKEFILE`` parameter in ``setup_local.sh``.
 
-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.sh``
+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``
 For details on the makefile and how to adapt them, see :ref:`Fortran Makefile <ref-convert>`.
 
  
-In the root directory of ``flex_extract``, open the ``setup.sh`` script 
+In the root directory of ``flex_extract``, open the ``setup_local.sh`` script 
 with an editor and adapt the installation parameters in the section labelled with 
 "AVAILABLE COMMANDLINE ARGUMENTS TO SET" as shown below:
 
 
 .. code-block:: bash
    :caption: 'Example settings for a local installation.'
-   :name: setup.sh
+   :name: setup_local.sh
    
    ...
    # -----------------------------------------------------------------
@@ -293,6 +293,7 @@ with an editor and adapt the installation parameters in the section labelled wit
    GATEWAY=None
    DESTINATION=None
    INSTALLDIR=None
+   SYSINSTALLDIR=None
    JOB_TEMPLATE=''
    CONTROLFILE='CONTROL_EA5'
    ...
@@ -302,14 +303,14 @@ Afterwards, type:
 
 .. code-block:: bash
 
-   $ ./setup.sh
+   $ ./setup_local.sh
    
 to start the installation. You should see the following standard output. 
     
     
 .. code-block:: bash
 
-    # Output of setup.sh   
+    # Output of setup_local.sh   
     WARNING: installdir has not been specified
     flex_extract will be installed in here by compiling the Fortran source in <path-to-flex_extract>/flex_extract_v7.1/Source/Fortran
     Install flex_extract_v7.1 software at local in directory <path-to-flex_extract>/flex_extract_v7.1
@@ -326,3 +327,65 @@ to start the installation. You should see the following standard output.
 
     lrwxrwxrwx. 1 <username> tmc 20 Aug 12  10:59 ./calc_etadot -> calc_etadot_fast.out
 
+
+Local system installation
+=========================
+
+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. 
+The user directory for ``flex_extract``, which basically consists of everything except the ``Source`` directory, will be installed into ``INSTALLDIR``. 
+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.
+
+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: 
+
+
+.. code-block:: bash
+   :caption: 'Example settings for a local system installation.'
+   :name: setup_local.sh
+   
+   ...
+   # -----------------------------------------------------------------
+   # AVAILABLE COMMANDLINE ARGUMENTS TO SET
+   #
+   # THE USER HAS TO SPECIFY THESE PARAMETER
+   #
+   TARGET='syslocal'
+   MAKEFILE=<name_of_your_makefile>
+   ECUID=None
+   ECGID=None
+   GATEWAY=None
+   DESTINATION=None
+   INSTALLDIR=$HOME
+   SYSINSTALLDIR=/usr/bin/
+   JOB_TEMPLATE=''
+   CONTROLFILE='CONTROL_EA5'
+   ...
+
+
+Afterwards, type:
+
+.. code-block:: bash
+
+   $ sudo ./setup_local.sh
+   
+to start the installation. You should see the following standard output. 
+
+.. code-block:: bash
+
+	Flex_extract will be installed in <$HOME>
+	Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2
+
+	Using makefile: makefile_local_gfortran
+	/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
+	/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
+	/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
+	/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
+	/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
+	/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
+	/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
+	ln -sf calc_etadot_fast.out calc_etadot
+
+	lrwxrwxrwx. 1 <username> tmc 20 27. Okt 23:25 ./calc_etadot -> calc_etadot_fast.out
+	SUCCESS: INSTALLATION FINISHED!
+
+
+You can now change into the user directory specified in ``INSTALLDIR`` and find a ``flex_extract_vX.X`` directory there. 
diff --git a/Documentation/html/genindex.html b/Documentation/html/genindex.html
index a6913b97eabf38674fb88c261a4fa2fda95a33a4..4f906be9f37e343e74b6eaecb253d26185ba7730 100644
--- a/Documentation/html/genindex.html
+++ b/Documentation/html/genindex.html
@@ -272,6 +272,8 @@
       <li><a href="Documentation/Api/api_python.html#checks.check_dates">check_dates() (in module checks)</a>
 </li>
       <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>
+</li>
+      <li><a href="Documentation/Api/api_python.html#tools.check_for_string_in_file">check_for_string_in_file() (in module tools)</a>
 </li>
       <li><a href="Documentation/Api/api_python.html#checks.check_grid">check_grid() (in module checks)</a>
 </li>
@@ -649,13 +651,15 @@
 </li>
       <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.omegadiff">omegadiff (ControlFile.ControlFile attribute)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.oper">oper (ControlFile.ControlFile attribute)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.outputdir">outputdir (ControlFile.ControlFile attribute)</a>
 </li>
       <li><a href="Documentation/Api/api_python.html#EcFlexpart.EcFlexpart.outputfilelist">outputfilelist (EcFlexpart.EcFlexpart attribute)</a>
+</li>
+      <li><a href="Documentation/Api/api_python.html#tools.overwrite_lines_in_file">overwrite_lines_in_file() (in module tools)</a>
 </li>
   </ul></td>
 </tr></table>
diff --git a/Documentation/html/objects.inv b/Documentation/html/objects.inv
index 80c1a3f56a4d658d479e7aa3791ed555561e97e3..5a8b1bf520c9ff04fab4160648fc99240df41c28 100644
Binary files a/Documentation/html/objects.inv and b/Documentation/html/objects.inv differ
diff --git a/Documentation/html/searchindex.js b/Documentation/html/searchindex.js
index 4313b2f3418f857510a6c0caa0bf1eb050cc5ffb..efec657071025c0ac5750628893c5652fddad8c2 100644
--- a/Documentation/html/searchindex.js
+++ b/Documentation/html/searchindex.js
@@ -1 +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:{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}})
\ No newline at end of file
+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}})
\ No newline at end of file
diff --git a/For_developers/InstallationParameter.xls b/For_developers/InstallationParameter.xls
index 5a7ab0dd2d436c1fe93ee25269ed51865f8e6f8a..d60c2aa0647c33f84231d42b64c3e0bd90b336ab 100644
Binary files a/For_developers/InstallationParameter.xls and b/For_developers/InstallationParameter.xls differ
diff --git a/For_developers/Sphinx/Source/Documentation/Input/setup.rst b/For_developers/Sphinx/Source/Documentation/Input/setup.rst
index ee4469db9cd5714bf31c3a16b20a16a90e1cfcc8..3ef2879177ba5fb22698bf2898df8d1e0f822c85 100644
--- a/For_developers/Sphinx/Source/Documentation/Input/setup.rst
+++ b/For_developers/Sphinx/Source/Documentation/Input/setup.rst
@@ -164,6 +164,7 @@ we see again all possible command line parameters.
     usage: install.py [-h] [--target INSTALL_TARGET] [--makefile MAKEFILE]
                   [--ecuid ECUID] [--ecgid ECGID] [--gateway GATEWAY]
                   [--destination DESTINATION] [--installdir INSTALLDIR]
+                  [--sysinstalldir SYSINSTALLDIR]
                   [--job_template JOB_TEMPLATE] [--controlfile CONTROLFILE]
 
     Install flex_extract software locally or on ECMWF machines
@@ -171,7 +172,7 @@ we see again all possible command line parameters.
     optional arguments:
       -h, --help            show this help message and exit
       --target INSTALL_TARGET
-                            Valid targets: local | ecgate | cca , the latter two
+                            Valid targets: syslocal | local | ecgate | cca , the latter two
                             are at ECMWF (default: None)
       --makefile MAKEFILE   Name of makefile to compile the Fortran
                             code. (default depends on `target`: local - makefile_local_gfortran,
@@ -185,6 +186,9 @@ we see again all possible command line parameters.
       --installdir INSTALLDIR
                             Root directory where flex_extract will be installed
                             to. (default: None)
+      --sysinstalldir SYSINSTALLDIR
+                            System installation path; where executables are
+                            stored. (default: None)
       --job_template JOB_TEMPLATE
                             The rudimentary template file to create a batch job
                             template for submission to ECMWF servers. (default:
@@ -197,6 +201,7 @@ we see again all possible command line parameters.
 
 
 
+
 .. toctree::
     :hidden:
     :maxdepth: 2
diff --git a/For_developers/Sphinx/Source/Installation/local.rst b/For_developers/Sphinx/Source/Installation/local.rst
index 879a974aa189fee86182db257e2526924a972e28..6874a05a8dc6fc1a1ba9723a51a36dedf4d785bd 100644
--- a/For_developers/Sphinx/Source/Installation/local.rst
+++ b/For_developers/Sphinx/Source/Installation/local.rst
@@ -265,20 +265,20 @@ Local installation
    
 The Fortran program called ``calc_etadot`` will be compiled during the 
 installation process. A suitable makefile (``makefile_local_gfortran``) for the compilation is set by default.
-This may be overwritten by the ``MAKEFILE`` parameter in ``setup.sh``.
+This may be overwritten by the ``MAKEFILE`` parameter in ``setup_local.sh``.
 
-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.sh``
+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``
 For details on the makefile and how to adapt them, see :ref:`Fortran Makefile <ref-convert>`.
 
  
-In the root directory of ``flex_extract``, open the ``setup.sh`` script 
+In the root directory of ``flex_extract``, open the ``setup_local.sh`` script 
 with an editor and adapt the installation parameters in the section labelled with 
 "AVAILABLE COMMANDLINE ARGUMENTS TO SET" as shown below:
 
 
 .. code-block:: bash
    :caption: 'Example settings for a local installation.'
-   :name: setup.sh
+   :name: setup_local.sh
    
    ...
    # -----------------------------------------------------------------
@@ -293,6 +293,7 @@ with an editor and adapt the installation parameters in the section labelled wit
    GATEWAY=None
    DESTINATION=None
    INSTALLDIR=None
+   SYSINSTALLDIR=None
    JOB_TEMPLATE=''
    CONTROLFILE='CONTROL_EA5'
    ...
@@ -302,14 +303,14 @@ Afterwards, type:
 
 .. code-block:: bash
 
-   $ ./setup.sh
+   $ ./setup_local.sh
    
 to start the installation. You should see the following standard output. 
     
     
 .. code-block:: bash
 
-    # Output of setup.sh   
+    # Output of setup_local.sh   
     WARNING: installdir has not been specified
     flex_extract will be installed in here by compiling the Fortran source in <path-to-flex_extract>/flex_extract_v7.1/Source/Fortran
     Install flex_extract_v7.1 software at local in directory <path-to-flex_extract>/flex_extract_v7.1
@@ -326,3 +327,65 @@ to start the installation. You should see the following standard output.
 
     lrwxrwxrwx. 1 <username> tmc 20 Aug 12  10:59 ./calc_etadot -> calc_etadot_fast.out
 
+
+Local system installation
+=========================
+
+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. 
+The user directory for ``flex_extract``, which basically consists of everything except the ``Source`` directory, will be installed into ``INSTALLDIR``. 
+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.
+
+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: 
+
+
+.. code-block:: bash
+   :caption: 'Example settings for a local system installation.'
+   :name: setup_local.sh
+   
+   ...
+   # -----------------------------------------------------------------
+   # AVAILABLE COMMANDLINE ARGUMENTS TO SET
+   #
+   # THE USER HAS TO SPECIFY THESE PARAMETER
+   #
+   TARGET='syslocal'
+   MAKEFILE=<name_of_your_makefile>
+   ECUID=None
+   ECGID=None
+   GATEWAY=None
+   DESTINATION=None
+   INSTALLDIR=$HOME
+   SYSINSTALLDIR=/usr/bin/
+   JOB_TEMPLATE=''
+   CONTROLFILE='CONTROL_EA5'
+   ...
+
+
+Afterwards, type:
+
+.. code-block:: bash
+
+   $ sudo ./setup_local.sh
+   
+to start the installation. You should see the following standard output. 
+
+.. code-block:: bash
+
+	Flex_extract will be installed in <$HOME>
+	Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2
+
+	Using makefile: makefile_local_gfortran
+	/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
+	/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
+	/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
+	/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
+	/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
+	/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
+	/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
+	ln -sf calc_etadot_fast.out calc_etadot
+
+	lrwxrwxrwx. 1 <username> tmc 20 27. Okt 23:25 ./calc_etadot -> calc_etadot_fast.out
+	SUCCESS: INSTALLATION FINISHED!
+
+
+You can now change into the user directory specified in ``INSTALLDIR`` and find a ``flex_extract_vX.X`` directory there. 
diff --git a/README.md b/README.md
index 27fbaaf14450b205eebbc60bd5faa0afd177a11b..086848155008bf907b250c78462a52649a3c4d69 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 `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.
 
-`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.
+`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.
 
 
 ## Installation and Usage
@@ -16,10 +16,10 @@ https://www.flexpart.eu/wiki/FpInputMetEcmwf
 
 ## Authors
 
-Anne Philipp, Leopold Haimberger and Petra Seibert
+Anne Tipka (formerly Philipp), Leopold Haimberger and Petra Seibert
 
 ## License
-    (C) Copyright 2014-2019.
+    (C) Copyright 2014-2020.
 
     SPDX-License-Identifier: CC-BY-4.0
 
@@ -27,3 +27,4 @@ Anne Philipp, Leopold Haimberger and Petra Seibert
     International License. To view a copy of this license, visit
     http://creativecommons.org/licenses/by/4.0/ or send a letter to
     Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
+
diff --git a/Run/run_local.sh b/Run/run_local.sh
index 1c8243a585d923963812da8681dde76ab9df92c0..b1d4260c963a519bd0bc8a207ec57c8e2f28827c 100755
--- a/Run/run_local.sh
+++ b/Run/run_local.sh
@@ -11,7 +11,7 @@
 #    guarantee necessary parameters were set and consistent.
 #
 # @Licence:
-#    (C) Copyright 2014-2019.
+#    (C) Copyright 2014-2020.
 #
 #    SPDX-License-Identifier: CC-BY-4.0
 #
diff --git a/Source/Python/Classes/ControlFile.py b/Source/Python/Classes/ControlFile.py
index 8ffff5aa0bd248fa926ce53b9d8d75641d6f6b25..5783535188a05eb1a78a8b1ec314f72f09505f5f 100644
--- a/Source/Python/Classes/ControlFile.py
+++ b/Source/Python/Classes/ControlFile.py
@@ -20,6 +20,8 @@
 #        - outsourced the commandline argument assignments to control attributes
 #   June 2020 - Anne Philipp
 #        - update default makefile to None
+#   August 2020 - Leopold Haimberger
+#        - added a class parameter for system installation path
 #
 # @License:
 #    (C) Copyright 2014-2020.
@@ -403,6 +405,7 @@ class ControlFile(object):
         self.flexextractdir = _config.PATH_FLEXEXTRACT_DIR
         self.exedir = _config.PATH_FORTRAN_SRC
         self.installdir = None
+        self.sysinstalldir = None
         self.makefile = None
         self.destination = None
         self.gateway = None
diff --git a/Source/Python/Mods/tools.py b/Source/Python/Mods/tools.py
index 0286555e38617a01a78fdff51f94f6575d02ab7f..254af508229892094157d362400b77203b5f92c5 100644
--- a/Source/Python/Mods/tools.py
+++ b/Source/Python/Mods/tools.py
@@ -22,6 +22,10 @@
 #          put_file_to_ecserver, submit_job_to_ecserver, get_informations,
 #          get_dimensions, execute_subprocess, none_or_int, none_or_str
 #
+#    August 2020 - Leopold Haimberger (University of Vienna)
+#        - added function to check if a specific string is in a file
+#        - added function to overwrite lines in a file which contain specific string
+#
 # @License:
 #    (C) Copyright 2014-2020.
 #    Anne Philipp, Leopold Haimberger
@@ -248,7 +252,7 @@ def get_cmdline_args():
     parser.add_argument("--queue", dest="queue",
                         type=none_or_str, default=None,
                         help='The name of the ECMWF server name where the'
-                        'job script is to be submitted ' 
+                        'job script is to be submitted '
                         '(e.g. ecgate | cca | ccb)')
 
     args = parser.parse_args()
@@ -623,7 +627,7 @@ def get_list_as_string(list_obj, concatenate_sign=', '):
 def make_dir(directory):
     '''Creates a directory.
 
-    If the directory already exists, an information is printed and the creation 
+    If the directory already exists, an information is printed and the creation
     skipped. The program stops only if there is another problem.
 
     Parameters
@@ -855,8 +859,8 @@ def execute_subprocess(cmd_list, error_msg='SUBPROCESS FAILED!'):
     Parameters
     ----------
     cmd_list : list of str
-        A list of the components for the command line execution. 
-        They will be concatenated with blank space for the command 
+        A list of the components for the command line execution.
+        They will be concatenated with blank space for the command
         to be submitted, like ['mv', file1, file2] for mv file1 file2.
 
     Return
@@ -909,3 +913,59 @@ def generate_retrieval_period_boundary(c):
 
 
     return start_period, end_period
+
+
+def check_for_string_in_file(filepath, search_string):
+    """
+    Search for a specific string in a file and return True if
+    the string was found.
+
+    Parameters
+    ----------
+    filepath : str
+        The full file path which is to be examined.
+
+    search_string : str
+        The string which is looked up for in the file.
+
+    Return
+    ------
+    Boolean :
+        True : String was found
+        False : String was not found
+    """
+    with open(filepath, 'r') as fio:
+        for line in fio:
+            if search_string in line:
+                return True
+    return False
+
+
+def overwrite_lines_in_file(filepath, search_string, sub_string):
+    """
+    Overwrites lines which contain the given search string with the
+    substitution string.
+
+    Parameters
+    ----------
+    search_string : str
+        The string which is looked up for in the file.
+
+    sub_string : str
+        The string which overwrites the search string.
+
+    Return
+    ------
+    """
+    with open(filepath, 'r') as fio:
+        data = fio.readlines()
+
+    with open(filepath, 'w') as fio:
+        for line in data:
+            if search_string in line:
+                fio.write(sub_string)
+            else:
+                fio.write(line)
+
+    return
+
diff --git a/Source/Python/_config.py b/Source/Python/_config.py
index dae1de931aac4124e1a5246dbc9c93a2663c15fa..49877e7198f8f9a82957338295b9a94bd21b2d00 100644
--- a/Source/Python/_config.py
+++ b/Source/Python/_config.py
@@ -8,6 +8,11 @@
 # @Change History:
 #      June 2020 - Anne Philipp
 #         - changed template filenames to .template
+#      August 2020 - Leopold Haimberger
+#         - added another target for installation
+#         - added filename which will contain paths for system version     
+#         - checks if software runs in normal local mode or system local mode
+#           and defines paths to user directory and executable paths    
 #
 # @License:
 #    (C) Copyright 2014-2020.
@@ -37,13 +42,13 @@ import platform
 # PARAMETERS
 # ------------------------------------------------------------------------------
 
-_VERSION_STR = '7.1.2'
+_VERSION_STR = '7.1.2_ctbto'
 
 FLAG_ON_ECMWFSERVER = 'ecgb' in platform.node()
 
 QUEUES_LIST = ['ecgate', 'cca', 'ccb']
 
-INSTALL_TARGETS = ['local', 'ecgate', 'cca', 'ccb']
+INSTALL_TARGETS = ['local', 'syslocal', 'ecgate', 'cca', 'ccb']
 
 CDS_DATASET_ML = 'reanalysis-era5-complete'
 CDS_DATASET_SFC = 'reanalysis-era5-single-levels'
@@ -69,6 +74,7 @@ TEMPFILE_NAMELIST = 'calc_etadot_nml.template'
 FILE_NAMELIST = 'fort.4'
 FILE_GRIB_INDEX = 'date_time_stepRange.idx'
 FILE_GRIBTABLE = 'ecmwf_grib1_table_128'
+FILE_SYS_CONFIG = '.setup.rc'
 
 # ------------------------------------------------------------------------------
 # DIRECTORY NAMES
@@ -78,7 +84,7 @@ FLEXEXTRACT_DIRNAME = 'flex_extract_v' + _VERSION_STR
 INPUT_DIRNAME_DEFAULT = 'Workspace'
 
 # ------------------------------------------------------------------------------
-#  PATHES
+#  LOAD ENVIRONMENT VARIABLES FOR SYS VERSION; IF NECESSARRY
 # ------------------------------------------------------------------------------
 
 # path to the local python source files
@@ -88,15 +94,33 @@ PATH_LOCAL_PYTHON = os.path.dirname(os.path.abspath(
 # add path to pythonpath
 if PATH_LOCAL_PYTHON not in sys.path:
     sys.path.append(PATH_LOCAL_PYTHON)
+
+# ------------------------------------------------------------------------------
+#  PATHES
+# ------------------------------------------------------------------------------
+
 PATH_FLEXEXTRACT_DIR = os.path.normpath(os.path.dirname(os.path.abspath(
     inspect.getfile(inspect.currentframe()))) + '/../../')
+if not os.path.isdir(os.path.join(PATH_FLEXEXTRACT_DIR,'Run')):
+    # if it does not exist, we have a system installation in place
+    # we need to have a sys and user path
+    # configure correct system path
+    PATH_SYSTEM_DIR = os.path.join(PATH_FLEXEXTRACT_DIR, FLEXEXTRACT_DIRNAME)
+    # configure correct user path
+    PATH_FLEXEXTRACT_DIR = os.environ.get('FLEXEXTRACT_USER_DIR')
+else:
+    PATH_SYSTEM_DIR = PATH_FLEXEXTRACT_DIR
+
 PATH_RUN_DIR = os.path.join(PATH_FLEXEXTRACT_DIR, 'Run')
-PATH_SOURCES = os.path.join(PATH_FLEXEXTRACT_DIR, 'Source')
+PATH_SOURCES = os.path.join(PATH_SYSTEM_DIR, 'Source')
 PATH_TEMPLATES = os.path.join(PATH_FLEXEXTRACT_DIR, 'Templates')
 PATH_ECMWF_ENV = os.path.join(PATH_RUN_DIR, FILE_USER_ENVVARS)
 PATH_GRIBTABLE = os.path.join(PATH_TEMPLATES, FILE_GRIBTABLE)
 PATH_JOBSCRIPTS = os.path.join(PATH_RUN_DIR, 'Jobscripts')
-PATH_FORTRAN_SRC = os.path.join(PATH_SOURCES, 'Fortran')
+if os.path.isdir(os.path.join(PATH_SYSTEM_DIR,'Fortran')):
+    PATH_FORTRAN_SRC = PATH_SYSTEM_DIR
+else:
+    PATH_FORTRAN_SRC = os.path.join(PATH_SOURCES, 'Fortran')
 PATH_PYTHONTEST_SRC = os.path.join(PATH_SOURCES, 'Pythontest')
 PATH_INPUT_DIR = os.path.join(PATH_RUN_DIR, INPUT_DIRNAME_DEFAULT)
 PATH_TEST = os.path.join(PATH_FLEXEXTRACT_DIR, 'Testing')
diff --git a/Source/Python/install.py b/Source/Python/install.py
index 18170696c177e116c3b5028a8976f8d40e082c72..0488ee0cbcc046d0f3faf39b2bb561e82467c586 100755
--- a/Source/Python/install.py
+++ b/Source/Python/install.py
@@ -18,9 +18,14 @@
 #        - use of tarfile package in python
 #    June 2020 - Anne Philipp
 #        - renamed "convert" functions to "fortran" functions
-#        - reconfigured mk_tarball to select *.template files instead 
+#        - reconfigured mk_tarball to select *.template files instead
 #          of *.nl and *.temp
 #        - added check for makefile settings
+#    August 2020 - Leopold Haimberger
+#        - added a new installation section for system installation (if-else block)
+#        - read new argument from command line
+#        - write .setup.rc for a system installation into Run directory
+#        - copy executables to system path and user files to user path
 #
 # @License:
 #    (C) Copyright 2014-2020.
@@ -74,6 +79,7 @@ import os
 import sys
 import subprocess
 import tarfile
+import shutil
 from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
 
 # software specific classes and modules from flex_extract
@@ -81,7 +87,8 @@ import _config
 from Classes.ControlFile import ControlFile
 from Classes.UioFiles import UioFiles
 from Mods.tools import (make_dir, put_file_to_ecserver, submit_job_to_ecserver,
-                        silent_remove, execute_subprocess, none_or_str)
+                        silent_remove, execute_subprocess, none_or_str,
+                        overwrite_lines_in_file, check_for_string_in_file)
 
 # ------------------------------------------------------------------------------
 # FUNCTIONS
@@ -102,11 +109,13 @@ def main():
     c.assign_args_to_control(args)
     check_install_conditions(c)
 
-    if c.install_target.lower() != 'local': # ecgate or cca
+    if c.install_target.lower() not in ['local', 'syslocal']: # ecgate or cca
         install_via_gateway(c)
     else: # local
         install_local(c)
 
+    print("SUCCESS: INSTALLATION FINISHED!")
+
     return
 
 def get_install_cmdline_args():
@@ -127,7 +136,7 @@ def get_install_cmdline_args():
 
     parser.add_argument('--target', dest='install_target',
                         type=none_or_str, default=None,
-                        help="Valid targets: local | ecgate | cca , \
+                        help="Valid targets: syslocal | local | ecgate | cca , \
                         the latter two are at ECMWF")
     parser.add_argument("--makefile", dest="makefile",
                         type=none_or_str, default=None,
@@ -149,8 +158,12 @@ def get_install_cmdline_args():
 
     parser.add_argument("--installdir", dest="installdir",
                         type=none_or_str, default=None,
-                        help='Root directory of the '
+                        help='Root (user) directory of the '
                         'flex_extract installation')
+    parser.add_argument("--sysinstalldir", dest="sysinstalldir",
+                        type=none_or_str, default=None,
+                        help='System installation path; where '
+                        'executables are stored.')
 
     # arguments for job submission to ECMWF, only needed by submit.py
     parser.add_argument("--job_template", dest='job_template',
@@ -227,16 +240,24 @@ def install_local(c):
     tar_file = os.path.join(_config.PATH_FLEXEXTRACT_DIR,
                             _config.FLEXEXTRACT_DIRNAME + '.tar')
 
-    if c.installdir == _config.PATH_FLEXEXTRACT_DIR:
-        print('WARNING: installdir has not been specified')
-        print('flex_extract will be installed in here by compiling the ' +
-              'Fortran source in ' + _config.PATH_FORTRAN_SRC)
-        os.chdir(_config.PATH_FORTRAN_SRC)
-    else: # creates the target working directory for flex_extract
-        c.installdir = os.path.expandvars(os.path.expanduser(
-            c.installdir))
-        if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) != \
-           os.path.abspath(c.installdir):
+    c.installdir = os.path.abspath(os.path.expandvars(os.path.expanduser(
+                c.installdir)))
+    c.sysinstalldir = os.path.abspath(os.path.expandvars(os.path.expanduser(
+        c.sysinstalldir)))
+
+    # this is standard installation into a single directory
+    if c.install_target == 'local':
+
+        # installation into the current directory
+        if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.installdir:
+            print('WARNING: installdir has not been specified')
+            print('flex_extract will be installed in current dir by compiling the ' +
+                  'Fortran source in ' + _config.PATH_FORTRAN_SRC)
+            os.chdir(_config.PATH_FORTRAN_SRC)
+        # installation into a different path
+        elif os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) != c.installdir :
+
+            # creates the target working directory for flex_extract
             mk_tarball(tar_file, c.install_target)
             make_dir(os.path.join(c.installdir,
                                   _config.FLEXEXTRACT_DIRNAME))
@@ -247,13 +268,92 @@ def install_local(c):
                                   _config.FLEXEXTRACT_DIRNAME,
                                   _config.PATH_REL_FORTRAN_SRC))
 
-    # Create Fortran executable
-    print('Install ' +  _config.FLEXEXTRACT_DIRNAME + ' software at ' +
-          c.install_target + ' in directory ' +
-          os.path.abspath(c.installdir) + '\n')
-
-    del_fortran_build('.')
-    mk_fortran_build('.', c.makefile)
+        # Create Fortran executable
+        print('Install ' +  _config.FLEXEXTRACT_DIRNAME + ' software at ' +
+              c.install_target + ' in directory ' + c.installdir + '\n')
+
+        del_fortran_build('.')
+        mk_fortran_build('.', c.makefile)
+        os.chdir('../../')
+        # make sure that the correct calling of submit.py script is in run_local.sh
+        overwrite_lines_in_file('Run/run_local.sh',
+                                'pyscript=', 'pyscript=../Source/Python/submit.py\n')
+
+    # this is system installation were executables and user files are separated
+    elif c.install_target == 'syslocal':
+        if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.sysinstalldir :
+            sys.exit('ERROR: System installation path is equal to user '
+                     'installation path.\n Please change either the system '
+                     'installation path or use installation target "local".')
+        if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.installdir :
+            print('Flex_extract will be installed in current directory!')
+        else: # install user part in different dir
+            print('Flex_extract will be installed in ' + c.installdir )
+
+            c.installdir = os.path.join(c.installdir,_config.FLEXEXTRACT_DIRNAME)
+            if os.path.isdir(c.installdir):
+                shutil.rmtree(c.installdir)
+
+            # copy all files except Python and Fortranfiles to this dir
+            shutil.copytree(_config.PATH_FLEXEXTRACT_DIR,
+                            c.installdir, symlinks=True)
+            shutil.rmtree(os.path.join(c.installdir,'Source'))
+            shutil.rmtree(os.path.join(c.installdir,'.git'))
+            for x in UioFiles(c.installdir, '*~').files:
+                silent_remove(x)
+
+            os.remove(os.path.join(c.installdir,'setup.sh'))
+            os.remove(os.path.join(c.installdir,'setup_local.sh'))
+
+        # configure run_local script correctly
+        # check if source of system config file is already in run_local.sh,
+        # if not, add it
+        if not check_for_string_in_file(os.path.join(c.installdir,'Run/run_local.sh'),
+                                 'source .setup.rc'):
+            overwrite_lines_in_file(os.path.join(c.installdir,'Run/run_local.sh'),
+                                    '# PATH TO SUBMISSION SCRIPT',
+                                    '# PATH TO SUBMISSION SCRIPT\nsource '+_config.FILE_SYS_CONFIG+'\n')
+        # make sure that the correct calling of submit.py script is in run_local.sh
+        overwrite_lines_in_file(os.path.join(c.installdir,'Run/run_local.sh'),
+                                'pyscript=', 'pyscript=submit.py\n')
+
+        # change permission for file to executable
+        execute_subprocess(['chmod', '0775',
+                            os.path.join(os.path.abspath(c.installdir),'Run/run_local.sh')])
+
+
+        # create systemdir
+        c.sysinstalldir = os.path.join(c.sysinstalldir,_config.FLEXEXTRACT_DIRNAME)
+        if os.path.isdir(c.sysinstalldir):
+            shutil.rmtree(c.sysinstalldir)
+
+        # create setup file for running flex_extract with system installation
+        with open(os.path.join(os.path.abspath(c.installdir),'Run/.setup.rc'),'w') as fio:
+            fio.write('#!/bin/bash \n')
+            fio.write('export FLEXEXTRACT_USER_DIR='+os.path.abspath(c.installdir)+'\n')
+            fio.write('export PATH='+os.path.abspath(c.sysinstalldir)+'/Python:${PATH}\n')
+            fio.write('export PATH='+os.path.abspath(c.sysinstalldir)+':${PATH}\n')
+
+        # copy all Python and Fortranfiles to this dir
+        shutil.copytree(_config.PATH_SOURCES, c.sysinstalldir, symlinks=True)
+
+        os.chdir(os.path.join(c.sysinstalldir,'Fortran'))
+        # Create Fortran executable
+        print('Install ' +  _config.FLEXEXTRACT_DIRNAME + ' software as ' +
+              c.install_target + ' in directory ' +
+              os.path.abspath(c.sysinstalldir) + '\n')
+
+        del_fortran_build('.')
+        mk_fortran_build('.', c.makefile)
+
+        outfile = [x for x in UioFiles('.','*.out').files]
+        test=os.path.join(c.sysinstalldir,'calc_etadot')
+        if len(outfile) != 1:
+            print('WARNING: Multiple executables for Fortran code are available!')
+        # move executable one dir up and delete Fortran dir
+        os.chdir('..')
+        shutil.move(outfile[0], os.path.join(c.sysinstalldir,'calc_etadot'))
+        shutil.rmtree(os.path.join(os.path.abspath(c.sysinstalldir),'Fortran'))
 
     os.chdir(_config.PATH_FLEXEXTRACT_DIR)
     if os.path.isfile(tar_file):
@@ -288,7 +388,7 @@ def check_install_conditions(c):
         print('use -h or --help for help')
         sys.exit(1)
 
-    if c.install_target and c.install_target != 'local':
+    if c.install_target and c.install_target not in ['local', 'syslocal']:
         if not c.ecgid or not c.ecuid:
             print('Please enter your ECMWF user id and group id '
                   ' with command line options --ecuid --ecgid')
@@ -304,9 +404,16 @@ def check_install_conditions(c):
                   'local gateway server possible!')
         if not c.installdir:
             c.installdir = '${HOME}'
-    else: # local
+    elif c.install_target == 'local':
         if not c.installdir:
             c.installdir = _config.PATH_FLEXEXTRACT_DIR
+    elif c.install_target == 'syslocal':
+        if not c.installdir:
+            c.installdir = _config.PATH_FLEXEXTRACT_DIR
+        if not c.sysinstalldir:
+            print('ERROR: System installation was selected but '
+                  'no system installation path was defined.')
+            sys.exit()
 
     if not c.makefile:
         print('WARNING: no makefile was specified.')
@@ -322,7 +429,7 @@ def check_install_conditions(c):
             print('WARNING: default makefile selected: makefile_cray')
         else:
             pass
-        
+
     return
 
 
@@ -714,7 +821,7 @@ def mk_fortran_build(src_path, makefile):
         print('ERROR: makefile call failed:')
         print(e)
     else:
-        execute_subprocess(['ls', '-l', 
+        execute_subprocess(['ls', '-l',
                             os.path.join(src_path, _config.FORTRAN_EXECUTABLE)],
                            error_msg='FORTRAN EXECUTABLE COULD NOT BE FOUND!')
 
diff --git a/Source/Python/submit.py b/Source/Python/submit.py
index 5265a433cc79c51f0363b46159df3839bbcaab8e..6d5eb8b6d2dded1a25bb3cbd6fcaf3bd703af0b2 100755
--- a/Source/Python/submit.py
+++ b/Source/Python/submit.py
@@ -113,7 +113,7 @@ def main():
     # send files to ECMWF server
     else:
         submit(job_template, c, queue)
-        exit_message = 'FLEX_EXTRACT JOB SCRIPT IS SUBMITED!'
+        exit_message = 'FLEX_EXTRACT JOB SCRIPT IS SUBMITTED!'
 
     normal_exit(exit_message)
 
diff --git a/setup_local.sh b/setup_local.sh
index 8f9d0a2f020ec222c266792cee2a3ad26a8498c2..776e482a5a9ff51739bcba5ef07ac06e6725d76b 100755
--- a/setup_local.sh
+++ b/setup_local.sh
@@ -10,6 +10,11 @@
 #    python installation script. It also does some checks to 
 #    guarantee necessary parameters were set.
 #
+# @History:
+#    Leopold Haimberger; Aug 2020
+#       added new parameter for a system installation 
+#       (seperate executable and user directories)
+#
 # @Licence:
 #    (C) Copyright 2014-2020.
 #
@@ -32,6 +37,7 @@ ECGID='<groupID>'
 GATEWAY='<gatewayname>'
 DESTINATION='<name>@genericSftp'
 INSTALLDIR=None
+SYSINSTALLDIR=None
 JOB_TEMPLATE=''
 CONTROLFILE='CONTROL_CERA'
 # -----------------------------------------------------------------
@@ -75,8 +81,11 @@ fi
 if [ -n "$MAKEFILE" ]; then
   parameterlist+=" --makefile=$MAKEFILE"
 fi
-if [ -n "$FLEXPARTDIR" ]; then # not empty
-  parameterlist+=" --flexpartdir=$FLEXPARTDIR"
+if [ -n "$INSTALLDIR" ]; then 
+  parameterlist+=" --installdir=$INSTALLDIR"
+fi
+if [ -n "$SYSINSTALLDIR" ]; then 
+  parameterlist+=" --sysinstalldir=$SYSINSTALLDIR"
 fi
 if [ -n "$JOB_TEMPLATE" ]; then
   parameterlist+=" --job_template=$JOB_TEMPLATE"
@@ -90,3 +99,5 @@ fi
 
 $script $parameterlist
 
+
+