Changes in / [6857073:81c180c] in flex_extract.git
- Files:
-
- 1 added
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
Documentation/html/Documentation/Api/api_python.html
r08c9091 r47be2684 2494 2494 <p>This module contains a collection of diverse tasks within flex_extract.</p> 2495 2495 <dl class="function"> 2496 <dt id="tools.check_for_string_in_file"> 2497 <code class="sig-prename descclassname">tools.</code><code class="sig-name descname">check_for_string_in_file</code><span class="sig-paren">(</span><em class="sig-param">filepath</em>, <em class="sig-param">search_string</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/tools.html#check_for_string_in_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.check_for_string_in_file" title="Permalink to this definition">¶</a></dt> 2498 <dd><p>Search for a specific string in a file and return True if 2499 the string was found.</p> 2500 <dl class="field-list simple"> 2501 <dt class="field-odd">Parameters</dt> 2502 <dd class="field-odd"><ul class="simple"> 2503 <li><p><strong>filepath</strong> (<em>str</em>) – The full file path which is to be examined.</p></li> 2504 <li><p><strong>search_string</strong> (<em>str</em>) – The string which is looked up for in the file.</p></li> 2505 </ul> 2506 </dd> 2507 <dt class="field-even">Returns</dt> 2508 <dd class="field-even"><p>True : String was found 2509 False : String was not found</p> 2510 </dd> 2511 <dt class="field-odd">Return type</dt> 2512 <dd class="field-odd"><p>Boolean</p> 2513 </dd> 2514 </dl> 2515 </dd></dl> 2516 2517 <dl class="function"> 2496 2518 <dt id="tools.clean_up"> 2497 2519 <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> … … 2732 2754 <dt class="field-odd">Parameters</dt> 2733 2755 <dd class="field-odd"><p><strong>message</strong> (<em>str</em><em>, </em><em>optional</em>) – Message for exiting program. Default value is “Done!”.</p> 2756 </dd> 2757 </dl> 2758 </dd></dl> 2759 2760 <dl class="function"> 2761 <dt id="tools.overwrite_lines_in_file"> 2762 <code class="sig-prename descclassname">tools.</code><code class="sig-name descname">overwrite_lines_in_file</code><span class="sig-paren">(</span><em class="sig-param">filepath</em>, <em class="sig-param">search_string</em>, <em class="sig-param">sub_string</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/tools.html#overwrite_lines_in_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#tools.overwrite_lines_in_file" title="Permalink to this definition">¶</a></dt> 2763 <dd><p>Overwrites lines which contain the given search string with the 2764 substitution string.</p> 2765 <dl class="field-list simple"> 2766 <dt class="field-odd">Parameters</dt> 2767 <dd class="field-odd"><ul class="simple"> 2768 <li><p><strong>search_string</strong> (<em>str</em>) – The string which is looked up for in the file.</p></li> 2769 <li><p><strong>sub_string</strong> (<em>str</em>) – The string which overwrites the search string.</p></li> 2770 </ul> 2734 2771 </dd> 2735 2772 </dl> -
Documentation/html/Documentation/Input/setup.html
r08c9091 r47be2684 235 235 <tr class="row-even"><td><p>TARGET</p></td> 236 236 <td><p>String</p></td> 237 <td><p>local, ecgate, cca, ccb</p></td>238 <td><p>None</p></td> 239 <td><p>Defines the flex_extract application mode to be used. Local = local mode; ecgate = Remote or Gateway mode, cca or ccb = Remote or Gateway mode (HPC). Whether the local mode is for public or member state users doesn’t matter here. </p></td>237 <td><p>local, syslocal, ecgate, cca, ccb</p></td> 238 <td><p>None</p></td> 239 <td><p>Defines the flex_extract application mode to be used. Local = local mode; ecgate = Remote or Gateway mode, cca or ccb = Remote or Gateway mode (HPC). Whether the local mode is for public or member state users doesn’t matter here. Syslocal = seperates the executables and user application files during installation. Paths are selectable through INSTALLDIR and SYSINSTALLDIR</p></td> 240 240 </tr> 241 241 <tr class="row-odd"><td><p>MAKEFILE</p></td> … … 275 275 <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> 276 276 </tr> 277 <tr class="row-odd"><td><p>JOB_TEMPLATE</p></td> 277 <tr class="row-odd"><td><p>SYSINSTALLDIR</p></td> 278 <td><p>String</p></td> 279 <td><p>a full path </p></td> 280 <td><p>None</p></td> 281 <td><p>This will be the same as INSTALLDIR if TARGET=local. Otherwise, the executable files are stored in this path. If it is choosen to be in a system path, don’t forget to start the script with admin rights. </p></td> 282 </tr> 283 <tr class="row-even"><td><p>JOB_TEMPLATE</p></td> 278 284 <td><p>String</p></td> 279 285 <td><p>installscript.template</p></td> … … 281 287 <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> 282 288 </tr> 283 <tr class="row- even"><td><p>CONTROLFILE</p></td>289 <tr class="row-odd"><td><p>CONTROLFILE</p></td> 284 290 <td><p>String</p></td> 285 291 <td><p>any CONTROL file</p></td> … … 402 408 <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> 403 409 <span class="o">[</span>--destination DESTINATION<span class="o">]</span> <span class="o">[</span>--installdir INSTALLDIR<span class="o">]</span> 410 <span class="o">[</span>--sysinstalldir SYSINSTALLDIR<span class="o">]</span> 404 411 <span class="o">[</span>--job_template JOB_TEMPLATE<span class="o">]</span> <span class="o">[</span>--controlfile CONTROLFILE<span class="o">]</span> 405 412 … … 409 416 -h, --help show this <span class="nb">help</span> message and <span class="nb">exit</span> 410 417 --target INSTALL_TARGET 411 Valid targets: <span class="nb">local</span> <span class="p">|</span> ecgate <span class="p">|</span> cca , the latter two418 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 412 419 are at ECMWF <span class="o">(</span>default: None<span class="o">)</span> 413 420 --makefile MAKEFILE Name of makefile to compile the Fortran … … 423 430 Root directory where flex_extract will be installed 424 431 to. <span class="o">(</span>default: None<span class="o">)</span> 432 --sysinstalldir SYSINSTALLDIR 433 System installation path<span class="p">;</span> where executables are 434 stored. <span class="o">(</span>default: None<span class="o">)</span> 425 435 --job_template JOB_TEMPLATE 426 436 The rudimentary template file to create a batch job -
Documentation/html/Installation/local.html
r73308e0 r903ed4f 104 104 <li class="toctree-l4"><a class="reference internal" href="#testing-the-local-environment">Testing the local environment</a></li> 105 105 <li class="toctree-l4"><a class="reference internal" href="#local-installation">Local installation</a></li> 106 <li class="toctree-l4"><a class="reference internal" href="#local-system-installation">Local system installation</a></li> 106 107 </ul> 107 108 </li> … … 395 396 <p>The Fortran program called <code class="docutils literal notranslate"><span class="pre">calc_etadot</span></code> will be compiled during the 396 397 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. 397 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>398 <p>However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into <code class="docutils literal notranslate"><span class="pre">setup .sh</span></code>398 This may be overwritten by the <code class="docutils literal notranslate"><span class="pre">MAKEFILE</span></code> parameter in <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code>.</p> 399 <p>However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code> 399 400 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> 400 <p>In the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, open the <code class="docutils literal notranslate"><span class="pre">setup .sh</span></code> script401 <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 401 402 with an editor and adapt the installation parameters in the section labelled with 402 403 “AVAILABLE COMMANDLINE ARGUMENTS TO SET” as shown below:</p> 403 <div class="literal-block-wrapper docutils container" id="setup- sh">404 <div class="code-block-caption"><span class="caption-text">‘Example settings for a local installation.’</span><a class="headerlink" href="#setup- sh" title="Permalink to this code">¶</a></div>404 <div class="literal-block-wrapper docutils container" id="setup-local-sh"> 405 <div class="code-block-caption"><span class="caption-text">‘Example settings for a local installation.’</span><a class="headerlink" href="#setup-local-sh" title="Permalink to this code">¶</a></div> 405 406 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>... 406 407 <span class="c1"># -----------------------------------------------------------------</span> … … 416 417 <span class="nv">DESTINATION</span><span class="o">=</span>None 417 418 <span class="nv">INSTALLDIR</span><span class="o">=</span>None 419 <span class="nv">SYSINSTALLDIR</span><span class="o">=</span>None 418 420 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">''</span> 419 421 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> … … 423 425 </div> 424 426 <p>Afterwards, type:</p> 425 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup .sh427 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup_local.sh 426 428 </pre></div> 427 429 </div> 428 430 <p>to start the installation. You should see the following standard output.</p> 429 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup .sh</span>431 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup_local.sh</span> 430 432 WARNING: installdir has not been specified 431 433 flex_extract will be installed in here by compiling the Fortran <span class="nb">source</span> in <path-to-flex_extract>/flex_extract_v7.1/Source/Fortran … … 446 448 </div> 447 449 </div> 450 <div class="section" id="local-system-installation"> 451 <h2>Local system installation<a class="headerlink" href="#local-system-installation" title="Permalink to this headline">¶</a></h2> 452 <p>There is also the possibility to separate the software executables from the user application files. For doing so, the <code class="docutils literal notranslate"><span class="pre">TARGET</span></code> parameter can be set to “syslocal” and the additional parameter <code class="docutils literal notranslate"><span class="pre">SYSINSTALLDIR</span></code> in the <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code> has to be specified. This new path will contain the Fortran and Python executables of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>. If you chose to set a system path for this, please start the script as root. 453 The user directory for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, which basically consists of everything except the <code class="docutils literal notranslate"><span class="pre">Source</span></code> directory, will be installed into <code class="docutils literal notranslate"><span class="pre">INSTALLDIR</span></code>. 454 In this installation mode, an extra (hidden) <code class="docutils literal notranslate"><span class="pre">.setup.rc</span></code> file will be generated in the <code class="docutils literal notranslate"><span class="pre">Run</span></code> directory. It contains the necessary settings for running the local system mode.</p> 455 <p>Despite the change in the <code class="docutils literal notranslate"><span class="pre">TARGET</span></code> parameter, the meaning of <code class="docutils literal notranslate"><span class="pre">INSTALLDIR</span></code> and the additional <code class="docutils literal notranslate"><span class="pre">SYSINSTALLDIR</span></code>, the steps for installation are the same as in the local installation mentioned above. For example, modify the <code class="docutils literal notranslate"><span class="pre">setup_local.sh</span></code> file as follows:</p> 456 <div class="literal-block-wrapper docutils container" id="id1"> 457 <div class="code-block-caption"><span class="caption-text">‘Example settings for a local system installation.’</span><a class="headerlink" href="#id1" title="Permalink to this code">¶</a></div> 458 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>... 459 <span class="c1"># -----------------------------------------------------------------</span> 460 <span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span> 461 <span class="c1">#</span> 462 <span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span> 463 <span class="c1">#</span> 464 <span class="nv">TARGET</span><span class="o">=</span><span class="s1">'syslocal'</span> 465 <span class="nv">MAKEFILE</span><span class="o">=</span><name_of_your_makefile> 466 <span class="nv">ECUID</span><span class="o">=</span>None 467 <span class="nv">ECGID</span><span class="o">=</span>None 468 <span class="nv">GATEWAY</span><span class="o">=</span>None 469 <span class="nv">DESTINATION</span><span class="o">=</span>None 470 <span class="nv">INSTALLDIR</span><span class="o">=</span><span class="nv">$HOME</span> 471 <span class="nv">SYSINSTALLDIR</span><span class="o">=</span>/usr/bin/ 472 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">''</span> 473 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</span> 474 ... 475 </pre></div> 476 </div> 477 </div> 478 <p>Afterwards, type:</p> 479 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ sudo ./setup_local.sh 480 </pre></div> 481 </div> 482 <p>to start the installation. You should see the following standard output.</p> 483 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>Flex_extract will be installed in <<span class="nv">$HOME</span>> 484 Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2 485 486 Using makefile: makefile_local_gfortran 487 /usr/local/bin/gfortran -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian -c ./rwgrib2.f90 488 /usr/local/bin/gfortran -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian -c ./phgrreal.f90 489 /usr/local/bin/gfortran -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian -c ./grphreal.f90 490 /usr/local/bin/gfortran -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian -c ./ftrafo.f90 491 /usr/local/bin/gfortran -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian -c ./calc_etadot.f90 492 /usr/local/bin/gfortran -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert<span class="o">=</span>big-endian -c ./posnam.f90 493 /usr/local/bin/gfortran rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o -o calc_etadot_fast.out -O3 -march<span class="o">=</span>native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -fopenmp 494 ln -sf calc_etadot_fast.out calc_etadot 495 496 lrwxrwxrwx. <span class="m">1</span> <username> tmc <span class="m">20</span> <span class="m">27</span>. Okt <span class="m">23</span>:25 ./calc_etadot -> calc_etadot_fast.out 497 SUCCESS: INSTALLATION FINISHED! 498 </pre></div> 499 </div> 500 <p>You can now change into the user directory specified in <code class="docutils literal notranslate"><span class="pre">INSTALLDIR</span></code> and find a <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X</span></code> directory there.</p> 501 </div> 448 502 </div> 449 503 -
Documentation/html/_modules/ControlFile.html
r08c9091 r903ed4f 183 183 <span class="c1"># June 2020 - Anne Philipp</span> 184 184 <span class="c1"># - update default makefile to None</span> 185 <span class="c1"># August 2020 - Leopold Haimberger</span> 186 <span class="c1"># - added a class parameter for system installation path</span> 185 187 <span class="c1">#</span> 186 188 <span class="c1"># @License:</span> … … 566 568 <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> 567 569 <span class="bp">self</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="kc">None</span> 570 <span class="bp">self</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="o">=</span> <span class="kc">None</span> 568 571 <span class="bp">self</span><span class="o">.</span><span class="n">makefile</span> <span class="o">=</span> <span class="kc">None</span> 569 572 <span class="bp">self</span><span class="o">.</span><span class="n">destination</span> <span class="o">=</span> <span class="kc">None</span> -
Documentation/html/_modules/install.html
r08c9091 r903ed4f 181 181 <span class="c1"># June 2020 - Anne Philipp</span> 182 182 <span class="c1"># - renamed "convert" functions to "fortran" functions</span> 183 <span class="c1"># - reconfigured mk_tarball to select *.template files instead 183 <span class="c1"># - reconfigured mk_tarball to select *.template files instead</span> 184 184 <span class="c1"># of *.nl and *.temp</span> 185 185 <span class="c1"># - added check for makefile settings</span> 186 <span class="c1"># August 2020 - Leopold Haimberger</span> 187 <span class="c1"># - added a new installation section for system installation (if-else block)</span> 188 <span class="c1"># - read new argument from command line</span> 189 <span class="c1"># - write .setup.rc for a system installation into Run directory</span> 190 <span class="c1"># - copy executables to system path and user files to user path</span> 186 191 <span class="c1">#</span> 187 192 <span class="c1"># @License:</span> … … 237 242 <span class="kn">import</span> <span class="nn">subprocess</span> 238 243 <span class="kn">import</span> <span class="nn">tarfile</span> 244 <span class="kn">import</span> <span class="nn">shutil</span> 239 245 <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> 240 246 … … 244 250 <span class="kn">from</span> <span class="nn">Classes.UioFiles</span> <span class="kn">import</span> <span class="n">UioFiles</span> 245 251 <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> 246 <span class="n">silent_remove</span><span class="p">,</span> <span class="n">execute_subprocess</span><span class="p">,</span> <span class="n">none_or_str</span><span class="p">)</span> 252 <span class="n">silent_remove</span><span class="p">,</span> <span class="n">execute_subprocess</span><span class="p">,</span> <span class="n">none_or_str</span><span class="p">,</span> 253 <span class="n">overwrite_lines_in_file</span><span class="p">,</span> <span class="n">check_for_string_in_file</span><span class="p">)</span> 247 254 248 255 <span class="c1"># ------------------------------------------------------------------------------</span> … … 265 272 <span class="n">check_install_conditions</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> 266 273 267 <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o ">!=</span> <span class="s1">'local'</span><span class="p">:</span> <span class="c1"># ecgate or cca</span>274 <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'local'</span><span class="p">,</span> <span class="s1">'syslocal'</span><span class="p">]:</span> <span class="c1"># ecgate or cca</span> 268 275 <span class="n">install_via_gateway</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> 269 276 <span class="k">else</span><span class="p">:</span> <span class="c1"># local</span> 270 277 <span class="n">install_local</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> 271 278 279 <span class="nb">print</span><span class="p">(</span><span class="s2">"SUCCESS: INSTALLATION FINISHED!"</span><span class="p">)</span> 280 272 281 <span class="k">return</span></div> 273 282 … … 290 299 <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s1">'--target'</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s1">'install_target'</span><span class="p">,</span> 291 300 <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> 292 <span class="n">help</span><span class="o">=</span><span class="s2">"Valid targets: local | ecgate | cca , </span><span class="se">\</span>301 <span class="n">help</span><span class="o">=</span><span class="s2">"Valid targets: syslocal | local | ecgate | cca , </span><span class="se">\</span> 293 302 <span class="s2"> the latter two are at ECMWF"</span><span class="p">)</span> 294 303 <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"--makefile"</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">"makefile"</span><span class="p">,</span> … … 312 321 <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"--installdir"</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">"installdir"</span><span class="p">,</span> 313 322 <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> 314 <span class="n">help</span><span class="o">=</span><span class="s1">'Root directory of the '</span>323 <span class="n">help</span><span class="o">=</span><span class="s1">'Root (user) directory of the '</span> 315 324 <span class="s1">'flex_extract installation'</span><span class="p">)</span> 325 <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">"--sysinstalldir"</span><span class="p">,</span> <span class="n">dest</span><span class="o">=</span><span class="s2">"sysinstalldir"</span><span class="p">,</span> 326 <span class="nb">type</span><span class="o">=</span><span class="n">none_or_str</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> 327 <span class="n">help</span><span class="o">=</span><span class="s1">'System installation path; where '</span> 328 <span class="s1">'executables are stored.'</span><span class="p">)</span> 316 329 317 330 <span class="c1"># arguments for job submission to ECMWF, only needed by submit.py</span> … … 390 403 <span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span> <span class="o">+</span> <span class="s1">'.tar'</span><span class="p">)</span> 391 404 392 <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">==</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">:</span> 393 <span class="nb">print</span><span class="p">(</span><span class="s1">'WARNING: installdir has not been specified'</span><span class="p">)</span> 394 <span class="nb">print</span><span class="p">(</span><span class="s1">'flex_extract will be installed in here by compiling the '</span> <span class="o">+</span> 395 <span class="s1">'Fortran source in '</span> <span class="o">+</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span> 396 <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span> 397 <span class="k">else</span><span class="p">:</span> <span class="c1"># creates the target working directory for flex_extract</span> 398 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span> 399 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">))</span> 400 <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">!=</span> \ 401 <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">):</span> 405 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span> 406 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">)))</span> 407 <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expandvars</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span> 408 <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)))</span> 409 410 <span class="c1"># this is standard installation into a single directory</span> 411 <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">'local'</span><span class="p">:</span> 412 413 <span class="c1"># installation into the current directory</span> 414 <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">:</span> 415 <span class="nb">print</span><span class="p">(</span><span class="s1">'WARNING: installdir has not been specified'</span><span class="p">)</span> 416 <span class="nb">print</span><span class="p">(</span><span class="s1">'flex_extract will be installed in current dir by compiling the '</span> <span class="o">+</span> 417 <span class="s1">'Fortran source in '</span> <span class="o">+</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span> 418 <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FORTRAN_SRC</span><span class="p">)</span> 419 <span class="c1"># installation into a different path</span> 420 <span class="k">elif</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">!=</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="p">:</span> 421 422 <span class="c1"># creates the target working directory for flex_extract</span> 402 423 <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> 403 424 <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> … … 410 431 <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span> 411 432 412 <span class="c1"># Create Fortran executable</span> 413 <span class="nb">print</span><span class="p">(</span><span class="s1">'Install '</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">' software at '</span> <span class="o">+</span> 414 <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">' in directory '</span> <span class="o">+</span> 415 <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 416 417 <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span> 418 <span class="n">mk_fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span> 433 <span class="c1"># Create Fortran executable</span> 434 <span class="nb">print</span><span class="p">(</span><span class="s1">'Install '</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">' software at '</span> <span class="o">+</span> 435 <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">' in directory '</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">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 436 437 <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span> 438 <span class="n">mk_fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span> 439 <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="s1">'../../'</span><span class="p">)</span> 440 <span class="c1"># make sure that the correct calling of submit.py script is in run_local.sh</span> 441 <span class="n">overwrite_lines_in_file</span><span class="p">(</span><span class="s1">'Run/run_local.sh'</span><span class="p">,</span> 442 <span class="s1">'pyscript='</span><span class="p">,</span> <span class="s1">'pyscript=../Source/Python/submit.py</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 443 444 <span class="c1"># this is system installation were executables and user files are separated</span> 445 <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">'syslocal'</span><span class="p">:</span> 446 <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="p">:</span> 447 <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="s1">'ERROR: System installation path is equal to user '</span> 448 <span class="s1">'installation path.</span><span class="se">\n</span><span class="s1"> Please change either the system '</span> 449 <span class="s1">'installation path or use installation target "local".'</span><span class="p">)</span> 450 <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">)</span> <span class="o">==</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="p">:</span> 451 <span class="nb">print</span><span class="p">(</span><span class="s1">'Flex_extract will be installed in current directory!'</span><span class="p">)</span> 452 <span class="k">else</span><span class="p">:</span> <span class="c1"># install user part in different dir</span> 453 <span class="nb">print</span><span class="p">(</span><span class="s1">'Flex_extract will be installed in '</span> <span class="o">+</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="p">)</span> 454 455 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span><span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span><span class="p">)</span> 456 <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">):</span> 457 <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">)</span> 458 459 <span class="c1"># copy all files except Python and Fortranfiles to this dir</span> 460 <span class="n">shutil</span><span class="o">.</span><span class="n">copytree</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span><span class="p">,</span> 461 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span> <span class="n">symlinks</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> 462 <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span><span class="s1">'Source'</span><span class="p">))</span> 463 <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span><span class="s1">'.git'</span><span class="p">))</span> 464 <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span> <span class="s1">'*~'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">:</span> 465 <span class="n">silent_remove</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> 466 467 <span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span><span class="s1">'setup.sh'</span><span class="p">))</span> 468 <span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span><span class="s1">'setup_local.sh'</span><span class="p">))</span> 469 470 <span class="c1"># configure run_local script correctly</span> 471 <span class="c1"># check if source of system config file is already in run_local.sh,</span> 472 <span class="c1"># if not, add it</span> 473 <span class="k">if</span> <span class="ow">not</span> <span class="n">check_for_string_in_file</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span><span class="s1">'Run/run_local.sh'</span><span class="p">),</span> 474 <span class="s1">'source .setup.rc'</span><span class="p">):</span> 475 <span class="n">overwrite_lines_in_file</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span><span class="s1">'Run/run_local.sh'</span><span class="p">),</span> 476 <span class="s1">'# PATH TO SUBMISSION SCRIPT'</span><span class="p">,</span> 477 <span class="s1">'# PATH TO SUBMISSION SCRIPT</span><span class="se">\n</span><span class="s1">source '</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">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 478 <span class="c1"># make sure that the correct calling of submit.py script is in run_local.sh</span> 479 <span class="n">overwrite_lines_in_file</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">,</span><span class="s1">'Run/run_local.sh'</span><span class="p">),</span> 480 <span class="s1">'pyscript='</span><span class="p">,</span> <span class="s1">'pyscript=submit.py</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 481 482 <span class="c1"># change permission for file to executable</span> 483 <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">'chmod'</span><span class="p">,</span> <span class="s1">'0775'</span><span class="p">,</span> 484 <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">),</span><span class="s1">'Run/run_local.sh'</span><span class="p">)])</span> 485 486 487 <span class="c1"># create systemdir</span> 488 <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">,</span><span class="n">_config</span><span class="o">.</span><span class="n">FLEXEXTRACT_DIRNAME</span><span class="p">)</span> 489 <span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">):</span> 490 <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)</span> 491 492 <span class="c1"># create setup file for running flex_extract with system installation</span> 493 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">),</span><span class="s1">'Run/.setup.rc'</span><span class="p">),</span><span class="s1">'w'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span> 494 <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'#!/bin/bash </span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 495 <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'export FLEXEXTRACT_USER_DIR='</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">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 496 <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'export PATH='</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">'/Python:$</span><span class="si">{PATH}</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 497 <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'export PATH='</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">':$</span><span class="si">{PATH}</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 498 499 <span class="c1"># copy all Python and Fortranfiles to this dir</span> 500 <span class="n">shutil</span><span class="o">.</span><span class="n">copytree</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_SOURCES</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">,</span> <span class="n">symlinks</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> 501 502 <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">,</span><span class="s1">'Fortran'</span><span class="p">))</span> 503 <span class="c1"># Create Fortran executable</span> 504 <span class="nb">print</span><span class="p">(</span><span class="s1">'Install '</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">' software as '</span> <span class="o">+</span> 505 <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">+</span> <span class="s1">' in directory '</span> <span class="o">+</span> 506 <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span> 507 508 <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span> 509 <span class="n">mk_fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">,</span> <span class="n">c</span><span class="o">.</span><span class="n">makefile</span><span class="p">)</span> 510 511 <span class="n">outfile</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">UioFiles</span><span class="p">(</span><span class="s1">'.'</span><span class="p">,</span><span class="s1">'*.out'</span><span class="p">)</span><span class="o">.</span><span class="n">files</span><span class="p">]</span> 512 <span class="n">test</span><span class="o">=</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">,</span><span class="s1">'calc_etadot'</span><span class="p">)</span> 513 <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">outfile</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span> 514 <span class="nb">print</span><span class="p">(</span><span class="s1">'WARNING: Multiple executables for Fortran code are available!'</span><span class="p">)</span> 515 <span class="c1"># move executable one dir up and delete Fortran dir</span> 516 <span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="s1">'..'</span><span class="p">)</span> 517 <span class="n">shutil</span><span class="o">.</span><span class="n">move</span><span class="p">(</span><span class="n">outfile</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">,</span><span class="s1">'calc_etadot'</span><span class="p">))</span> 518 <span class="n">shutil</span><span class="o">.</span><span class="n">rmtree</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">),</span><span class="s1">'Fortran'</span><span class="p">))</span> 419 519 420 520 <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> … … 451 551 <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> 452 552 453 <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o ">!=</span> <span class="s1">'local'</span><span class="p">:</span>553 <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">and</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'local'</span><span class="p">,</span> <span class="s1">'syslocal'</span><span class="p">]:</span> 454 554 <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> 455 555 <span class="nb">print</span><span class="p">(</span><span class="s1">'Please enter your ECMWF user id and group id '</span> … … 467 567 <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> 468 568 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="s1">'$</span><span class="si">{HOME}</span><span class="s1">'</span> 469 <span class="k">el se</span><span class="p">:</span> <span class="c1"># local</span>569 <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">'local'</span><span class="p">:</span> 470 570 <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> 471 571 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span> 572 <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">install_target</span> <span class="o">==</span> <span class="s1">'syslocal'</span><span class="p">:</span> 573 <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">:</span> 574 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="n">_config</span><span class="o">.</span><span class="n">PATH_FLEXEXTRACT_DIR</span> 575 <span class="k">if</span> <span class="ow">not</span> <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">:</span> 576 <span class="nb">print</span><span class="p">(</span><span class="s1">'ERROR: System installation was selected but '</span> 577 <span class="s1">'no system installation path was defined.'</span><span class="p">)</span> 578 <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span> 472 579 473 580 <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> … … 485 592 <span class="k">else</span><span class="p">:</span> 486 593 <span class="k">pass</span> 487 594 488 595 <span class="k">return</span></div> 489 596 … … 877 984 <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span> 878 985 <span class="k">else</span><span class="p">:</span> 879 <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">'ls'</span><span class="p">,</span> <span class="s1">'-l'</span><span class="p">,</span> 986 <span class="n">execute_subprocess</span><span class="p">([</span><span class="s1">'ls'</span><span class="p">,</span> <span class="s1">'-l'</span><span class="p">,</span> 880 987 <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> 881 988 <span class="n">error_msg</span><span class="o">=</span><span class="s1">'FORTRAN EXECUTABLE COULD NOT BE FOUND!'</span><span class="p">)</span> -
Documentation/html/_modules/submit.html
r08c9091 r47be2684 276 276 <span class="k">else</span><span class="p">:</span> 277 277 <span class="n">submit</span><span class="p">(</span><span class="n">job_template</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">queue</span><span class="p">)</span> 278 <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">'FLEX_EXTRACT JOB SCRIPT IS SUBMIT ED!'</span>278 <span class="n">exit_message</span> <span class="o">=</span> <span class="s1">'FLEX_EXTRACT JOB SCRIPT IS SUBMITTED!'</span> 279 279 280 280 <span class="n">normal_exit</span><span class="p">(</span><span class="n">exit_message</span><span class="p">)</span> -
Documentation/html/_modules/tools.html
r08c9091 r903ed4f 184 184 <span class="c1"># put_file_to_ecserver, submit_job_to_ecserver, get_informations,</span> 185 185 <span class="c1"># get_dimensions, execute_subprocess, none_or_int, none_or_str</span> 186 <span class="c1">#</span> 187 <span class="c1"># August 2020 - Leopold Haimberger (University of Vienna)</span> 188 <span class="c1"># - added function to check if a specific string is in a file</span> 189 <span class="c1"># - added function to overwrite lines in a file which contain specific string</span> 186 190 <span class="c1">#</span> 187 191 <span class="c1"># @License:</span> … … 411 415 <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> 412 416 <span class="n">help</span><span class="o">=</span><span class="s1">'The name of the ECMWF server name where the'</span> 413 <span class="s1">'job script is to be submitted '</span> 417 <span class="s1">'job script is to be submitted '</span> 414 418 <span class="s1">'(e.g. ecgate | cca | ccb)'</span><span class="p">)</span> 415 419 … … 786 790 <span class="sd">'''Creates a directory.</span> 787 791 788 <span class="sd"> If the directory already exists, an information is printed and the creation 792 <span class="sd"> If the directory already exists, an information is printed and the creation</span> 789 793 <span class="sd"> skipped. The program stops only if there is another problem.</span> 790 794 … … 1018 1022 <span class="sd"> ----------</span> 1019 1023 <span class="sd"> cmd_list : list of str</span> 1020 <span class="sd"> A list of the components for the command line execution. 1021 <span class="sd"> They will be concatenated with blank space for the command 1024 <span class="sd"> A list of the components for the command line execution.</span> 1025 <span class="sd"> They will be concatenated with blank space for the command</span> 1022 1026 <span class="sd"> to be submitted, like ['mv', file1, file2] for mv file1 file2.</span> 1023 1027 … … 1072 1076 1073 1077 <span class="k">return</span> <span class="n">start_period</span><span class="p">,</span> <span class="n">end_period</span></div> 1078 1079 1080 <div class="viewcode-block" id="check_for_string_in_file"><a class="viewcode-back" href="../Documentation/Api/api_python.html#tools.check_for_string_in_file">[docs]</a><span class="k">def</span> <span class="nf">check_for_string_in_file</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="n">search_string</span><span class="p">):</span> 1081 <span class="sd">"""</span> 1082 <span class="sd"> Search for a specific string in a file and return True if</span> 1083 <span class="sd"> the string was found.</span> 1084 1085 <span class="sd"> Parameters</span> 1086 <span class="sd"> ----------</span> 1087 <span class="sd"> filepath : str</span> 1088 <span class="sd"> The full file path which is to be examined.</span> 1089 1090 <span class="sd"> search_string : str</span> 1091 <span class="sd"> The string which is looked up for in the file.</span> 1092 1093 <span class="sd"> Return</span> 1094 <span class="sd"> ------</span> 1095 <span class="sd"> Boolean :</span> 1096 <span class="sd"> True : String was found</span> 1097 <span class="sd"> False : String was not found</span> 1098 <span class="sd"> """</span> 1099 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span> 1100 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fio</span><span class="p">:</span> 1101 <span class="k">if</span> <span class="n">search_string</span> <span class="ow">in</span> <span class="n">line</span><span class="p">:</span> 1102 <span class="k">return</span> <span class="kc">True</span> 1103 <span class="k">return</span> <span class="kc">False</span></div> 1104 1105 1106 <div class="viewcode-block" id="overwrite_lines_in_file"><a class="viewcode-back" href="../Documentation/Api/api_python.html#tools.overwrite_lines_in_file">[docs]</a><span class="k">def</span> <span class="nf">overwrite_lines_in_file</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="n">search_string</span><span class="p">,</span> <span class="n">sub_string</span><span class="p">):</span> 1107 <span class="sd">"""</span> 1108 <span class="sd"> Overwrites lines which contain the given search string with the</span> 1109 <span class="sd"> substitution string.</span> 1110 1111 <span class="sd"> Parameters</span> 1112 <span class="sd"> ----------</span> 1113 <span class="sd"> search_string : str</span> 1114 <span class="sd"> The string which is looked up for in the file.</span> 1115 1116 <span class="sd"> sub_string : str</span> 1117 <span class="sd"> The string which overwrites the search string.</span> 1118 1119 <span class="sd"> Return</span> 1120 <span class="sd"> ------</span> 1121 <span class="sd"> """</span> 1122 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span> 1123 <span class="n">data</span> <span class="o">=</span> <span class="n">fio</span><span class="o">.</span><span class="n">readlines</span><span class="p">()</span> 1124 1125 <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fio</span><span class="p">:</span> 1126 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> 1127 <span class="k">if</span> <span class="n">search_string</span> <span class="ow">in</span> <span class="n">line</span><span class="p">:</span> 1128 <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">sub_string</span><span class="p">)</span> 1129 <span class="k">else</span><span class="p">:</span> 1130 <span class="n">fio</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span><span class="p">)</span> 1131 1132 <span class="k">return</span></div> 1133 1074 1134 </pre></div> 1075 1135 -
Documentation/html/_sources/Documentation/Input/setup.rst.txt
r5bee29a r47be2684 165 165 [--ecuid ECUID] [--ecgid ECGID] [--gateway GATEWAY] 166 166 [--destination DESTINATION] [--installdir INSTALLDIR] 167 [--sysinstalldir SYSINSTALLDIR] 167 168 [--job_template JOB_TEMPLATE] [--controlfile CONTROLFILE] 168 169 … … 172 173 -h, --help show this help message and exit 173 174 --target INSTALL_TARGET 174 Valid targets: local | ecgate | cca , the latter two175 Valid targets: syslocal | local | ecgate | cca , the latter two 175 176 are at ECMWF (default: None) 176 177 --makefile MAKEFILE Name of makefile to compile the Fortran … … 186 187 Root directory where flex_extract will be installed 187 188 to. (default: None) 189 --sysinstalldir SYSINSTALLDIR 190 System installation path; where executables are 191 stored. (default: None) 188 192 --job_template JOB_TEMPLATE 189 193 The rudimentary template file to create a batch job … … 198 202 199 203 204 200 205 .. toctree:: 201 206 :hidden: -
Documentation/html/_sources/Installation/local.rst.txt
r73308e0 r903ed4f 266 266 The Fortran program called ``calc_etadot`` will be compiled during the 267 267 installation process. A suitable makefile (``makefile_local_gfortran``) for the compilation is set by default. 268 This may be overwritten by the ``MAKEFILE`` parameter in ``setup .sh``.269 270 However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into ``setup .sh``268 This may be overwritten by the ``MAKEFILE`` parameter in ``setup_local.sh``. 269 270 However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into ``setup_local.sh`` 271 271 For details on the makefile and how to adapt them, see :ref:`Fortran Makefile <ref-convert>`. 272 272 273 273 274 In the root directory of ``flex_extract``, open the ``setup .sh`` script274 In the root directory of ``flex_extract``, open the ``setup_local.sh`` script 275 275 with an editor and adapt the installation parameters in the section labelled with 276 276 "AVAILABLE COMMANDLINE ARGUMENTS TO SET" as shown below: … … 279 279 .. code-block:: bash 280 280 :caption: 'Example settings for a local installation.' 281 :name: setup .sh281 :name: setup_local.sh 282 282 283 283 ... … … 294 294 DESTINATION=None 295 295 INSTALLDIR=None 296 SYSINSTALLDIR=None 296 297 JOB_TEMPLATE='' 297 298 CONTROLFILE='CONTROL_EA5' … … 303 304 .. code-block:: bash 304 305 305 $ ./setup .sh306 $ ./setup_local.sh 306 307 307 308 to start the installation. You should see the following standard output. … … 310 311 .. code-block:: bash 311 312 312 # Output of setup .sh313 # Output of setup_local.sh 313 314 WARNING: installdir has not been specified 314 315 flex_extract will be installed in here by compiling the Fortran source in <path-to-flex_extract>/flex_extract_v7.1/Source/Fortran … … 327 328 lrwxrwxrwx. 1 <username> tmc 20 Aug 12 10:59 ./calc_etadot -> calc_etadot_fast.out 328 329 330 331 Local system installation 332 ========================= 333 334 There is also the possibility to separate the software executables from the user application files. For doing so, the ``TARGET`` parameter can be set to "syslocal" and the additional parameter ``SYSINSTALLDIR`` in the ``setup_local.sh`` has to be specified. This new path will contain the Fortran and Python executables of ``flex_extract``. If you chose to set a system path for this, please start the script as root. 335 The user directory for ``flex_extract``, which basically consists of everything except the ``Source`` directory, will be installed into ``INSTALLDIR``. 336 In this installation mode, an extra (hidden) ``.setup.rc`` file will be generated in the ``Run`` directory. It contains the necessary settings for running the local system mode. 337 338 Despite the change in the ``TARGET`` parameter, the meaning of ``INSTALLDIR`` and the additional ``SYSINSTALLDIR``, the steps for installation are the same as in the local installation mentioned above. For example, modify the ``setup_local.sh`` file as follows: 339 340 341 .. code-block:: bash 342 :caption: 'Example settings for a local system installation.' 343 :name: setup_local.sh 344 345 ... 346 # ----------------------------------------------------------------- 347 # AVAILABLE COMMANDLINE ARGUMENTS TO SET 348 # 349 # THE USER HAS TO SPECIFY THESE PARAMETER 350 # 351 TARGET='syslocal' 352 MAKEFILE=<name_of_your_makefile> 353 ECUID=None 354 ECGID=None 355 GATEWAY=None 356 DESTINATION=None 357 INSTALLDIR=$HOME 358 SYSINSTALLDIR=/usr/bin/ 359 JOB_TEMPLATE='' 360 CONTROLFILE='CONTROL_EA5' 361 ... 362 363 364 Afterwards, type: 365 366 .. code-block:: bash 367 368 $ sudo ./setup_local.sh 369 370 to start the installation. You should see the following standard output. 371 372 .. code-block:: bash 373 374 Flex_extract will be installed in <$HOME> 375 Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2 376 377 Using makefile: makefile_local_gfortran 378 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./rwgrib2.f90 379 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./phgrreal.f90 380 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./grphreal.f90 381 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./ftrafo.f90 382 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./calc_etadot.f90 383 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./posnam.f90 384 /usr/local/bin/gfortran rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o -o calc_etadot_fast.out -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -fopenmp 385 ln -sf calc_etadot_fast.out calc_etadot 386 387 lrwxrwxrwx. 1 <username> tmc 20 27. Okt 23:25 ./calc_etadot -> calc_etadot_fast.out 388 SUCCESS: INSTALLATION FINISHED! 389 390 391 You can now change into the user directory specified in ``INSTALLDIR`` and find a ``flex_extract_vX.X`` directory there. -
Documentation/html/genindex.html
r08c9091 r47be2684 274 274 <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> 275 275 </li> 276 <li><a href="Documentation/Api/api_python.html#tools.check_for_string_in_file">check_for_string_in_file() (in module tools)</a> 277 </li> 276 278 <li><a href="Documentation/Api/api_python.html#checks.check_grid">check_grid() (in module checks)</a> 277 279 </li> … … 650 652 <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.omegadiff">omegadiff (ControlFile.ControlFile attribute)</a> 651 653 </li> 652 </ul></td>653 <td style="width: 33%; vertical-align: top;"><ul>654 654 <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.oper">oper (ControlFile.ControlFile attribute)</a> 655 655 </li> 656 </ul></td> 657 <td style="width: 33%; vertical-align: top;"><ul> 656 658 <li><a href="Documentation/Api/api_python.html#ControlFile.ControlFile.outputdir">outputdir (ControlFile.ControlFile attribute)</a> 657 659 </li> 658 660 <li><a href="Documentation/Api/api_python.html#EcFlexpart.EcFlexpart.outputfilelist">outputfilelist (EcFlexpart.EcFlexpart attribute)</a> 661 </li> 662 <li><a href="Documentation/Api/api_python.html#tools.overwrite_lines_in_file">overwrite_lines_in_file() (in module tools)</a> 659 663 </li> 660 664 </ul></td> -
Documentation/html/searchindex.js
r73308e0 r903ed4f 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:{c lean_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 & 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}})1 Search.setIndex({docnames:["Developers/gen_docu","Documentation/Api/api_fortran","Documentation/Api/api_python","Documentation/Input/changes","Documentation/Input/compilejob","Documentation/Input/control","Documentation/Input/control_params","Documentation/Input/ecmwf_env","Documentation/Input/examples","Documentation/Input/fortran_makefile","Documentation/Input/jobscript","Documentation/Input/run","Documentation/Input/setup","Documentation/Input/templates","Documentation/Overview/app_modes","Documentation/Overview/prog_flow","Documentation/api","Documentation/disagg","Documentation/input","Documentation/output","Documentation/overview","Documentation/vertco","Ecmwf/access","Ecmwf/ec-links","Ecmwf/hintsecmwf","Ecmwf/msdata","Ecmwf/pubdata","Evaluation/metrics","Evaluation/staticcode","Evaluation/testcases","Installation/gateway","Installation/local","Installation/remote","Support/faq","Support/known_bugs_issues","authors","changelog","dev_guide","documentation","ecmwf_data","evaluation","index","installation","quick_start","support","todo"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.index":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["Developers/gen_docu.rst","Documentation/Api/api_fortran.rst","Documentation/Api/api_python.rst","Documentation/Input/changes.rst","Documentation/Input/compilejob.rst","Documentation/Input/control.rst","Documentation/Input/control_params.rst","Documentation/Input/ecmwf_env.rst","Documentation/Input/examples.rst","Documentation/Input/fortran_makefile.rst","Documentation/Input/jobscript.rst","Documentation/Input/run.rst","Documentation/Input/setup.rst","Documentation/Input/templates.rst","Documentation/Overview/app_modes.rst","Documentation/Overview/prog_flow.rst","Documentation/api.rst","Documentation/disagg.rst","Documentation/input.rst","Documentation/output.rst","Documentation/overview.rst","Documentation/vertco.rst","Ecmwf/access.rst","Ecmwf/ec-links.rst","Ecmwf/hintsecmwf.rst","Ecmwf/msdata.rst","Ecmwf/pubdata.rst","Evaluation/metrics.rst","Evaluation/staticcode.rst","Evaluation/testcases.rst","Installation/gateway.rst","Installation/local.rst","Installation/remote.rst","Support/faq.rst","Support/known_bugs_issues.rst","authors.rst","changelog.rst","dev_guide.rst","documentation.rst","ecmwf_data.rst","evaluation.rst","index.rst","installation.rst","quick_start.rst","support.rst","todo.rst"],objects:{"":{ControlFile:[2,0,0,"-"],EcFlexpart:[2,0,0,"-"],GribUtil:[2,0,0,"-"],MarsRetrieval:[2,0,0,"-"],UioFiles:[2,0,0,"-"],checks:[2,0,0,"-"],disaggregation:[2,0,0,"-"],get_mars_data:[2,0,0,"-"],install:[2,0,0,"-"],prepare_flexpart:[2,0,0,"-"],submit:[2,0,0,"-"],tools:[2,0,0,"-"]},"ControlFile.ControlFile":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],assign_args_to_control:[2,3,1,""],assign_envs_to_control:[2,3,1,""],basetime:[2,2,1,""],cds_api:[2,2,1,""],check_conditions:[2,3,1,""],controlfile:[2,2,1,""],cwc:[2,2,1,""],dataset:[2,2,1,""],date_chunk:[2,2,1,""],debug:[2,2,1,""],destination:[2,2,1,""],doubleelda:[2,2,1,""],dpdeta:[2,2,1,""],dtime:[2,2,1,""],ec_api:[2,2,1,""],ecfsdir:[2,2,1,""],ecgid:[2,2,1,""],ecstorage:[2,2,1,""],ectrans:[2,2,1,""],ecuid:[2,2,1,""],end_date:[2,2,1,""],eta:[2,2,1,""],etadiff:[2,2,1,""],etapar:[2,2,1,""],exedir:[2,2,1,""],expver:[2,2,1,""],flexextractdir:[2,2,1,""],format:[2,2,1,""],gateway:[2,2,1,""],gauss:[2,2,1,""],gaussian:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],install_target:[2,2,1,""],installdir:[2,2,1,""],left:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],logicals:[2,2,1,""],lower:[2,2,1,""],mailfail:[2,2,1,""],mailops:[2,2,1,""],makefile:[2,2,1,""],marsclass:[2,2,1,""],maxstep:[2,2,1,""],number:[2,2,1,""],omega:[2,2,1,""],omegadiff:[2,2,1,""],oper:[2,2,1,""],outputdir:[2,2,1,""],prefix:[2,2,1,""],purefc:[2,2,1,""],request:[2,2,1,""],resol:[2,2,1,""],right:[2,2,1,""],rrint:[2,2,1,""],smooth:[2,2,1,""],start_date:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],time:[2,2,1,""],to_list:[2,3,1,""],type:[2,2,1,""],upper:[2,2,1,""],wrf:[2,2,1,""]},"EcFlexpart.EcFlexpart":{"public":[2,2,1,""],accmaxstep:[2,2,1,""],acctime:[2,2,1,""],acctype:[2,2,1,""],accuracy:[2,2,1,""],addpar:[2,2,1,""],area:[2,2,1,""],basetime:[2,2,1,""],calc_extra_elda:[2,3,1,""],create:[2,3,1,""],dataset:[2,2,1,""],dates:[2,2,1,""],deacc_fluxes:[2,3,1,""],dtime:[2,2,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],glevelist:[2,2,1,""],grid:[2,2,1,""],inputdir:[2,2,1,""],level:[2,2,1,""],levelist:[2,2,1,""],marsclass:[2,2,1,""],mreq_count:[2,2,1,""],number:[2,2,1,""],outputfilelist:[2,2,1,""],params:[2,2,1,""],process_output:[2,3,1,""],purefc:[2,2,1,""],resol:[2,2,1,""],retrieve:[2,3,1,""],server:[2,2,1,""],stream:[2,2,1,""],types:[2,2,1,""],write_namelist:[2,3,1,""]},"GribUtil.GribUtil":{copy_dummy_msg:[2,3,1,""],get_keys:[2,3,1,""],index:[2,3,1,""],set_keys:[2,3,1,""]},"MarsRetrieval.MarsRetrieval":{"public":[2,2,1,""],accuracy:[2,2,1,""],area:[2,2,1,""],data_retrieve:[2,3,1,""],dataset:[2,2,1,""],date:[2,2,1,""],display_info:[2,3,1,""],expver:[2,2,1,""],gaussian:[2,2,1,""],grid:[2,2,1,""],levelist:[2,2,1,""],levtype:[2,2,1,""],marsclass:[2,2,1,""],number:[2,2,1,""],param:[2,2,1,""],print_infodata_csv:[2,3,1,""],repres:[2,2,1,""],resol:[2,2,1,""],server:[2,2,1,""],step:[2,2,1,""],stream:[2,2,1,""],target:[2,2,1,""],time:[2,2,1,""],type:[2,2,1,""]},"UioFiles.UioFiles":{delete_files:[2,3,1,""],files:[2,2,1,""],path:[2,2,1,""],pattern:[2,2,1,""]},ControlFile:{ControlFile:[2,1,1,""]},EcFlexpart:{EcFlexpart:[2,1,1,""]},GribUtil:{GribUtil:[2,1,1,""]},MarsRetrieval:{MarsRetrieval:[2,1,1,""]},UioFiles:{UioFiles:[2,1,1,""]},checks:{check_accmaxstep:[2,4,1,""],check_acctime:[2,4,1,""],check_acctype:[2,4,1,""],check_addpar:[2,4,1,""],check_area:[2,4,1,""],check_basetime:[2,4,1,""],check_dates:[2,4,1,""],check_grid:[2,4,1,""],check_job_chunk:[2,4,1,""],check_len_type_time_step:[2,4,1,""],check_levels:[2,4,1,""],check_logicals_type:[2,4,1,""],check_mail:[2,4,1,""],check_maxstep:[2,4,1,""],check_number:[2,4,1,""],check_pathes:[2,4,1,""],check_ppid:[2,4,1,""],check_public:[2,4,1,""],check_purefc:[2,4,1,""],check_queue:[2,4,1,""],check_request:[2,4,1,""],check_step:[2,4,1,""],check_time:[2,4,1,""],check_type:[2,4,1,""]},disaggregation:{IA3:[2,4,1,""],dapoly:[2,4,1,""],darain:[2,4,1,""]},get_mars_data:{check_dates_for_nonflux_fc_times:[2,4,1,""],do_retrievement:[2,4,1,""],get_mars_data:[2,4,1,""],main:[2,4,1,""],mk_dates:[2,4,1,""],mk_server:[2,4,1,""],remove_old:[2,4,1,""],write_reqheader:[2,4,1,""]},install:{check_install_conditions:[2,4,1,""],del_fortran_build:[2,4,1,""],get_install_cmdline_args:[2,4,1,""],install_local:[2,4,1,""],install_via_gateway:[2,4,1,""],main:[2,4,1,""],mk_compilejob:[2,4,1,""],mk_env_vars:[2,4,1,""],mk_fortran_build:[2,4,1,""],mk_job_template:[2,4,1,""],mk_tarball:[2,4,1,""],un_tarball:[2,4,1,""]},prepare_flexpart:{main:[2,4,1,""],prepare_flexpart:[2,4,1,""]},submit:{main:[2,4,1,""],mk_jobscript:[2,4,1,""],submit:[2,4,1,""]},tools:{check_for_string_in_file:[2,4,1,""],clean_up:[2,4,1,""],execute_subprocess:[2,4,1,""],generate_retrieval_period_boundary:[2,4,1,""],get_cmdline_args:[2,4,1,""],get_dimensions:[2,4,1,""],get_informations:[2,4,1,""],get_list_as_string:[2,4,1,""],init128:[2,4,1,""],make_dir:[2,4,1,""],my_error:[2,4,1,""],none_or_int:[2,4,1,""],none_or_str:[2,4,1,""],normal_exit:[2,4,1,""],overwrite_lines_in_file:[2,4,1,""],product:[2,4,1,""],put_file_to_ecserver:[2,4,1,""],read_ecenv:[2,4,1,""],send_mail:[2,4,1,""],setup_controldata:[2,4,1,""],silent_remove:[2,4,1,""],submit_job_to_ecserver:[2,4,1,""],to_param_id:[2,4,1,""],to_param_id_with_tablenumber:[2,4,1,""]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:method","4":"py:function"},terms:{"00h":[6,11],"10u":19,"10v":19,"12h":[6,11],"150px":[],"180w":6,"18utc":2,"1hourli":[8,43],"1st":[],"20c":[5,6,19,21,22,23,34,36,42,43],"20gb":43,"24h":6,"25th":[],"31st":[],"32000mb":[10,13],"3200mb":[4,13],"36hour":[8,43],"3hourli":[8,43],"4th":[],"60px":[],"6th":43,"althanstra\u00df":35,"boolean":2,"break":[],"case":[0,2,4,6,10,13,14,17,19,21,22,32,33,42,43,44],"class":[0,5,6,31],"default":[2,3,5,6,8,9,10,11,12,18,19,31,43],"export":[4,10,13],"f\u00fcr":13,"final":[0,2,11,15,17,19,21,43],"float":[2,11],"function":[2,17,41],"import":[2,6,11,30,31,33,34,36,39,43,44],"int":[2,6,30,32,43],"long":43,"m\u00e4r":[],"new":[2,6,10,11,17,31,41,43,44],"public":[2,5,6,8,10,11,12,14,22,23,24,31,36,39,41],"return":[2,4,10,34],"short":[2,5,6,17,30,43],"switch":[2,4,6,10,13,19],"true":[0,2],"try":[31,42,43],"while":[22,43],ARE:5,But:[],C3S:23,CDS:[2,22,23,33,36,42],Dps:[2,6],ENS:[23,43],FOR:[11,12],For:[0,2,5,6,9,11,13,14,18,19,21,22,24,30,31,32,34,39,42,43],HAS:[11,12,30,31,32,43],Has:[6,11],IDs:[2,6,15,43],Its:[2,43],NOT:[11,12,31],Not:12,One:[33,43],PBS:[4,10,13],THE:[11,12,30,31,32,43],THESE:[11,12,30,31,32,43],The:[0,2,13,14,15,17,18,19,20,21,22,30,31,32,34,39,42,43,44],Then:[2,11,14,42],There:[2,5,18,19,22,31,39,42,43],These:[4,10,13,17,42,43],Use:[0,6,30,32,43],Used:[2,12],Useful:[],Uses:2,Using:[31,43],WITH:[11,12],With:[6,11,12,18,43],_acc:19,_config:2,_expand:2,_file:0,_local:44,_orolsm:19,_static:[],_templat:2,a_0:17,a_1:17,a_2:17,a_3:17,abcd:2,abl:[2,13,18,19,22,30,43],about:[2,5,11,14,19,33,39,42,43],abov:[2,17,31,43],absolut:[],accept:[6,14,21,22,41,43],access:[2,5,6,12,14,23,24,30,31,32,33,39,41,42,43],accmaxstep:[2,5,6,10,43],accomplish:15,accord:[6,12,43],account:[30,32,39,42,43],acctim:[2,5,6,10,43],acctyp:[2,5,6,10,43],accumlu:2,accumul:[2,6,17,19,43],accur:43,accuraci:[2,5,6,10,19,21],achiev:21,action:[23,31,32],activ:42,activid:32,actual:[2,6,12,13,18,19,42,43],adapt:[0,2,5,6,9,11,12,13,18,30,31,32,33,36,43],add:[2,43],added:[17,19],adding:[2,43],addit:[2,5,11,15,17,20,30,31,39,43],addition:[2,6,14,30,43],addpar:[2,5,6,10,43],address:[2,6,12,19,30,32,43],adjac:17,adjust:41,admin:[12,30,31,33],adress:12,advanc:2,aerosol:35,affect:17,after:[2,5,6,11,12,15,17,18,43],afterward:[2,13,17,30,31,32],again:[11,12],against:[],aggreg:19,agre:22,agreement:14,algorithm:[2,17,36],align:[],alist:2,all:[2,5,6,8,11,12,13,15,17,19,30,31,32,33,42,43],alll:39,allow:[2,6,11,22,43],alpabet:2,alreadi:[2,11,12,22,30,31,32,42,43],also:[0,2,5,6,10,11,12,17,18,19,21,22,31,32,39,42,43,44],alter:19,altern:42,alwai:[6,11,12,43],amount:[2,6,11,17,39],anaconda:[31,42],analys:[21,39,43],analysi:[2,5,6,11,19,22,39,43],ani:[2,5,6,11,12,14,17,21,32,33,42,43,44],ann:[2,5,11,12,19,35],annep:[],annouc:44,announc:43,anog__ml:19,anog__sl:19,anoth:[2,6,9,33,43],ansh__sl:19,anymor:3,anyon:44,anyth:[6,11,12,13],api:[1,2,6,11,14,22,23,33,36,42,43],app:[30,32],appear:21,append:2,appli:[2,11,17,21,36,42,43],applic:[2,4,6,7,10,11,12,13,20,21,31,36,42,43,44],approach:17,appropri:[6,43,44],approri:6,april:43,apt:[30,31],arbitrari:2,archiv:[2,5,11,18,20,22,30,41,42],area:[2,5,6,10,11,12,17,19,31,43],arg:2,argument:[2,11,12,18,22,30,31,32,42,43,44],aris:14,around:[17,20],arrai:[2,34],arrang:2,array_t1:2,array_t2:2,array_t3:2,array_t4:2,articl:[2,6],ascrib:17,ask:[19,32,41,42,44],aspect:42,assign:[2,9],assign_args_to_control:2,assign_envs_to_control:2,assimil:43,assoc_nam:30,associ:[2,12,30,43],assum:[21,43],atm:[],atmospher:[17,20,23,34,41,43],attempt:2,attent:[6,43],attribut:[2,11,12,41],aug:31,august:43,austria:35,author:[2,5,11,12,32],auto:38,automat:[6,11,14,17,22,30,32,36,43,44],autoprogram:[],avail:[2,3,5,6,11,12,17,19,21,22,23,30,31,32,33,34,39,42,43,44],averag:17,avoid:[19,21,36,43],awar:[34,43],awk:[4,13],back:[6,11,42],bahaviour:[],ball:[2,42],base:[2,7,10,11,17,36,39,42],basetim:[2,5,6,10,11,17,36,43],bash:[11,12,43],basic:[2,17,31],batch:[4,10,11,12,13,18,20,30,43],bdynam:31,beaver:[30,31],becaus:[12,21,43],beck:2,been:[5,15,30,31,32,42,43],befor:[0,2,6,10,17,19,32,34,39,42,43],begin:[2,13,17],beginn:[18,43],behaviour:[5,18],being:[12,19],belong:[42,43],below:[7,9,17,19,21,31,34,43,44],best:[6,17,39,43],better:[6,43],between:[2,4,6,7,10,17,19,21,30,43],beyond:43,bicub:[],big:[30,31,32],bilinear:17,bin:[4,10,11,12,13,31],bionic:[30,31],bit:[2,6],blank:[2,11],block:[19,43],blockdiag:0,blockdiag_fontpath:0,blog:33,blue:[12,17],boku:35,border:17,both:[2,21,31,39,43],bottom:44,boundari:[2,11,17],box:[2,11,12,41],bracket:43,branch:42,broader:39,bstatic:31,bug:41,build:[2,23],built:32,bunch:2,buster:[9,30,31],button:42,bypass:[],calc_etadot:[4,12,13,15,18,21,30,31,32,36,38,42,43],calc_etadot_fast:[30,31,32],calc_extra_elda:2,calcul:[2,5,6,15,17,20,43],calendar:43,calibr:[6,43],call:[2,4,9,10,11,12,13,15,18,19,22,30,31,42,43],can:[2,3,5,6,9,11,12,13,14,15,18,19,21,22,30,31,32,34,39,40,41,42,43,44],cancel:22,cannot:[21,43],care:[6,11,43],carefulli:39,carri:[2,6],cat:[10,13],catalogu:[6,43],catego:[],categori:44,caution:43,cautiou:[],cautious:43,caveat:43,cca:[2,4,9,10,11,12,13,14,30,32,43],ccb:[4,9,10,11,12,13,14,30,32,43],cdot:17,cds_api:[2,10],cdsapi:31,cdsapirc:31,ce00010800:19,ce000908:43,cell:17,centr:[19,20,39,41],central:[2,17],cera20c:[6,31],cera:[5,6,19,21,22,23,34,36,41,42],cera_exampl:43,cera_testgrid_local_cd:19,cerapubl:43,certain:[2,18,41,42],certif:30,chang:[6,11,12,13,15,17,18,23,31,32,39,41,42,43],change_icon:[],changelog:41,charact:2,character:2,characteris:2,characterist:43,check:[4,6,9,10,11,12,15,18,30,31,33,36,42,43],check_accmaxstep:2,check_acctim:2,check_acctyp:2,check_addpar:2,check_area:2,check_basetim:2,check_condit:2,check_dat:2,check_dates_for_nonflux_fc_tim:2,check_for_string_in_fil:2,check_grid:2,check_install_condit:2,check_job_chunk:2,check_len_type_time_step:2,check_level:2,check_logicals_typ:2,check_mail:2,check_maxstep:2,check_numb:2,check_path:2,check_ppid:2,check_publ:2,check_purefc:2,check_queu:2,check_request:2,check_step:2,check_tim:2,check_typ:2,checkerboard:17,choic:[9,21,43],choos:21,choosen:12,chose:31,chosen:[2,21],chunk:[2,11],circl:17,classif:[2,6],clean:2,clean_up:2,clear:[39,43],click:[24,42],client:[2,31],climat:[22,23,42],clist:2,clone:42,close:43,closest:34,cloud:[2,6,19,43],cmd_list:2,cmp:[],coarser:[3,6],code:[0,2,6,12,13,19,31,32,36,41,42,43],collect:[2,39,41,43,44],collis:19,colour:17,column:2,combin:[2,11,41],come:8,comma:[2,6,43],command:[2,4,5,9,10,11,12,15,18,22,30,31,32,34,42,43,44],commandlin:[2,11,12,30,31,32,43],comment:[3,5,13],common:[2,11,12,41,43],commonli:2,commun:[39,42,43,44],compar:[17,43],compat:[3,6,18,21],compil:[2,9,12,13,18,30,31,32,33,42],compilejob:[13,18,43],complet:[2,14,17,23,31,36],complex:39,compon:[0,2,17,19,39,42],compos:19,composit:[5,19,43],comprehens:5,comput:[13,17,21,22,23,30,42,43],concaten:2,concatenate_sign:2,concern:2,conda:31,condit:[2,6,11,17],conduct:12,configur:[2,42],confluenc:2,confus:39,congratul:42,connect:[2,22,30,32,43],conrtol:[],conserv:[2,6,17],consider:17,consist:[2,3,11,17,18,19,20,21,31,43],consol:[30,31],constel:8,constitut:11,construct:[0,27,28,29,37,38,40],consult:43,consum:31,contact:23,contain:[0,2,5,7,8,11,12,13,15,17,19,21,31,33,34,42,43,44],content:[2,6,13,23,30,32,39,41,43],context:2,continu:[2,6,17,43],control:[2,10,11,12,13,15,19,21,22,34,38,39,41,42,44],control_:[5,43],control_cera:[8,10,43],control_cont:13,control_ea5:[8,11,12,30,31,32,43],control_ei:[8,43],control_od:[8,43],controlfil:[10,11,12,13,30,31,32,43],controlparamet:5,convect:[2,11,17,19],conveni:43,convent:[2,5,19],convers:2,convert2:36,convert:[2,15,17,20,36,43],coordin:[19,21,43],copernicu:42,copi:[2,11,12,41,43],copy_dummy_msg:2,copyright:[2,11,12],corner:6,correct:[2,6,36,43],correctli:[2,6],correspon:18,correspond:[2,6,9,11,13,17,19,34,39,43],correspondingli:43,cost:21,could:[17,43],count:[6,11,34],counter:2,coupl:2,cours:34,cover:43,crai:[4,10,13],creat:[0,2,4,6,7,10,11,12,13,15,18,19,20,21,30,32,43,44],creation:2,creativ:[2,11,12,41],creativecommon:[2,11,12,41],credenti:[12,13,15,18,31,42,43,44],cross:6,csv:[2,6,11,15,19,43],cubic:2,current:[0,2,6,9,12,14,17,21,31,40,42,43],cvh:19,cvl:19,cwc:[2,5,6,10,43],cycl:43,cyclic:[6,21],d64:[30,32],dai:[2,6,11,17,19,23,30,31,43],daili:[6,43],damp:17,dapoli:2,darain:2,dark:17,dat:11,data:[2,5,8,11,12,15,20,21,22,23,31,36,38,41,42],data_retriev:2,databas:23,dataset:[2,5,6,10,11,14,19,21,22,23,31,41],datatyp:19,date:[2,5,6,11,12,17,19,31,34,43],date_chunk:[2,5,6,10,11,43],date_time_steprang:19,datechunk:2,datelin:6,datetim:2,deacc_flux:2,deaccumul:[2,43],deactiv:36,debian:[9,30,31,42],debug:[2,5,6,9,10,11,19,21,36,43],decid:[2,5,18,43],decim:43,decis:2,declar:43,declin:[],decompos:2,dedic:22,defin:[2,5,6,10,11,12,19,21,24,34,39,42,43],definit:[2,5,18,41],degre:[6,21,43],degress:3,dejavu:0,dejavuserif:0,del_convert_build:[],del_fortran_build:2,delai:44,delet:[2,6,19,32,43],delete_fil:2,delta:17,delta_t:2,demand:[17,21,31,43],demonstr:19,denot:[2,17],depart:35,depend:[2,6,11,12,13,14,15,17,19,20,21,34,41,43],deposit:17,deprec:2,depthbelowlandlay:19,deriv:[2,30,31],describ:[12,14,18,20,22,32,42,43],descript:[2,5,6,11,12,13,19,21,34,39,43,44],design:[],desir:[2,6,17,21,43],despit:31,destin:[2,5,6,7,10,12,13,15,30,31,32,36,43],destination_nam:[7,13],deta:21,detail:[2,5,13,19,20,21,31,42,43],detect:[6,44],determin:[2,11,12,17,43],dev:[9,17,31,42],develop:[0,2,6,9,17,40,41,44],deviat:5,diagnost:[2,6],diagram:[0,12,15],diamond:17,dict:2,dictionari:2,differ:[2,6,8,14,21,22,34,39,43],differenti:[4,10,43],difficulti:15,digit:19,dimens:[2,17],dimension:[2,17,43],direct:[2,13,14,21,22,43],directli:[2,4,10,11,12,13,14,21,22,42,43],directoi:42,directori:[0,2,4,5,6,7,8,9,10,11,12,13,14,18,31,32,33,36,42,43],dis:19,disabl:[6,21],disaggegr:2,disaggreg:[5,6,15,36,38,43],discard:6,discret:17,discretis:[],discuss:[40,43],disk:[31,43],dispers:[2,6,17],displai:[2,6,32],display_info:2,disregard:2,distinct:2,distinguish:[6,11],distribut:[30,31,41,42,43],disturb:43,div:[],diverg:[19,43],divers:2,divid:[2,11,17,19,22],do_retriev:2,document:[5,8,11,19,21,23,30,32,36,43],doe:[2,3,11,12,14,33],doesn:[6,11,12],doi:[6,17],doing:[2,31,43],domain:[5,43],don:[9,12,31,33,42],done:[2,4,6,10,11,12,13,14,17,22,31,42,43],dot:0,doubl:[2,4,6,8,11,13,43],doubleelda:[2,5,6,10,43],down:42,download:[23,32,36,41],download_cdsapi:31,download_cera20c_ecmwfapi:31,download_era5_cdsapi:31,download_erainterim_ecmwfapi:31,downward:[3,6,18,34],dpdeta:[2,5,6,10,43],dpkg:[9,42],drive:[2,20,43],dry:17,dtime:[2,3,5,6,10,43],due:[6,11,12,17,43],durat:43,dure:[2,4,9,12,13,15,18,31,42,43],each:[2,5,6,10,11,13,14,17,19,39,42,43],earlier:[11,43],easi:[17,18,20,43],easier:[18,22],easiest:[30,31],easili:[2,11],east:[2,11,19],eastern:2,easternmost:2,eastward:17,ec_api:[2,10],ec_memory_per_task:[4,10,13],ec_threads_per_task:[4,10,13],ecac:32,ecaccess:[2,4,10,12,13,14,15,22,23,30,32,43],ecaccess_do_not_remov:[4,10,13,43],ecc:2,eccod:[4,9,10,13,23,30,31,32,33,36],eccodes_include_dir:9,eccodes_lib:9,ecd:2,ecf:[2,6,32],ecfsdir:[2,5,6,10],ecg:[4,10,13],ecgat:[2,4,6,9,10,11,12,13,14,21,30,32,43],ecgb11:[32,43],ecgb:[4,10,11,12,13],ecgid:[2,5,6,7,10,12,13,30,31,32,43],echo:[4,12,13],echom:32,ecmf:19,ecmwf:[2,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,23,30,32,33,34,36,41,43],ecmwf_env:[2,11,12,18,43],ecmwfapi:[31,33],ecmwfapirc:31,ecmwfdataserv:[2,31],ecmwfservic:[2,31],ecnam:[],econdemand:[2,5,6,10],ecscratch:32,ecstorag:[2,5,6,10],ectmp:[2,5,6,10],ectran:[2,5,6,10,15,30,32,43],ecuid:[2,5,6,7,10,12,13,30,31,32,43],ecwmf:[22,42],edg:12,edit:19,editor:[9,30,31,32],effect:[13,21],effici:[13,17,19,43],egat:[],either:[2,6,11,14,15,43],elda:[2,6,8,36,43],element:[2,3],els:[4,10,12,13],email:[2,4,6,10,13,30,32,43,44],emo:[4,10,13],emoslib:[21,23,31,32,33],empti:[2,11,12],enabl:[22,30,43],encount:42,end:[2,4,6,10,11,13,17,19,43],end_dat:[2,5,6,10,11,17,43],end_period:2,enda:[10,19,31,43],endian:[30,31,32],endif:17,endo:6,enfo:[6,8,36,43],english:36,enough:[6,22,43],ens:[8,43],ensembl:[2,6,23,36,43],ensemble_memb:19,ensur:21,enter:30,entri:[11,43],env:[2,4,13],environ:[2,4,6,10,11,12,13,14,20,33,42,43,44],environment:[2,35],eof:[10,13],equal:[2,6,11,21,43],equat:[2,6,17,43],equidistantli:17,equival:[30,31],era5:[2,5,6,21,22,23,31,42,43],era:[5,6,11,19,21,22,23,34,36,41,42],eror:2,error:[2,4,10,12,13,21,30,31,43],error_msg:2,esac:[4,10,13],escap:13,especi:[21,42,43],establish:[14,30],eta:[2,5,6,8,10,19,21,38,43],etadiff:[2,5,6,10,21,43],etadot:[2,6,19,43],etapar:[2,5,6,10],etayymmddhh:[6,21],etc:[31,39,44],europ:43,european:[20,39,41],evalu:41,even:[17,21,31,32,43],event:[17,44],eventu:[],everi:[22,30,34,39,43],everyon:6,everyth:[0,2,9,14,31,43],everytim:[],ewss:[17,19],exact:[2,17,43],examin:2,exampl:[2,3,6,7,11,17,18,19,22,23,31,34,39,42,43],exce:[],exceed:43,excelt:0,except:[2,6,21,31,43],execut:[2,9,10,12,13,14,15,18,19,31,32,33,36,42],execute_subprocess:2,exedir:2,exist:[2,6,11,43,44],exit:[2,11,12,34],expect:[2,43],expens:[6,21],experi:[6,43,44],experienc:43,explain:[19,43,44],explan:43,explanait:[],explic:[],explicit:42,explicitli:[6,20,22,43],express:2,expver:[2,5,6,10,19,31],extend:[39,43],extens:[0,2,6,17,43],extra:[2,5,6,14,31,36,42,43],extract:[2,5,6,11,19,21,22,31,34,43],extractxxxxx:43,f90:[30,31,32,36],f_0:17,f_1:17,f_2:17,f_3:17,f_i:17,facil:[22,30],fail:[2,4,6,10,13,34,43],failur:43,fals:2,familiar:43,faq:41,far:6,fast:20,faster:[18,22,44],fcog_acc_sl:19,fconvert:[30,31,32],fdefault:[30,31,32],feasibl:21,featur:[2,6,20,41,44],februari:5,fedir:2,feel:42,few:[6,30,32,43],fewer:43,fftw3:[31,32],fftw:[23,30,32,33],field:[2,5,11,15,20,21,23,36,41,43],field_typ:19,fig:17,figur:[14,17,43],file1:2,file2:2,file:[0,2,4,9,10,11,12,13,15,17,18,20,22,23,30,31,32,34,36,39,41,42,44],filemod:2,filenam:[2,17,19,43],filename_in:2,filepath:2,fill:[6,42,43],filter:[2,17],find:[5,9,31,39,42,43],finder:[],fine:[21,31],finer:[3,21],finish:[31,42,43],first:[2,5,6,11,17,32,36,39,42,43],fit:2,fix:[4,10,17,34,41],flex:[10,13,43],flex_ecmwf:[4,10,13],flex_extract:[0,2,4,5,6,8,9,10,11,12,13,14,15,17,18,19,20,21,22,30,31,32,33,34,39,40,43,44],flex_extract_repo:[],flex_extract_v7:[10,13,19,31,34],flex_extract_v:[4,13],flex_extract_vx:[5,7,8,9,11,12,13,18,30,31,32,42,43],flexcompil:[4,13,30,32],flexextract:19,flexextractdir:2,flexpart:[2,6,11,15,17,20,21,22,31,34,41,43,44],flexpart_root:[4,13],flexpart_root_script:[4,13],flexpartdir:12,flextra:[2,20,21,41],flow:[2,11,12,20],flux:[2,5,15,21,38,43],fluxyyyymmddhh:17,flxacc2:17,follow:[2,5,8,12,13,15,17,18,19,21,30,31,32,33,34,39,42,43],font:0,fontpath:0,fopenmp:[30,31,32],for_develop:0,forecast:[2,5,6,11,17,20,21,22,23,39,41,43],forecast_step:19,forescast:43,forg:31,forget:[12,33],form:[6,42],format:[2,6,10,11,12,15,17,19,20,31,43],formul:17,fort:[2,13],fortran90:[],fortran:[2,4,12,13,15,16,17,18,20,21,30,31,32,36,38,41,43],fortran_program:13,found:[2,5,6,9,13,19,21,30,40,42,43,44],four:[2,14,17,42],fp_root:2,fp_root_path:13,fp_root_script:13,fpdir:2,frac32:17,frac:17,framework:[13,30],free:42,frequent:[41,43,44],from:[2,3,4,5,6,9,10,11,12,13,14,15,17,18,19,20,22,23,30,31,32,34,36,39,41,42,43],fromfil:2,fsr:19,ftime:2,ftp:32,ftrafo:[30,31,32],ftype:2,fulfil:17,full:[2,6,11,12,21,22,31,41,43],fulli:39,further:[2,5,8,31,32,43],furthermor:18,futur:[6,21,43],g_i:17,g_ig_:17,gain:[],gap:43,gate:[],gatewai:[2,4,5,6,7,9,10,12,13,14,15,18,20,22,31,32,36,41,42],gateway_nam:[7,13],gatewaynam:[12,30,32],gatewayserv:43,gauss:[2,5,6,8,10,21,38,43],gaussian:[2,6,10,19,21,23],gen_docu:0,gener:[0,4,5,10,13,17,19,21,23,30,31,38,42,43],general:2,generate_retrieval_period_boundari:2,genericsftp:[2,10,12,30,32],genshi:[4,10,13,30,31,32,36],geometr:2,geophys:35,geosci:17,geoscientif:[2,6,17,40],german:36,get:[2,6,30,31,32,34,36,42,43],get_cmdline_arg:2,get_dimens:2,get_inform:2,get_install_cmdline_arg:2,get_kei:2,get_list_as_str:2,gfortran:[9,23,30,31,32,33],gid:[12,32],git:42,gitmob:42,give:[6,21,34,42,43],given:[2,5,14,17,21,43],glevelist:2,global:[5,6,8,21,39,43],gmd:[6,17],gnu:[9,30,31,32,42],goe:2,going:[2,6,11],good:21,grant:42,graphviz:0,grb:[2,19],greater:[6,11],green:[12,17],gregor:35,grep:[9,10,13,42],grib1:[2,5,6,10,15],grib2:[2,6,15],grib2flexpart:10,grib:[2,6,11,15,23,31],grib_api:[4,10,13,33,36],grib_l:19,gribmessag:11,grid:[2,3,5,6,10,17,19,20,21,23,31,43],grid_simpl:19,grid_typ:19,gridtyp:19,ground:34,group:[2,4,5,12,13,14,22,31,42],groupid:[12,30,32],groupnam:[],grphreal:[30,31,32],guarante:[2,11,12,17,43],guid:[23,36,41,43],guidanc:21,haimberg:[2,35],half:[2,6,11,17,21,43],handl:[2,5,39,43],happen:0,hard:2,harmon:19,has:[0,2,4,6,10,11,12,13,14,17,21,22,30,31,32,39,42,43],hast:6,have:[2,3,5,6,11,12,14,15,22,30,31,32,33,34,39,42,43],hcc:19,header:2,heat:[2,17,19],heavili:21,height:17,help:[2,11,12,18,43,44],help_icon:[],hemispher:43,henc:17,her:12,here:[2,6,8,11,12,15,19,31,39,43,44],hidden:31,high:[6,11,13,21,31,43],higher:[2,21],highest:21,highli:21,highlight:43,highr:[8,43],hint:[5,39,41,44],his:12,histor:21,hittmeir:[2,6,17],home:[4,10,12,13,14,23,30,31,32,42,43],homogen:39,horizont:[2,5,6,17,43],hoskin:6,host:[4,10,11,12,13,43],hostnam:[32,43],hour:[2,6,11,17,19,22,43],hourli:[6,22,43],how:[2,5,6,15,18,22,23,31,39,42,43],howev:[6,15,17,21,22,31,39,43],hpc:[12,21,43],hre:[23,43],href:[],html:[],http:[2,6,11,12,17,30,32,41,42,44],humid:19,hybrid:19,i32:[30,32],i_i:17,ia3:2,ice:[2,6,43],idea:39,identif:2,identifi:[2,6,11,12,17,19],identificationkeyword:2,idir:2,idirectionincrementindegre:2,ids:2,idx:[2,19],ifort:[],iid:2,img:10,implement:[17,19,43],impli:17,importantli:39,improv:[2,17,36,43],inbetween:[6,43],includ:[6,9,11,12,13,30,31,32,34,42,43,44],incorpor:42,increas:43,incur:21,independ:39,index:2,index_fil:2,index_kei:2,index_v:2,indic:[2,5,17,19,43],individu:[2,4,6,10],ineffici:43,info:2,inform:[2,5,6,8,11,14,18,19,20,22,23,32,34,39,42,43,44],informt:2,init128:2,init:2,initi:[2,11,12,36],initialis:[2,18,36],input:[2,5,6,10,11,12,15,17,20,38,41,43],inputdir:[2,10,11,13,43],inputfil:[2,11],insert:31,instal:[0,4,5,6,7,9,10,13,14,15,18,20,22,36,41,43],install_loc:2,install_target:[2,10,12],install_via_gatewai:2,installdir:[2,12,30,31,32,42],installscript:[4,12,30,32],instanc:2,instantan:19,instead:[2,11,12,15,22],institut:[35,39],instruct:[2,6,14,30,31,33,42,43],intact:11,integ:[2,6,11,43],integr:[2,17],intel:[4,10,13],intend:[6,8,11,14,39],interact:30,interest:42,interfac:[2,5,23,24,36,43],intergovernment:39,interim:[5,6,11,19,21,22,23,31,34,41,42],intermedi:2,intern:[2,11,12,41],internet:43,interpol:[2,6,11,17,19,43],interpret:18,interv:[2,3,6,12,17,19],introduc:[17,19,34,36,43],introducst:[],introduct:[],introductari:23,introdut:[],investig:[],involv:12,ipar:2,ipnam:32,isol:17,issu:41,iter:2,its:[2,11,13,17,19,21,39,42],itself:[2,43],jame:[2,17],januari:43,jasper:[30,32,36],jdirectionincrementindegre:2,job:[2,6,11,12,13,14,15,18,19,20,30,32,41],job_chunk:[2,10,11,43],job_fil:2,job_id:[2,4,13],job_templ:[2,10,11,12,30,31,32,43],jobfil:2,jobnam:[2,4,13],jobop:43,jobscript:[10,11,43],journal:[17,40],jtemplat:2,june:[2,43],just:[2,3,6,8,12,31,43],k_i:17,keep:[2,13,17,42,43],kei:[2,31,42],kept:6,keynam:2,keyvalu:2,keyword:[2,6,11,19,22,23,43],kind:[2,6,19,43],km4a:[4,10,13],know:[31,43],known:[5,41],known_bugs_issu:[],korn:[2,4,10,12,13,18,20,36,43],kornshel:[],ksh:[13,18,43],kwd:2,label:[12,19,31],lagrangian:[2,6,17],larg:[2,6,11,17,19,36,43],larger:[6,11,21],last:[2,6,11,17,19,30,32,34,43],lat:[2,6,11,19,21,43],late:17,later:[2,31,34],latest:[22,42,43],latitu:2,latitud:[2,6,20,43],latitudeoffirstgridpointindegre:2,latitudeoflastgridpointindegre:2,latter:12,lcc:19,ld_library_path:33,lead:[6,11,13,17,19,32,43],learn:39,least:[2,12],leav:11,leccod:[9,30,31,32],leccodes_f90:[9,30,31,32],left:[2,5,6,10,17,21,42,43],lemo:[30,32],lemosr64:31,length:[2,17,43],leopold:[2,35],less:21,let:11,letter:[2,11,12,19,41],level:[2,5,6,10,11,12,15,18,19,21,22,31,34,41,43],level_typ:19,levelist:[2,5,6,10,11,19,31,43],levellist:34,levtyp:[2,19,31],lfftw3:[30,32],lib64:31,lib:[9,30,32,33,36],libeccod:[9,31,42],libemo:[30,31,32],librari:[4,9,10,14,20,23,31,32,41,42,44],licenc:[11,12,22,23,41],licens:[2,6,11,12,14,22,41],lies:2,life:35,light:12,like:[2,9,11,17,30,32,34,42,43],limit:[6,11,19,22,39,43],line:[2,5,11,12,13,15,17,18,19,22,30,32,42,43,44],linear:[2,6,17],linearli:17,link:[0,9,39,41,42,43],linux:[9,12,14,15,22,30,31,42,44],liquid:[2,6,43],list:[2,5,6,8,9,11,12,15,17,19,20,23,31,34,41,43],list_obj:2,littl:17,ljasper:[30,31,32],load:[2,4,10,11,12,13,30,32,36,43],local:[2,5,6,7,9,11,12,14,22,30,32,33,36,41,42],localmachin:32,localus:32,locat:[2,7,11,12,43],lock:[],log:[2,4,6,10,13,31,32,42,43,44],logarithm:19,logic:[2,10],login:[32,43],lon:[2,6,11,19,21,43],longer:[2,6,36],longitud:[2,6,20,43],longitudeoffirstgridpointindegre:2,longitudeoflastgridpointindegre:2,longiud:[],look:[2,30,32,34,43],lot:[21,43],lower:[2,5,6,10,21,43],lowest:[19,34],lp64:[30,32],lpthread:[30,32],lrwxrwxrwx:[30,31,32],lsm:19,lsp:[17,19],machin:[2,4,9,10,12,13,14,15,31,32,42,43],made:[2,22,39,43,44],magnitud:2,mai:[6,11,12,15,17,30,31,39,42,43,44],mail:[2,4,6,10,13,35,41,43],mailfail:[2,5,10,13,43],maill:44,mailop:[2,5,6,10,13],main:[2,5,18,20,22,43],mainli:43,maintain:17,make:[0,4,13,18,30,33],make_dir:2,makefil:[2,4,12,13,18,30,31,32,33,36],makefile_crai:[9,12,30,32],makefile_debug:9,makefile_ecg:[4,9,12,30,32],makefile_fast:9,makefile_local_gfortran:[9,12,31],manag:[13,30,31,42],mani:[17,43],manipul:2,mar:[2,6,11,15,18,20,22,23,30,31,32,33,36,41,42,43],march:[2,22,30,31,32],margin:[],mark:[4,5,10,13,17,19,43],mars_request:[2,6,11,15,19,43],marsclass:[2,10,19],marsfil:2,maschin:11,mask:43,mass:21,master:42,match:2,math:[],mathrm:17,matter:[2,12],max:[6,11],max_level_list:2,maxb:[2,13,19],maxim:[],maxima:17,maximum:[2,5,6,11,34,43],maxl:[2,13,19],maxstep:[2,5,6,10],mcc:19,mdpdeta:[2,13,19],mean:[2,4,12,13,17,19,31,43],measur:21,medium:[20,39,41],member:[2,6,12,14,19,22,23,24,30,31,39,42,43],memberst:[2,6],memori:[6,11],mendel:35,mention:[13,14,17,31,43],merg:15,mess:42,messag:[2,11,12,19,21,30,31,34],met:35,meta:[2,13,19],metadiff:[2,13,19],metapar:[2,13,19],meteorolog:[2,17,19,20,35,39,41],meter:[],method:[2,5,6,11,17,19,21,22,38,39,40,43],mgauss:[2,13,19],might:[0,2,6,11,15,18,22,31,39,42,43],migrat:[2,23],min:17,mind:[6,43],minim:42,minima:17,minimis:31,minimum:[20,43],minut:[2,30,32],mismatch:43,missingvalu:2,mix:43,mk_compilejob:2,mk_convert_build:[],mk_date:2,mk_env_var:2,mk_fortran_build:2,mk_job_templ:2,mk_jobscript:2,mk_server:2,mk_tarbal:2,mkdir:[4,10,13],mlevel:[2,13,19],mlevelist:[2,13,19],mnauf:[2,13,19],mnt:19,mock:0,mod:[2,4,9,13],mode:[2,4,6,7,9,10,11,12,13,18,19,20,36,39,41,42,44],model:[2,6,15,17,19,20,21,22,23,34,39,40,41,43],modif:2,modifi:[2,9,22,31,43],modul:[4,10,11,12,13,14,30,32,36,42,43],modular:36,momega:[2,13,19],momegadiff:[2,13,19],moment:6,mon:17,monitor:43,monoton:[2,17],month:[11,19,31,43],monthli:6,more:[2,5,6,11,12,14,17,19,42,43,44],most:[2,6,13,36,39,43,44],mostli:[2,6,19,43],motiv:17,mountain:[2,11,12,41],move:[0,2],mreq_count:2,msgatwai:30,msl:19,msmooth:[2,13,19],much:[39,44],multipl:[2,43],multipli:[6,21],muser:[10,13],must:[6,11,14,32,43],my_error:2,myecnam:12,mygroupnam:12,myuser:12,name:[2,4,5,6,10,11,12,13,17,19,30,31,32,36,42,43],name_of_this_fil:[4,10,13],name_of_your_makefil:31,namelist:[2,13,19],namespac:2,namgen:[13,19],nano:[30,32],nas:19,nation:[22,39],nativ:[30,31,32],natur:[17,35],necessari:[0,2,3,4,6,9,10,11,12,13,14,18,20,30,31,32,33,36,43,44],necessarili:5,nedit:9,need:[0,2,3,5,6,11,12,13,14,18,19,20,21,22,31,32,37,40,42,43],neg:[2,17],neglect:6,net:[17,19],nevertheless:2,newer:19,newest:43,newslett:[],next:[30,32,43,44],nfield:2,night:[],non:[2,6,17,34,43],noncycl:6,none:[2,5,6,10,11,12,17,19,30,31,32,43],none_or_int:2,none_or_str:2,nonzero:2,normal:[4,6,10,13,43],normal_exit:2,north:[2,11],northern:[2,43],northernmost:2,northward:[17,19],notabl:43,notat:17,note:[6,15,17,32,34,42,43],notif:[2,5],notifi:2,novemb:[2,21],now:[22,31,42],nowadai:[],nsss:[17,19],number:[2,3,4,5,6,8,9,10,11,13,17,18,19,20,21,34,36,43],numer:39,numpi:[2,30,31,32],object:2,observ:2,obtain:[2,17,42,43],obvious:17,occur:[2,17],octahedr:23,octob:11,odir:2,off:[2,5,6,19],often:21,og_orolsm__sl:19,okt:31,old:[0,2,6,11,17,36,43],older:[6,15,43],omega:[2,5,6,10,19,21,38,43],omegadiff:[2,5,6,10,21,43],omegayymmddhh:[6,21],onc:[11,43,44],one:[2,5,6,11,12,17,18,19,32,34,42,43],ones:[17,32],onli:[2,3,5,6,11,12,17,19,21,22,32,34,42,43,44],onlin:[36,43],onward:6,open:[2,9,20,30,31,32,41,43],opend:12,oper:[2,5,6,8,10,11,12,17,21,23,31,34,39,41,42],operation:6,oportun:[],opportun:[],opt:[],optim:21,optimis:[9,12,15,43],option:[2,5,6,15,17,19,21,33,36,42,43],optionalind:5,orang:12,order:[2,5,19,43],org:[2,6,11,12,17,41],organis:39,origin:[2,6,11,17,19,43],orographi:19,other:[2,5,6,9,11,31,39,42,43,44],otherwis:[2,12,43],our:42,out:[2,4,6,9,10,13,30,31,32,42,43],output:[2,4,5,6,10,11,12,13,17,30,31,32,36,38,39,41,42,43,44],outputdir:[2,10,11,13,43],outputfilelist:2,outsid:31,over:[2,17,43],overal:[2,19],overhead:43,overlap:[6,17],overrid:[3,11],overrul:5,overview:[8,14,15,17,23,34,38,41,42],overwrit:[0,2,43],overwrite_lines_in_fil:2,overwritten:[2,18,31],own:[19,32,42],p_a:[],p_b:[],p_c:[],p_d:[],packag:[0,4,10,13,20,30,31,41,42],package_nam:42,packingtyp:19,page:[30,42],panel:42,paper:[34,40],par:2,paragraph:44,parallel:[],param1:43,param2:43,param:[2,19,31],paramat:2,paramet:[2,3,4,5,8,9,10,13,15,17,18,19,20,23,30,31,32,36,39,41,42],parameteris:43,parameterlist:[11,12],parameternam:2,paramx:43,parent:[2,11,19],part:[2,17,20],parti:[14,20,23,41],particl:[2,6,17],pass:[2,10,22,34,42],passcod:30,password:[30,32],path:[0,2,4,6,8,9,10,11,12,13,14,31,32,33,34,42,43],path_flexextract_dir:2,path_fortran_src:2,path_input_dir:2,pattern:[2,43],paul:17,pbs_jobid:[10,13],pdf:21,pep8:36,per:[2,5,6,11,15,19,43],perform:[2,13,15,21],period:[2,5,6,11,17,30,43],person:12,perturb:[6,19],petra:[2,35],phgrreal:[30,31,32],philipp:[2,5,6,11,12,17,35],physic:[35,39],pid:[19,43],piec:[17,19],piecewis:17,pip:[0,31,42],place:[2,12,13,14,30,44],placehold:[13,32],plan:[6,21],platform:42,pleas:[5,14,15,21,30,31,32,43,44],plot:23,plu:17,png:0,point:[2,11,17,19,43],polynomi:[2,17],posit:[2,6,13,17],posnam:[30,31,32],possibl:[2,5,6,8,11,12,17,21,22,31,42,43,44],post:[2,6,15,31,44],postprocess:2,pp_id:[11,43],ppid:[2,11,19],pre:[9,17],precalcul:6,precip:19,precipit:[2,5,6,11,23,36,43],precis:33,preconvert:[],predict:[39,43],prefar:42,prefer:[6,30,31,32],prefix:[2,5,6,10,19,21],prepar:[0,2,4,6,10,11,12,13,14,15,20,26,41,42],prepare_flexpart:11,preprocessor:44,present:[2,7,12,23,30,32,42,43],preserv:[17,19,43],pressur:[2,19,21,22,31],pressure_level:31,previou:[18,21,43],prgenv:[4,10,13],primarili:9,principl:43,print:[2,4,13,43],print_infodata_csv:2,prior:[17,21],problem:[2,17,36,42,43,44],procedur:[5,17],process:[2,4,6,7,9,10,11,12,13,14,15,17,18,19,22,31,36,42,43,44],process_output:2,prod:2,produc:[9,17,19,21,39,43],product:[2,42,43],product_typ:31,progam:42,program:[0,4,9,11,12,13,17,18,20,21,30,31,36,41,43],programm:16,progress:[15,43],prompt:30,proper:[18,41],properli:[2,12,15,34,42,44],properti:[2,19,39],propos:[17,44],proposit:[],prot:[10,13,43],protocol:43,provid:[2,3,14,18,20,21,22,31,32,33,42,43,44],pseudo:43,publicli:43,publish:17,pull:31,pure:[2,6,11,19,43],purefc:[2,10],purpos:[2,6,19],put:[2,6,12,13],put_file_to_ecserv:2,pycallgraph:0,pylint:0,pyrevers:0,pyscript:11,pytest:0,python3:[4,10,11,12,13,18,30,31,32,36,42,43],python:[0,4,10,11,12,13,15,16,17,18,19,20,23,30,31,32,33,36,38,42,43],pythonxxxxx:[],qos:[4,10,13],quad:17,quantiti:[2,6,17],question:[41,44],queue:[2,4,10,11,12,13,15,30,43],queuenam:[4,10,13],queues_list:2,quick:[8,43],quick_start:[],quickli:[13,43],quota:43,r64:[4,10,13,30,32],radiat:[2,17,19],raid60:[],rainfal:2,rais:[2,17],rang:[2,6,20,31,39,41,43],rare:43,rate:17,rather:21,raw:[2,15],reach:18,read:[2,6,12,13,15,20,21,32,33,39,43],read_ecenv:2,readi:[2,6,11],real:[23,30,31,32,43],real_tim:23,realis:17,realiti:17,realli:[21,43],reanalysi:[6,11,21,23,31,42],reason:[2,6,11,17,43],receiv:[30,43,44],recent:[10,43],recod:17,recommend:[6,17,21,31,43],reconstruct:[2,17],record:42,rectangular:12,red:17,redhat:42,reduc:[19,21,23],ref:[],refactor:36,refer:[2,14,39,43],regard:[5,18,36,44],regardless:42,region:21,regist:[22,31,33,42],registeredus:44,registr:[6,14,22,23,31,33,41,44],regress:[36,41],regular:[2,20,43],regular_l:19,regularli:[],rel:[17,43],relat:43,releas:[2,41,42,43,44],relev:[2,5],reli:42,remain:[2,17],rememb:42,remot:[2,4,6,7,9,10,12,13,14,15,18,20,30,36,41,42],remota:12,remov:[2,3,17,36],remove_old:2,renam:0,renew:30,repeat:2,rephras:[],repo:42,report:[2,41],repositori:42,repr:[2,19],repres:[2,17,19,22,23,42,43],represent:[2,20],reqest:15,request:[2,4,5,6,10,11,13,15,17,22,36,43],request_numb:[2,19],requir:[2,13,14,17,20,21,30,31,32,39,42,43],rerun:11,research:39,resol:[2,5,6,10,19,21,43],resolut:[3,5,6,11,21,22,39,43],resolv:21,reson:[],resourc:35,respect:[2,5,15,17,18,19,31,39,42,43],respectivlei:[],respons:43,rest:[2,6],restrict:21,restructur:36,result:[2,15,19,21,43],retriev:[2,5,6,11,14,15,17,18,19,20,21,22,31,33,34,36,39,41,42,43],retrieve:5,return_list:2,review:6,revis:36,revtriev:2,right:[2,5,6,10,12,17,21,22,30,31,33,39,42,43,44],rla0:[2,13,19],rla1:[2,13,19],rlo0:[2,13,19],rlo1:[2,13,19],root:[2,4,12,13,18,31,32,42,43],round:12,rpath:[30,32],rpm:42,rrint:[2,5,6,10,11,43],rst:[],rthl:43,rudimentari:12,run:[2,5,6,7,8,10,13,15,18,19,22,30,31,42,43,44],run_loc:[15,43],runtim:10,rwgrib2:[30,31,32,36],sabin:2,sai:2,same:[2,6,11,12,22,30,31,33,43],sampl:[2,31,43],sardeshmukh:6,save:[9,11,19,21,31,43],sbatch:[4,10,13],scale:[2,11,17,19],scaveng:17,scenario:[14,17,43],schemat:17,scheme:[2,6,17,19,43],scienc:35,scientif:[23,34],scope:6,scp:32,scratch:[4,10,13,43],scriot:[],script:[0,5,6,13,14,15,16,17,18,19,20,21,23,30,31,32,36,38,41,42,43,44],scroll:42,sdor:19,search:2,search_str:2,second:[6,11],section:[5,12,18,22,31,36,37,39,40,42,43],see:[2,5,6,11,12,13,15,18,19,20,21,22,24,30,31,32,34,42,43,44],seem:43,seen:18,seibert:[2,6,17,35],select:[2,5,6,11,12,14,19,22,30,32,34,36,39,41,42],selectwher:2,send:[2,11,12,13,21,30,41,44],send_mail:2,sens:43,sensibl:[2,17,19],sent:[2,13,15,18,43],separ:[2,5,19,31,36,43],sepeart:[],seper:[2,6,11,12],septemb:[6,12,21],seqdiag:0,seqdiag_fontpath:0,sequenc:15,seri:[2,17],serv:[19,20,41,43],server:[2,4,5,6,7,9,10,11,12,13,14,15,18,20,22,23,30,31,32,36,42,43],servic:[30,39],session:[4,10],set:[0,2,4,5,6,8,9,10,11,12,13,17,18,19,20,21,22,23,30,31,32,33,34,36,39,42,43,44],set_kei:2,setup:[14,15,18,30,31,32,36,42,43],setup_controldata:2,setup_loc:31,sever:[9,12,13,19,42,43],sfc:[19,31],sgn:17,shade:17,share:[0,44],she:14,shell:[2,4,10,11,12,13,15,18,20,30,31,36,42,43],shift:17,shoot:23,shorten:43,shorter:2,shortli:43,shortnam:19,should:[0,2,6,9,12,13,17,21,30,31,32,36,39,42,43],shouldn:6,show:[11,12,15,17,43],shown:[7,9,17,31,43],side:42,sign:[4,5,13,42],signal:43,silent_remov:2,similar:[14,31],simpl:[6,17,31],simplest:17,simplifi:36,simul:2,sinc:[2,15,19,21,31,43,44],singl:[2,4,10,11,13,15,19,33,42,43],site:30,size:[34,43],sketch:[12,14],skip:[2,31],skt:19,slope:17,slurm:[13,23],small:[31,34,43],smaller:[2,6,11,19],smooth:[2,5,6,10,17,21,43],snippet:31,softwar:[2,6,12,13,14,20,21,23,30,31,32,41,42],solar:[2,17,19],sole:[6,19],solut:[2,44],solv:43,some:[0,2,4,5,6,10,11,12,13,14,15,18,19,20,22,31,32,39,42,43,44],someth:43,sometim:[6,43],soon:[6,43],sort:2,sourc:[0,2,4,9,10,11,12,13,18,20,31,33,34,36,41,42,43],south:[2,11],souther:[],southern:2,southernmost:2,space:[2,5,11,17,43],spar:2,spatial:[5,6,39],spdx:[11,12],speak:42,speci:17,special:[],specialis:43,specif:[2,4,5,6,9,10,11,13,14,17,19,20,21,36,39,41,42],specifc:[2,11],specifi:[2,6,11,12,17,30,31,32,43],specificnam:10,spectral:[2,6,20,21,43],speed:43,sphere:6,spheric:19,sphinx:36,sphinxcontrib:0,split:[15,17,19],sqrt:17,src:[],src_path:2,srvx8:10,ssh:[32,43],sshf:[17,19],ssr:[17,19],sss:6,stamp:19,standard:[2,9,17,21,30,31,32,42,43],start:[2,4,5,6,10,11,12,13,18,19,30,31,32,33,39,42,43],start_dat:[2,5,6,10,11,17,43],start_period:2,state:[2,12,14,22,23,24,30,31,39,42,43],statement:[2,30,32],statist:42,statu:[15,34,42],steer:2,step:[2,3,5,6,10,11,13,15,17,19,20,24,30,31,33,43],steprang:[2,11,19],still:[3,9,15,21,37,40,43],stl1:19,stop:[2,34,42,43],storag:[2,5],store:[2,6,10,11,12,15,19,21,22,23,31,42,43],str:[2,35],str_of_list:2,straightawai:43,straightforeward:43,stream:[2,5,6,10,19,31,36,43],stress:[2,17,19],stretch:31,string:[2,5,6,11,12],structur:[10,36,39,43],studi:[21,39],style:36,sub:[2,17,19],sub_str:2,subdirectori:43,subgrid:[2,11],subinterv:17,subject:[2,30,32,43],submiss:[2,4,10,12,20,43],submit:[4,5,10,12,13,14,15,18,19,30,32,43,44],submit_job_to_ecserv:2,submitscript:[10,11],submitscriptop:[],subprocess:2,subscrib:44,subscript:44,subsect:21,subsequ:6,subset:[6,11,43],substanti:43,substitut:[2,4,9,10,13,32,36,43],substr:2,subtract:[6,43],succeed:[30,31],success:[4,13,19,30,31,32],success_mod:2,successful:[18,42],successfulli:42,sudo:31,suffici:43,suggest:9,suit:[6,43],suitabl:31,sum:[2,6,18,43],supplement:19,support:[2,17,23,39,41,42,43],suppos:2,sure:31,surfac:[2,6,15,17,19,21,22,34],swvl1:19,symmetri:17,syntax:[2,6],synthes:[6,36],sysadmin:33,sysinstalldir:[12,31],sysloc:[12,31],system:[2,4,6,9,10,11,12,13,20,21,30,32,34,41,42,43],sytem:30,t1279:[21,43],t799:21,tab:42,tabl:[2,5,17,19,34,41,42,43],table128:2,take:[9,31,43],taken:[2,6,18,19,39,43],tar:[2,4,13,32,42],tarbal:[2,4,12,30,32],tarball_path:2,tarfil:32,target:[2,12,19,30,31,32],task:[2,18,20,43],tcc:19,team:41,technic:23,tell:[2,43],temp:[2,10,11],temperatur:[19,31],tempfile_job:2,templat:[2,4,5,7,10,11,12,18,30,32,36,43],tempor:[5,6,17,19,22,39,43],temporal_properti:19,temporari:[2,6,11,43],tendenc:21,tenth:6,term:[42,43],termin:[30,31],test:[0,2,5,6,12,13,19,22,33,36,41,43],textbf:17,textrm:17,than:[2,3,6,9,11,19,21,34,44],thei:[0,2,5,6,9,11,12,13,15,17,18,19,31,34,39,43],them:[0,2,6,11,12,15,17,18,19,20,31],therebi:[17,21],therefor:[0,2,6,17,18,19,31,34,39,42,43],thi:[0,2,4,5,6,7,8,9,10,11,12,13,14,17,18,19,21,22,30,31,32,33,34,37,39,40,41,42,43,44],thick:17,thing:[],think:[2,42],third:[14,20,23,41],those:[5,43],though:44,thousandth:6,three:[2,11,17],through:[2,5,12,22,24,30,42,43,44],throughout:17,thu:[9,17,43],ticket:[34,41],time:[2,3,4,5,10,11,13,15,17,19,21,23,31,33,34,39,43],timeseri:[2,17],timespan:[2,17],timestamp:2,tld:32,tmc:31,tmpdir:[10,13],to_list:2,to_param_id:2,to_param_id_with_tablenumb:2,todai:43,todo:[],togeth:[2,5,12,42,43],token:30,too:[6,11,17,31,34,43],tool:[4,10,14,15,43],toolkit:22,top:[11,12,18,34],topic:[],topmost:34,total:[2,19,43],touch:43,trace:17,train:23,transfer:[2,5,6,7,12,13,15,19,30,32,43],transferr:43,transform:2,transport:[20,41],trapezoid:12,treatment:39,tree:43,tri:[],triangular:[2,6],trigger:[2,21],troubl:23,troubleshoot:43,truetyp:0,truncat:[2,6],ttf:0,tupl:2,turbul:[17,19],twice:43,twiceadai:[],twicedaili:[8,43],two:[2,6,11,12,14,17,18,19,20,21,22,33,42,43],type:[0,2,3,4,5,6,10,11,13,18,19,30,31,32,42,43],typeoflevel:19,typic:[15,19,23,43],ubuntu:[30,31],udoc:2,uid:[12,32],un_tarbal:2,unavail:44,unchang:17,under:[0,2,11,12,13,14,17,19,26,27,28,29,30,31,37,38,40,41,43],undergo:[39,43],understand:[5,13,18],underw:[],undesir:17,unfortun:[17,22],uniqu:[2,19],unit:[0,17,21,36],univers:[2,35],univi:[10,35,44],unix:44,unless:[6,13],unload:[4,10,13],unrealist:17,unreason:36,untar:[2,4,12,32,42],until:[6,11,17,22,43],updat:[36,41],upfront:[2,6],upgrad:36,upon:22,upper:[2,5,6,10,21,43],upstream:[],upto:[],usa:[2,11,12,41],usag:[2,18,41,42],use:[0,2,6,9,17,18,20,21,22,30,31,32,33,34,36,42,43],used:[2,5,6,8,9,11,12,13,14,17,18,19,32,34,36,39,42,43,44],useful:[6,11,19,39,43],user:[2,4,5,10,11,12,13,14,18,20,22,23,24,30,31,32,33,36,39,42,43,44],user_group:[7,13],user_nam:[7,13],usergroup:13,usernam:[12,13,30,31,32],uses:[0,4,10,17,30,32,34,43],using:[2,4,6,11,12,17,18,19,30,31,32,42,43],usr:[0,4,9,10,13,30,31,32],usual:[5,6,11,15,19,31,43],utc:[6,11,19,43],util:[2,15],uza:35,v10:19,v20_update_protocol:21,v30_update_protocol:21,v40_update_protocol:21,v60_update_protocol:21,v703:[],v704:[],v711:[],v71:[],valid:[2,6,12,19,32,34,43],valu:[2,3,5,6,8,9,10,11,12,13,17,18,21,30,32,34,43],valuer:2,vanish:17,vari:[5,6,9,39,43],variabel:[],variabl:[2,4,6,10,11,13,17,20,31,33,36,39,43],varianc:[],variat:[6,19],variou:36,vast:39,veloc:[15,19,20,43],veri:[2,6,11,17,21,31,43],version:[2,3,4,6,9,10,13,15,18,21,33,36,42,43,44],version_numb:13,vertic:[5,11,15,19,20,36,38,39,43],via:[2,11,14,15,22,23,30,31,32,36,43],vienna:[2,35],view:[2,11,12,41,44],virtual:42,visit:[2,11,12,30,41],vol:6,wai:[2,5,13,15,17,22,30,31,39,42,43],wait:22,want:[6,9,17,20,33,43],warn:[12,31],water:[2,6,19,43],wave:21,weather:[6,20,39,41],web:[2,6,11,14,22,23,24,33,36,42,43],webapi:[2,6],webserv:[],websit:[2,30,31,42,43,44],wedg:17,well:[2,6,15,21,34,39,42,43],were:[2,6,11,12,19,34,43],west:[2,11],western:2,westernmost:2,wet:17,wether:2,what:[3,5,23,31,41,43],whatev:43,when:[2,4,6,10,17],whenev:21,where:[2,6,9,11,12,13,17,19,21,31,42,43],wherea:[6,15,43],wherebi:[],wherekei:2,wherekeynam:2,wherekeyvalu:2,whether:[2,4,10,12,33,42],which:[0,2,3,4,5,6,7,9,10,11,12,14,15,17,18,19,20,21,22,30,31,36,39,42,43,44],whith:10,who:20,whole:[2,17,43,44],whose:[19,42],why:17,width:[],wien:35,wiki:[2,6,32,44],wil:2,wildcard:43,wind:[5,19,38,39,43],window:[30,31,43],wish:42,within:[2,4,6,10,11,17,30,32,43],without:[2,13,22,33,42,43],word:2,work:[0,2,7,10,11,12,13,14,15,20,22,31,36,41,42,43],workaround:33,workdir:[4,10,13],workload:13,workspac:[10,19,43],workstep:[],would:[6,11,22,30,33,34,43],wrap:20,wrapper:[11,12,18],wrf:[2,5,10],write:[2,6,36,43,44],write_namelist:2,write_reqhead:2,written:[2,6,21,37,40],wrong:34,www:[42,44],x86_64:9,xvf:[4,13,32,42],xxx:19,xxxx:6,xxxxx:43,xxyymmddhh:2,year:[19,31],yet:43,yield:[2,21],you:[0,3,5,6,9,13,21,24,30,31,32,34,42,43,44],your:[9,24,30,31,32,42,43,44],yourself:24,yymmdd:[6,19],yymmddhh:[6,19,21],yyyymmdd:[2,6,11],yyyymmddhh:[17,19],zamg:[36,44],zero:[17,21,34],zonal:21},titles:["Updating the documentation","Auto-generated documentation for the Fortran programme","Auto-generated documentation for the Python scripts","CONTROL file changes","The compilation job script <code class=\"docutils literal notranslate\"><span class=\"pre\">compilejob.ksh</span></code>","The CONTROL file","The CONTROL parameters","ECMWF user credential file <code class=\"docutils literal notranslate\"><span class=\"pre\">ECMWF_ENV</span></code>","CONTROL file examples","The Fortran makefile for <code class=\"docutils literal notranslate\"><span class=\"pre\">calc_etadot</span></code>","The job script <code class=\"docutils literal notranslate\"><span class=\"pre\">job.ksh</span></code>","The executable script - <code class=\"docutils literal notranslate\"><span class=\"pre\">run.sh</span></code>","The installation script - <code class=\"docutils literal notranslate\"><span class=\"pre\">setup.sh</span></code>","Templates","Application modes","Program flow","Auto-generated documentation","Disaggregation of flux data","Control & 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}}) -
For_developers/Sphinx/Source/Documentation/Input/setup.rst
r7271b6f r47be2684 165 165 [--ecuid ECUID] [--ecgid ECGID] [--gateway GATEWAY] 166 166 [--destination DESTINATION] [--installdir INSTALLDIR] 167 [--sysinstalldir SYSINSTALLDIR] 167 168 [--job_template JOB_TEMPLATE] [--controlfile CONTROLFILE] 168 169 … … 172 173 -h, --help show this help message and exit 173 174 --target INSTALL_TARGET 174 Valid targets: local | ecgate | cca , the latter two175 Valid targets: syslocal | local | ecgate | cca , the latter two 175 176 are at ECMWF (default: None) 176 177 --makefile MAKEFILE Name of makefile to compile the Fortran … … 186 187 Root directory where flex_extract will be installed 187 188 to. (default: None) 189 --sysinstalldir SYSINSTALLDIR 190 System installation path; where executables are 191 stored. (default: None) 188 192 --job_template JOB_TEMPLATE 189 193 The rudimentary template file to create a batch job … … 198 202 199 203 204 200 205 .. toctree:: 201 206 :hidden: -
For_developers/Sphinx/Source/Installation/local.rst
r73308e0 r903ed4f 266 266 The Fortran program called ``calc_etadot`` will be compiled during the 267 267 installation process. A suitable makefile (``makefile_local_gfortran``) for the compilation is set by default. 268 This may be overwritten by the ``MAKEFILE`` parameter in ``setup .sh``.269 270 However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into ``setup .sh``268 This may be overwritten by the ``MAKEFILE`` parameter in ``setup_local.sh``. 269 270 However, you may have to adapt the makefile for your environment (the current default makefile works on Debian stretch and similar GNU/Linux distributions). If you use a new name for it, you will have to insert it into ``setup_local.sh`` 271 271 For details on the makefile and how to adapt them, see :ref:`Fortran Makefile <ref-convert>`. 272 272 273 273 274 In the root directory of ``flex_extract``, open the ``setup .sh`` script274 In the root directory of ``flex_extract``, open the ``setup_local.sh`` script 275 275 with an editor and adapt the installation parameters in the section labelled with 276 276 "AVAILABLE COMMANDLINE ARGUMENTS TO SET" as shown below: … … 279 279 .. code-block:: bash 280 280 :caption: 'Example settings for a local installation.' 281 :name: setup .sh281 :name: setup_local.sh 282 282 283 283 ... … … 294 294 DESTINATION=None 295 295 INSTALLDIR=None 296 SYSINSTALLDIR=None 296 297 JOB_TEMPLATE='' 297 298 CONTROLFILE='CONTROL_EA5' … … 303 304 .. code-block:: bash 304 305 305 $ ./setup .sh306 $ ./setup_local.sh 306 307 307 308 to start the installation. You should see the following standard output. … … 310 311 .. code-block:: bash 311 312 312 # Output of setup .sh313 # Output of setup_local.sh 313 314 WARNING: installdir has not been specified 314 315 flex_extract will be installed in here by compiling the Fortran source in <path-to-flex_extract>/flex_extract_v7.1/Source/Fortran … … 327 328 lrwxrwxrwx. 1 <username> tmc 20 Aug 12 10:59 ./calc_etadot -> calc_etadot_fast.out 328 329 330 331 Local system installation 332 ========================= 333 334 There is also the possibility to separate the software executables from the user application files. For doing so, the ``TARGET`` parameter can be set to "syslocal" and the additional parameter ``SYSINSTALLDIR`` in the ``setup_local.sh`` has to be specified. This new path will contain the Fortran and Python executables of ``flex_extract``. If you chose to set a system path for this, please start the script as root. 335 The user directory for ``flex_extract``, which basically consists of everything except the ``Source`` directory, will be installed into ``INSTALLDIR``. 336 In this installation mode, an extra (hidden) ``.setup.rc`` file will be generated in the ``Run`` directory. It contains the necessary settings for running the local system mode. 337 338 Despite the change in the ``TARGET`` parameter, the meaning of ``INSTALLDIR`` and the additional ``SYSINSTALLDIR``, the steps for installation are the same as in the local installation mentioned above. For example, modify the ``setup_local.sh`` file as follows: 339 340 341 .. code-block:: bash 342 :caption: 'Example settings for a local system installation.' 343 :name: setup_local.sh 344 345 ... 346 # ----------------------------------------------------------------- 347 # AVAILABLE COMMANDLINE ARGUMENTS TO SET 348 # 349 # THE USER HAS TO SPECIFY THESE PARAMETER 350 # 351 TARGET='syslocal' 352 MAKEFILE=<name_of_your_makefile> 353 ECUID=None 354 ECGID=None 355 GATEWAY=None 356 DESTINATION=None 357 INSTALLDIR=$HOME 358 SYSINSTALLDIR=/usr/bin/ 359 JOB_TEMPLATE='' 360 CONTROLFILE='CONTROL_EA5' 361 ... 362 363 364 Afterwards, type: 365 366 .. code-block:: bash 367 368 $ sudo ./setup_local.sh 369 370 to start the installation. You should see the following standard output. 371 372 .. code-block:: bash 373 374 Flex_extract will be installed in <$HOME> 375 Install flex_extract_v7.1.2 software as syslocal in directory /usr/bin/flex_extract_v7.1.2 376 377 Using makefile: makefile_local_gfortran 378 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./rwgrib2.f90 379 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./phgrreal.f90 380 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./grphreal.f90 381 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./ftrafo.f90 382 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./calc_etadot.f90 383 /usr/local/bin/gfortran -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -I. -I/usr/local/include/ -fdefault-real-8 -fopenmp -fconvert=big-endian -c ./posnam.f90 384 /usr/local/bin/gfortran rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o -o calc_etadot_fast.out -O3 -march=native -L/usr/local/lib64/ -leccodes_f90 -leccodes -lm -lemosR64 -fopenmp 385 ln -sf calc_etadot_fast.out calc_etadot 386 387 lrwxrwxrwx. 1 <username> tmc 20 27. Okt 23:25 ./calc_etadot -> calc_etadot_fast.out 388 SUCCESS: INSTALLATION FINISHED! 389 390 391 You can now change into the user directory specified in ``INSTALLDIR`` and find a ``flex_extract_vX.X`` directory there. -
README.md
re70c85f r037f7bb 3 3 `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. 4 4 5 `FLEXPART` ( “FLEXible PARTicle dispersion model”, http://flexpart.eu) is a Lagrangian transport and dispersion model suitable for the simulation of a large range of atmospheric transport processes.5 `FLEXPART` ("FLEXible PARTicle dispersion model", http://flexpart.eu) is a Lagrangian transport and dispersion model suitable for the simulation of a large range of atmospheric transport processes. 6 6 7 7 … … 17 17 ## Authors 18 18 19 Anne Philipp, Leopold Haimberger and Petra Seibert19 Anne Tipka (formerly Philipp), Leopold Haimberger and Petra Seibert 20 20 21 21 ## License 22 (C) Copyright 2014-20 19.22 (C) Copyright 2014-2020. 23 23 24 24 SPDX-License-Identifier: CC-BY-4.0 … … 28 28 http://creativecommons.org/licenses/by/4.0/ or send a letter to 29 29 Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. 30 -
Run/run_local.sh
r98f09d2 r47be2684 12 12 # 13 13 # @Licence: 14 # (C) Copyright 2014-20 19.14 # (C) Copyright 2014-2020. 15 15 # 16 16 # SPDX-License-Identifier: CC-BY-4.0 -
Source/Python/Classes/ControlFile.py
r0a75335 r75db9b0 21 21 # June 2020 - Anne Philipp 22 22 # - update default makefile to None 23 # August 2020 - Leopold Haimberger 24 # - added a class parameter for system installation path 23 25 # 24 26 # @License: … … 404 406 self.exedir = _config.PATH_FORTRAN_SRC 405 407 self.installdir = None 408 self.sysinstalldir = None 406 409 self.makefile = None 407 410 self.destination = None -
Source/Python/Mods/tools.py
r026b359 r75db9b0 22 22 # put_file_to_ecserver, submit_job_to_ecserver, get_informations, 23 23 # get_dimensions, execute_subprocess, none_or_int, none_or_str 24 # 25 # August 2020 - Leopold Haimberger (University of Vienna) 26 # - added function to check if a specific string is in a file 27 # - added function to overwrite lines in a file which contain specific string 24 28 # 25 29 # @License: … … 249 253 type=none_or_str, default=None, 250 254 help='The name of the ECMWF server name where the' 251 'job script is to be submitted ' 255 'job script is to be submitted ' 252 256 '(e.g. ecgate | cca | ccb)') 253 257 … … 624 628 '''Creates a directory. 625 629 626 If the directory already exists, an information is printed and the creation 630 If the directory already exists, an information is printed and the creation 627 631 skipped. The program stops only if there is another problem. 628 632 … … 856 860 ---------- 857 861 cmd_list : list of str 858 A list of the components for the command line execution. 859 They will be concatenated with blank space for the command 862 A list of the components for the command line execution. 863 They will be concatenated with blank space for the command 860 864 to be submitted, like ['mv', file1, file2] for mv file1 file2. 861 865 … … 910 914 911 915 return start_period, end_period 916 917 918 def check_for_string_in_file(filepath, search_string): 919 """ 920 Search for a specific string in a file and return True if 921 the string was found. 922 923 Parameters 924 ---------- 925 filepath : str 926 The full file path which is to be examined. 927 928 search_string : str 929 The string which is looked up for in the file. 930 931 Return 932 ------ 933 Boolean : 934 True : String was found 935 False : String was not found 936 """ 937 with open(filepath, 'r') as fio: 938 for line in fio: 939 if search_string in line: 940 return True 941 return False 942 943 944 def overwrite_lines_in_file(filepath, search_string, sub_string): 945 """ 946 Overwrites lines which contain the given search string with the 947 substitution string. 948 949 Parameters 950 ---------- 951 search_string : str 952 The string which is looked up for in the file. 953 954 sub_string : str 955 The string which overwrites the search string. 956 957 Return 958 ------ 959 """ 960 with open(filepath, 'r') as fio: 961 data = fio.readlines() 962 963 with open(filepath, 'w') as fio: 964 for line in data: 965 if search_string in line: 966 fio.write(sub_string) 967 else: 968 fio.write(line) 969 970 return 971 -
Source/Python/_config.py
r0a75335 r75db9b0 9 9 # June 2020 - Anne Philipp 10 10 # - changed template filenames to .template 11 # August 2020 - Leopold Haimberger 12 # - added another target for installation 13 # - added filename which will contain paths for system version 14 # - checks if software runs in normal local mode or system local mode 15 # and defines paths to user directory and executable paths 11 16 # 12 17 # @License: … … 38 43 # ------------------------------------------------------------------------------ 39 44 40 _VERSION_STR = '7.1.2 '45 _VERSION_STR = '7.1.2_ctbto' 41 46 42 47 FLAG_ON_ECMWFSERVER = 'ecgb' in platform.node() … … 44 49 QUEUES_LIST = ['ecgate', 'cca', 'ccb'] 45 50 46 INSTALL_TARGETS = ['local', ' ecgate', 'cca', 'ccb']51 INSTALL_TARGETS = ['local', 'syslocal', 'ecgate', 'cca', 'ccb'] 47 52 48 53 CDS_DATASET_ML = 'reanalysis-era5-complete' … … 70 75 FILE_GRIB_INDEX = 'date_time_stepRange.idx' 71 76 FILE_GRIBTABLE = 'ecmwf_grib1_table_128' 77 FILE_SYS_CONFIG = '.setup.rc' 72 78 73 79 # ------------------------------------------------------------------------------ … … 79 85 80 86 # ------------------------------------------------------------------------------ 81 # PATHES87 # LOAD ENVIRONMENT VARIABLES FOR SYS VERSION; IF NECESSARRY 82 88 # ------------------------------------------------------------------------------ 83 89 … … 89 95 if PATH_LOCAL_PYTHON not in sys.path: 90 96 sys.path.append(PATH_LOCAL_PYTHON) 97 98 # ------------------------------------------------------------------------------ 99 # PATHES 100 # ------------------------------------------------------------------------------ 101 91 102 PATH_FLEXEXTRACT_DIR = os.path.normpath(os.path.dirname(os.path.abspath( 92 103 inspect.getfile(inspect.currentframe()))) + '/../../') 104 if not os.path.isdir(os.path.join(PATH_FLEXEXTRACT_DIR,'Run')): 105 # if it does not exist, we have a system installation in place 106 # we need to have a sys and user path 107 # configure correct system path 108 PATH_SYSTEM_DIR = os.path.join(PATH_FLEXEXTRACT_DIR, FLEXEXTRACT_DIRNAME) 109 # configure correct user path 110 PATH_FLEXEXTRACT_DIR = os.environ.get('FLEXEXTRACT_USER_DIR') 111 else: 112 PATH_SYSTEM_DIR = PATH_FLEXEXTRACT_DIR 113 93 114 PATH_RUN_DIR = os.path.join(PATH_FLEXEXTRACT_DIR, 'Run') 94 PATH_SOURCES = os.path.join(PATH_ FLEXEXTRACT_DIR, 'Source')115 PATH_SOURCES = os.path.join(PATH_SYSTEM_DIR, 'Source') 95 116 PATH_TEMPLATES = os.path.join(PATH_FLEXEXTRACT_DIR, 'Templates') 96 117 PATH_ECMWF_ENV = os.path.join(PATH_RUN_DIR, FILE_USER_ENVVARS) 97 118 PATH_GRIBTABLE = os.path.join(PATH_TEMPLATES, FILE_GRIBTABLE) 98 119 PATH_JOBSCRIPTS = os.path.join(PATH_RUN_DIR, 'Jobscripts') 99 PATH_FORTRAN_SRC = os.path.join(PATH_SOURCES, 'Fortran') 120 if os.path.isdir(os.path.join(PATH_SYSTEM_DIR,'Fortran')): 121 PATH_FORTRAN_SRC = PATH_SYSTEM_DIR 122 else: 123 PATH_FORTRAN_SRC = os.path.join(PATH_SOURCES, 'Fortran') 100 124 PATH_PYTHONTEST_SRC = os.path.join(PATH_SOURCES, 'Pythontest') 101 125 PATH_INPUT_DIR = os.path.join(PATH_RUN_DIR, INPUT_DIRNAME_DEFAULT) -
Source/Python/install.py
r8028176 r75db9b0 19 19 # June 2020 - Anne Philipp 20 20 # - renamed "convert" functions to "fortran" functions 21 # - reconfigured mk_tarball to select *.template files instead 21 # - reconfigured mk_tarball to select *.template files instead 22 22 # of *.nl and *.temp 23 23 # - added check for makefile settings 24 # August 2020 - Leopold Haimberger 25 # - added a new installation section for system installation (if-else block) 26 # - read new argument from command line 27 # - write .setup.rc for a system installation into Run directory 28 # - copy executables to system path and user files to user path 24 29 # 25 30 # @License: … … 75 80 import subprocess 76 81 import tarfile 82 import shutil 77 83 from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter 78 84 … … 82 88 from Classes.UioFiles import UioFiles 83 89 from Mods.tools import (make_dir, put_file_to_ecserver, submit_job_to_ecserver, 84 silent_remove, execute_subprocess, none_or_str) 90 silent_remove, execute_subprocess, none_or_str, 91 overwrite_lines_in_file, check_for_string_in_file) 85 92 86 93 # ------------------------------------------------------------------------------ … … 103 110 check_install_conditions(c) 104 111 105 if c.install_target.lower() != 'local': # ecgate or cca112 if c.install_target.lower() not in ['local', 'syslocal']: # ecgate or cca 106 113 install_via_gateway(c) 107 114 else: # local 108 115 install_local(c) 109 116 117 print("SUCCESS: INSTALLATION FINISHED!") 118 110 119 return 111 120 … … 128 137 parser.add_argument('--target', dest='install_target', 129 138 type=none_or_str, default=None, 130 help="Valid targets: local | ecgate | cca , \139 help="Valid targets: syslocal | local | ecgate | cca , \ 131 140 the latter two are at ECMWF") 132 141 parser.add_argument("--makefile", dest="makefile", … … 150 159 parser.add_argument("--installdir", dest="installdir", 151 160 type=none_or_str, default=None, 152 help='Root directory of the '161 help='Root (user) directory of the ' 153 162 'flex_extract installation') 163 parser.add_argument("--sysinstalldir", dest="sysinstalldir", 164 type=none_or_str, default=None, 165 help='System installation path; where ' 166 'executables are stored.') 154 167 155 168 # arguments for job submission to ECMWF, only needed by submit.py … … 228 241 _config.FLEXEXTRACT_DIRNAME + '.tar') 229 242 230 if c.installdir == _config.PATH_FLEXEXTRACT_DIR: 231 print('WARNING: installdir has not been specified') 232 print('flex_extract will be installed in here by compiling the ' + 233 'Fortran source in ' + _config.PATH_FORTRAN_SRC) 234 os.chdir(_config.PATH_FORTRAN_SRC) 235 else: # creates the target working directory for flex_extract 236 c.installdir = os.path.expandvars(os.path.expanduser( 237 c.installdir)) 238 if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) != \ 239 os.path.abspath(c.installdir): 243 c.installdir = os.path.abspath(os.path.expandvars(os.path.expanduser( 244 c.installdir))) 245 c.sysinstalldir = os.path.abspath(os.path.expandvars(os.path.expanduser( 246 c.sysinstalldir))) 247 248 # this is standard installation into a single directory 249 if c.install_target == 'local': 250 251 # installation into the current directory 252 if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.installdir: 253 print('WARNING: installdir has not been specified') 254 print('flex_extract will be installed in current dir by compiling the ' + 255 'Fortran source in ' + _config.PATH_FORTRAN_SRC) 256 os.chdir(_config.PATH_FORTRAN_SRC) 257 # installation into a different path 258 elif os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) != c.installdir : 259 260 # creates the target working directory for flex_extract 240 261 mk_tarball(tar_file, c.install_target) 241 262 make_dir(os.path.join(c.installdir, … … 248 269 _config.PATH_REL_FORTRAN_SRC)) 249 270 250 # Create Fortran executable 251 print('Install ' + _config.FLEXEXTRACT_DIRNAME + ' software at ' + 252 c.install_target + ' in directory ' + 253 os.path.abspath(c.installdir) + '\n') 254 255 del_fortran_build('.') 256 mk_fortran_build('.', c.makefile) 271 # Create Fortran executable 272 print('Install ' + _config.FLEXEXTRACT_DIRNAME + ' software at ' + 273 c.install_target + ' in directory ' + c.installdir + '\n') 274 275 del_fortran_build('.') 276 mk_fortran_build('.', c.makefile) 277 os.chdir('../../') 278 # make sure that the correct calling of submit.py script is in run_local.sh 279 overwrite_lines_in_file('Run/run_local.sh', 280 'pyscript=', 'pyscript=../Source/Python/submit.py\n') 281 282 # this is system installation were executables and user files are separated 283 elif c.install_target == 'syslocal': 284 if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.sysinstalldir : 285 sys.exit('ERROR: System installation path is equal to user ' 286 'installation path.\n Please change either the system ' 287 'installation path or use installation target "local".') 288 if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.installdir : 289 print('Flex_extract will be installed in current directory!') 290 else: # install user part in different dir 291 print('Flex_extract will be installed in ' + c.installdir ) 292 293 c.installdir = os.path.join(c.installdir,_config.FLEXEXTRACT_DIRNAME) 294 if os.path.isdir(c.installdir): 295 shutil.rmtree(c.installdir) 296 297 # copy all files except Python and Fortranfiles to this dir 298 shutil.copytree(_config.PATH_FLEXEXTRACT_DIR, 299 c.installdir, symlinks=True) 300 shutil.rmtree(os.path.join(c.installdir,'Source')) 301 shutil.rmtree(os.path.join(c.installdir,'.git')) 302 for x in UioFiles(c.installdir, '*~').files: 303 silent_remove(x) 304 305 os.remove(os.path.join(c.installdir,'setup.sh')) 306 os.remove(os.path.join(c.installdir,'setup_local.sh')) 307 308 # configure run_local script correctly 309 # check if source of system config file is already in run_local.sh, 310 # if not, add it 311 if not check_for_string_in_file(os.path.join(c.installdir,'Run/run_local.sh'), 312 'source .setup.rc'): 313 overwrite_lines_in_file(os.path.join(c.installdir,'Run/run_local.sh'), 314 '# PATH TO SUBMISSION SCRIPT', 315 '# PATH TO SUBMISSION SCRIPT\nsource '+_config.FILE_SYS_CONFIG+'\n') 316 # make sure that the correct calling of submit.py script is in run_local.sh 317 overwrite_lines_in_file(os.path.join(c.installdir,'Run/run_local.sh'), 318 'pyscript=', 'pyscript=submit.py\n') 319 320 # change permission for file to executable 321 execute_subprocess(['chmod', '0775', 322 os.path.join(os.path.abspath(c.installdir),'Run/run_local.sh')]) 323 324 325 # create systemdir 326 c.sysinstalldir = os.path.join(c.sysinstalldir,_config.FLEXEXTRACT_DIRNAME) 327 if os.path.isdir(c.sysinstalldir): 328 shutil.rmtree(c.sysinstalldir) 329 330 # create setup file for running flex_extract with system installation 331 with open(os.path.join(os.path.abspath(c.installdir),'Run/.setup.rc'),'w') as fio: 332 fio.write('#!/bin/bash \n') 333 fio.write('export FLEXEXTRACT_USER_DIR='+os.path.abspath(c.installdir)+'\n') 334 fio.write('export PATH='+os.path.abspath(c.sysinstalldir)+'/Python:${PATH}\n') 335 fio.write('export PATH='+os.path.abspath(c.sysinstalldir)+':${PATH}\n') 336 337 # copy all Python and Fortranfiles to this dir 338 shutil.copytree(_config.PATH_SOURCES, c.sysinstalldir, symlinks=True) 339 340 os.chdir(os.path.join(c.sysinstalldir,'Fortran')) 341 # Create Fortran executable 342 print('Install ' + _config.FLEXEXTRACT_DIRNAME + ' software as ' + 343 c.install_target + ' in directory ' + 344 os.path.abspath(c.sysinstalldir) + '\n') 345 346 del_fortran_build('.') 347 mk_fortran_build('.', c.makefile) 348 349 outfile = [x for x in UioFiles('.','*.out').files] 350 test=os.path.join(c.sysinstalldir,'calc_etadot') 351 if len(outfile) != 1: 352 print('WARNING: Multiple executables for Fortran code are available!') 353 # move executable one dir up and delete Fortran dir 354 os.chdir('..') 355 shutil.move(outfile[0], os.path.join(c.sysinstalldir,'calc_etadot')) 356 shutil.rmtree(os.path.join(os.path.abspath(c.sysinstalldir),'Fortran')) 257 357 258 358 os.chdir(_config.PATH_FLEXEXTRACT_DIR) … … 289 389 sys.exit(1) 290 390 291 if c.install_target and c.install_target != 'local':391 if c.install_target and c.install_target not in ['local', 'syslocal']: 292 392 if not c.ecgid or not c.ecuid: 293 393 print('Please enter your ECMWF user id and group id ' … … 305 405 if not c.installdir: 306 406 c.installdir = '${HOME}' 307 el se: # local407 elif c.install_target == 'local': 308 408 if not c.installdir: 309 409 c.installdir = _config.PATH_FLEXEXTRACT_DIR 410 elif c.install_target == 'syslocal': 411 if not c.installdir: 412 c.installdir = _config.PATH_FLEXEXTRACT_DIR 413 if not c.sysinstalldir: 414 print('ERROR: System installation was selected but ' 415 'no system installation path was defined.') 416 sys.exit() 310 417 311 418 if not c.makefile: … … 323 430 else: 324 431 pass 325 432 326 433 return 327 434 … … 715 822 print(e) 716 823 else: 717 execute_subprocess(['ls', '-l', 824 execute_subprocess(['ls', '-l', 718 825 os.path.join(src_path, _config.FORTRAN_EXECUTABLE)], 719 826 error_msg='FORTRAN EXECUTABLE COULD NOT BE FOUND!') -
Source/Python/submit.py
ra916e8f r47be2684 114 114 else: 115 115 submit(job_template, c, queue) 116 exit_message = 'FLEX_EXTRACT JOB SCRIPT IS SUBMIT ED!'116 exit_message = 'FLEX_EXTRACT JOB SCRIPT IS SUBMITTED!' 117 117 118 118 normal_exit(exit_message) -
setup_local.sh
r98f09d2 r75db9b0 10 10 # python installation script. It also does some checks to 11 11 # guarantee necessary parameters were set. 12 # 13 # @History: 14 # Leopold Haimberger; Aug 2020 15 # added new parameter for a system installation 16 # (seperate executable and user directories) 12 17 # 13 18 # @Licence: … … 33 38 DESTINATION='<name>@genericSftp' 34 39 INSTALLDIR=None 40 SYSINSTALLDIR=None 35 41 JOB_TEMPLATE='' 36 42 CONTROLFILE='CONTROL_CERA' … … 76 82 parameterlist+=" --makefile=$MAKEFILE" 77 83 fi 78 if [ -n "$FLEXPARTDIR" ]; then # not empty 79 parameterlist+=" --flexpartdir=$FLEXPARTDIR" 84 if [ -n "$INSTALLDIR" ]; then 85 parameterlist+=" --installdir=$INSTALLDIR" 86 fi 87 if [ -n "$SYSINSTALLDIR" ]; then 88 parameterlist+=" --sysinstalldir=$SYSINSTALLDIR" 80 89 fi 81 90 if [ -n "$JOB_TEMPLATE" ]; then … … 91 100 $script $parameterlist 92 101 102 103
Note: See TracChangeset
for help on using the changeset viewer.