Changeset 47be2684 in flex_extract.git
- Timestamp:
- Oct 28, 2020, 10:28:24 AM (3 years ago)
- Branches:
- ctbto, dev
- Children:
- 75db9b0
- Parents:
- 697b8d0
- Files:
-
- 22 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 r47be2684 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 seperate 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 flex_extract_vX.X directory there.</p> 501 </div> 448 502 </div> 449 503 -
Documentation/html/_modules/ControlFile.html
r08c9091 r47be2684 566 566 <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 567 <span class="bp">self</span><span class="o">.</span><span class="n">installdir</span> <span class="o">=</span> <span class="kc">None</span> 568 <span class="bp">self</span><span class="o">.</span><span class="n">sysinstalldir</span> <span class="o">=</span> <span class="kc">None</span> 568 569 <span class="bp">self</span><span class="o">.</span><span class="n">makefile</span> <span class="o">=</span> <span class="kc">None</span> 569 570 <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 r47be2684 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> … … 237 237 <span class="kn">import</span> <span class="nn">subprocess</span> 238 238 <span class="kn">import</span> <span class="nn">tarfile</span> 239 <span class="kn">import</span> <span class="nn">shutil</span> 239 240 <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 241 … … 244 245 <span class="kn">from</span> <span class="nn">Classes.UioFiles</span> <span class="kn">import</span> <span class="n">UioFiles</span> 245 246 <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> 247 <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> 248 <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 249 248 250 <span class="c1"># ------------------------------------------------------------------------------</span> … … 265 267 <span class="n">check_install_conditions</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> 266 268 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>269 <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 270 <span class="n">install_via_gateway</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> 269 271 <span class="k">else</span><span class="p">:</span> <span class="c1"># local</span> 270 272 <span class="n">install_local</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> 271 273 274 <span class="nb">print</span><span class="p">(</span><span class="s2">"SUCCESS: INSTALLATION FINISHED!"</span><span class="p">)</span> 275 272 276 <span class="k">return</span></div> 273 277 … … 290 294 <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 295 <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>296 <span class="n">help</span><span class="o">=</span><span class="s2">"Valid targets: syslocal | local | ecgate | cca , </span><span class="se">\</span> 293 297 <span class="s2"> the latter two are at ECMWF"</span><span class="p">)</span> 294 298 <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 316 <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 317 <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>318 <span class="n">help</span><span class="o">=</span><span class="s1">'Root (user) directory of the '</span> 315 319 <span class="s1">'flex_extract installation'</span><span class="p">)</span> 320 <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> 321 <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> 322 <span class="n">help</span><span class="o">=</span><span class="s1">'System installation path; where '</span> 323 <span class="s1">'executables are stored.'</span><span class="p">)</span> 316 324 317 325 <span class="c1"># arguments for job submission to ECMWF, only needed by submit.py</span> … … 390 398 <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 399 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> 400 <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> 401 <span class="n">c</span><span class="o">.</span><span class="n">installdir</span><span class="p">)))</span> 402 <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> 403 <span class="n">c</span><span class="o">.</span><span class="n">sysinstalldir</span><span class="p">)))</span> 404 405 <span class="c1"># this is standard installation into a single directory</span> 406 <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> 407 408 <span class="c1"># installation into the current directory</span> 409 <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> 410 <span class="nb">print</span><span class="p">(</span><span class="s1">'WARNING: installdir has not been specified'</span><span class="p">)</span> 411 <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> 412 <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> 413 <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> 414 <span class="c1"># installation into a different path</span> 415 <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> 416 417 <span class="c1"># creates the target working directory for flex_extract</span> 402 418 <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 419 <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 426 <span class="n">_config</span><span class="o">.</span><span class="n">PATH_REL_FORTRAN_SRC</span><span class="p">))</span> 411 427 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> 428 <span class="c1"># Create Fortran executable</span> 429 <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> 430 <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> 431 432 <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span> 433 <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> 434 <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> 435 <span class="c1"># make sure that the correct calling of submit.py script is in run_local.sh</span> 436 <span class="n">overwrite_lines_in_file</span><span class="p">(</span><span class="s1">'Run/run_local.sh'</span><span class="p">,</span> 437 <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> 438 439 <span class="c1"># this is system installation were executables and user files are separated</span> 440 <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> 441 <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> 442 <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> 443 <span class="s1">'installation path.</span><span class="se">\n</span><span class="s1"> Please change either the system '</span> 444 <span class="s1">'installation path or use installation target "local".'</span><span class="p">)</span> 445 <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> 446 <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> 447 <span class="k">else</span><span class="p">:</span> <span class="c1"># install user part in different dir</span> 448 <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> 449 450 <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> 451 <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> 452 <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> 453 454 <span class="c1"># copy all files except Python and Fortranfiles to this dir</span> 455 <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> 456 <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> 457 <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> 458 <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> 459 <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> 460 <span class="n">silent_remove</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> 461 462 <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> 463 <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> 464 465 <span class="c1"># configure run_local script correctly</span> 466 <span class="c1"># check if source of system config file is already in run_local.sh,</span> 467 <span class="c1"># if not, add it</span> 468 <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> 469 <span class="s1">'source .setup.rc'</span><span class="p">):</span> 470 <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> 471 <span class="s1">'# PATH TO SUBMISSION SCRIPT'</span><span class="p">,</span> 472 <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> 473 <span class="c1"># make sure that the correct calling of submit.py script is in run_local.sh</span> 474 <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> 475 <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> 476 477 <span class="c1"># change permission for file to executable</span> 478 <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> 479 <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> 480 481 482 <span class="c1"># create systemdir</span> 483 <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> 484 <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> 485 <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> 486 487 <span class="c1"># create setup file for running flex_extract with system installation</span> 488 <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> 489 <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> 490 <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> 491 <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> 492 <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> 493 494 <span class="c1"># copy all Python and Fortranfiles to this dir</span> 495 <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> 496 497 <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> 498 <span class="c1"># Create Fortran executable</span> 499 <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> 500 <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> 501 <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> 502 503 <span class="n">del_fortran_build</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span> 504 <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> 505 506 <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> 507 <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> 508 <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> 509 <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> 510 <span class="c1"># move executable one dir up and delete Fortran dir</span> 511 <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> 512 <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> 513 <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 514 420 515 <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 546 <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 547 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>548 <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 549 <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 550 <span class="nb">print</span><span class="p">(</span><span class="s1">'Please enter your ECMWF user id and group id '</span> … … 467 562 <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 563 <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>564 <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 565 <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 566 <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> 567 <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> 568 <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> 569 <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> 570 <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> 571 <span class="nb">print</span><span class="p">(</span><span class="s1">'ERROR: System installation was selected but '</span> 572 <span class="s1">'no system installation path was defined.'</span><span class="p">)</span> 573 <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span> 472 574 473 575 <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 587 <span class="k">else</span><span class="p">:</span> 486 588 <span class="k">pass</span> 487 589 488 590 <span class="k">return</span></div> 489 591 … … 877 979 <span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span> 878 980 <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> 981 <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 982 <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 983 <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 r47be2684 411 411 <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 412 <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> 413 <span class="s1">'job script is to be submitted '</span> 414 414 <span class="s1">'(e.g. ecgate | cca | ccb)'</span><span class="p">)</span> 415 415 … … 786 786 <span class="sd">'''Creates a directory.</span> 787 787 788 <span class="sd"> If the directory already exists, an information is printed and the creation 788 <span class="sd"> If the directory already exists, an information is printed and the creation</span> 789 789 <span class="sd"> skipped. The program stops only if there is another problem.</span> 790 790 … … 1018 1018 <span class="sd"> ----------</span> 1019 1019 <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 1020 <span class="sd"> A list of the components for the command line execution.</span> 1021 <span class="sd"> They will be concatenated with blank space for the command</span> 1022 1022 <span class="sd"> to be submitted, like ['mv', file1, file2] for mv file1 file2.</span> 1023 1023 … … 1072 1072 1073 1073 <span class="k">return</span> <span class="n">start_period</span><span class="p">,</span> <span class="n">end_period</span></div> 1074 1075 1076 <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> 1077 <span class="sd">"""</span> 1078 <span class="sd"> Search for a specific string in a file and return True if</span> 1079 <span class="sd"> the string was found.</span> 1080 1081 <span class="sd"> Parameters</span> 1082 <span class="sd"> ----------</span> 1083 <span class="sd"> filepath : str</span> 1084 <span class="sd"> The full file path which is to be examined.</span> 1085 1086 <span class="sd"> search_string : str</span> 1087 <span class="sd"> The string which is looked up for in the file.</span> 1088 1089 <span class="sd"> Return</span> 1090 <span class="sd"> ------</span> 1091 <span class="sd"> Boolean :</span> 1092 <span class="sd"> True : String was found</span> 1093 <span class="sd"> False : String was not found</span> 1094 <span class="sd"> """</span> 1095 <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> 1096 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">fio</span><span class="p">:</span> 1097 <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> 1098 <span class="k">return</span> <span class="kc">True</span> 1099 <span class="k">return</span> <span class="kc">False</span></div> 1100 1101 1102 <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> 1103 <span class="sd">"""</span> 1104 <span class="sd"> Overwrites lines which contain the given search string with the</span> 1105 <span class="sd"> substitution string.</span> 1106 1107 <span class="sd"> Parameters</span> 1108 <span class="sd"> ----------</span> 1109 <span class="sd"> search_string : str</span> 1110 <span class="sd"> The string which is looked up for in the file.</span> 1111 1112 <span class="sd"> sub_string : str</span> 1113 <span class="sd"> The string which overwrites the search string.</span> 1114 1115 <span class="sd"> Return</span> 1116 <span class="sd"> ------</span> 1117 <span class="sd"> """</span> 1118 <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> 1119 <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> 1120 1121 <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> 1122 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> 1123 <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> 1124 <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> 1125 <span class="k">else</span><span class="p">:</span> 1126 <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> 1127 1128 <span class="k">return</span></div> 1129 1074 1130 </pre></div> 1075 1131 -
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 r47be2684 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 seperate 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 r47be2684 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,36,43],sepeart:[],seper:[2,6,11,12,31],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
r8a53342 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 r47be2684 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 seperate 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. -
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 r47be2684 404 404 self.exedir = _config.PATH_FORTRAN_SRC 405 405 self.installdir = None 406 self.sysinstalldir = None 406 407 self.makefile = None 407 408 self.destination = None -
Source/Python/Mods/tools.py
rf61e1df r47be2684 249 249 type=none_or_str, default=None, 250 250 help='The name of the ECMWF server name where the' 251 'job script is to be submitted ' 251 'job script is to be submitted ' 252 252 '(e.g. ecgate | cca | ccb)') 253 253 … … 624 624 '''Creates a directory. 625 625 626 If the directory already exists, an information is printed and the creation 626 If the directory already exists, an information is printed and the creation 627 627 skipped. The program stops only if there is another problem. 628 628 … … 856 856 ---------- 857 857 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 858 A list of the components for the command line execution. 859 They will be concatenated with blank space for the command 860 860 to be submitted, like ['mv', file1, file2] for mv file1 file2. 861 861 … … 910 910 911 911 return start_period, end_period 912 913 914 def check_for_string_in_file(filepath, search_string): 915 """ 916 Search for a specific string in a file and return True if 917 the string was found. 918 919 Parameters 920 ---------- 921 filepath : str 922 The full file path which is to be examined. 923 924 search_string : str 925 The string which is looked up for in the file. 926 927 Return 928 ------ 929 Boolean : 930 True : String was found 931 False : String was not found 932 """ 933 with open(filepath, 'r') as fio: 934 for line in fio: 935 if search_string in line: 936 return True 937 return False 938 939 940 def overwrite_lines_in_file(filepath, search_string, sub_string): 941 """ 942 Overwrites lines which contain the given search string with the 943 substitution string. 944 945 Parameters 946 ---------- 947 search_string : str 948 The string which is looked up for in the file. 949 950 sub_string : str 951 The string which overwrites the search string. 952 953 Return 954 ------ 955 """ 956 with open(filepath, 'r') as fio: 957 data = fio.readlines() 958 959 with open(filepath, 'w') as fio: 960 for line in data: 961 if search_string in line: 962 fio.write(sub_string) 963 else: 964 fio.write(line) 965 966 return 967 -
Source/Python/_config.py
r0a75335 r47be2684 38 38 # ------------------------------------------------------------------------------ 39 39 40 _VERSION_STR = '7.1.2 '40 _VERSION_STR = '7.1.2_ctbto' 41 41 42 42 FLAG_ON_ECMWFSERVER = 'ecgb' in platform.node() … … 44 44 QUEUES_LIST = ['ecgate', 'cca', 'ccb'] 45 45 46 INSTALL_TARGETS = ['local', ' ecgate', 'cca', 'ccb']46 INSTALL_TARGETS = ['local', 'syslocal', 'ecgate', 'cca', 'ccb'] 47 47 48 48 CDS_DATASET_ML = 'reanalysis-era5-complete' … … 70 70 FILE_GRIB_INDEX = 'date_time_stepRange.idx' 71 71 FILE_GRIBTABLE = 'ecmwf_grib1_table_128' 72 FILE_SYS_CONFIG = '.setup.rc' 72 73 73 74 # ------------------------------------------------------------------------------ … … 79 80 80 81 # ------------------------------------------------------------------------------ 81 # PATHES82 # LOAD ENVIRONMENT VARIABLES FOR SYS VERSION; IF NECESSARRY 82 83 # ------------------------------------------------------------------------------ 83 84 … … 89 90 if PATH_LOCAL_PYTHON not in sys.path: 90 91 sys.path.append(PATH_LOCAL_PYTHON) 92 93 # ------------------------------------------------------------------------------ 94 # PATHES 95 # ------------------------------------------------------------------------------ 96 91 97 PATH_FLEXEXTRACT_DIR = os.path.normpath(os.path.dirname(os.path.abspath( 92 98 inspect.getfile(inspect.currentframe()))) + '/../../') 99 if not os.path.isdir(os.path.join(PATH_FLEXEXTRACT_DIR,'Run')): 100 # if it does not exist, we have a system installation in place 101 # we need to have a sys and user path 102 # configure correct system path 103 PATH_SYSTEM_DIR = os.path.join(PATH_FLEXEXTRACT_DIR, FLEXEXTRACT_DIRNAME) 104 # configure correct user path 105 PATH_FLEXEXTRACT_DIR = os.environ.get('FLEXEXTRACT_USER_DIR') 106 else: 107 PATH_SYSTEM_DIR = PATH_FLEXEXTRACT_DIR 108 93 109 PATH_RUN_DIR = os.path.join(PATH_FLEXEXTRACT_DIR, 'Run') 94 PATH_SOURCES = os.path.join(PATH_ FLEXEXTRACT_DIR, 'Source')110 PATH_SOURCES = os.path.join(PATH_SYSTEM_DIR, 'Source') 95 111 PATH_TEMPLATES = os.path.join(PATH_FLEXEXTRACT_DIR, 'Templates') 96 112 PATH_ECMWF_ENV = os.path.join(PATH_RUN_DIR, FILE_USER_ENVVARS) 97 113 PATH_GRIBTABLE = os.path.join(PATH_TEMPLATES, FILE_GRIBTABLE) 98 114 PATH_JOBSCRIPTS = os.path.join(PATH_RUN_DIR, 'Jobscripts') 99 PATH_FORTRAN_SRC = os.path.join(PATH_SOURCES, 'Fortran') 115 if os.path.isdir(os.path.join(PATH_SYSTEM_DIR,'Fortran')): 116 PATH_FORTRAN_SRC = PATH_SYSTEM_DIR 117 else: 118 PATH_FORTRAN_SRC = os.path.join(PATH_SOURCES, 'Fortran') 100 119 PATH_PYTHONTEST_SRC = os.path.join(PATH_SOURCES, 'Pythontest') 101 120 PATH_INPUT_DIR = os.path.join(PATH_RUN_DIR, INPUT_DIRNAME_DEFAULT) -
Source/Python/install.py
r8028176 r47be2684 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 … … 75 75 import subprocess 76 76 import tarfile 77 import shutil 77 78 from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter 78 79 … … 82 83 from Classes.UioFiles import UioFiles 83 84 from Mods.tools import (make_dir, put_file_to_ecserver, submit_job_to_ecserver, 84 silent_remove, execute_subprocess, none_or_str) 85 silent_remove, execute_subprocess, none_or_str, 86 overwrite_lines_in_file, check_for_string_in_file) 85 87 86 88 # ------------------------------------------------------------------------------ … … 103 105 check_install_conditions(c) 104 106 105 if c.install_target.lower() != 'local': # ecgate or cca107 if c.install_target.lower() not in ['local', 'syslocal']: # ecgate or cca 106 108 install_via_gateway(c) 107 109 else: # local 108 110 install_local(c) 109 111 112 print("SUCCESS: INSTALLATION FINISHED!") 113 110 114 return 111 115 … … 128 132 parser.add_argument('--target', dest='install_target', 129 133 type=none_or_str, default=None, 130 help="Valid targets: local | ecgate | cca , \134 help="Valid targets: syslocal | local | ecgate | cca , \ 131 135 the latter two are at ECMWF") 132 136 parser.add_argument("--makefile", dest="makefile", … … 150 154 parser.add_argument("--installdir", dest="installdir", 151 155 type=none_or_str, default=None, 152 help='Root directory of the '156 help='Root (user) directory of the ' 153 157 'flex_extract installation') 158 parser.add_argument("--sysinstalldir", dest="sysinstalldir", 159 type=none_or_str, default=None, 160 help='System installation path; where ' 161 'executables are stored.') 154 162 155 163 # arguments for job submission to ECMWF, only needed by submit.py … … 228 236 _config.FLEXEXTRACT_DIRNAME + '.tar') 229 237 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): 238 c.installdir = os.path.abspath(os.path.expandvars(os.path.expanduser( 239 c.installdir))) 240 c.sysinstalldir = os.path.abspath(os.path.expandvars(os.path.expanduser( 241 c.sysinstalldir))) 242 243 # this is standard installation into a single directory 244 if c.install_target == 'local': 245 246 # installation into the current directory 247 if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.installdir: 248 print('WARNING: installdir has not been specified') 249 print('flex_extract will be installed in current dir by compiling the ' + 250 'Fortran source in ' + _config.PATH_FORTRAN_SRC) 251 os.chdir(_config.PATH_FORTRAN_SRC) 252 # installation into a different path 253 elif os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) != c.installdir : 254 255 # creates the target working directory for flex_extract 240 256 mk_tarball(tar_file, c.install_target) 241 257 make_dir(os.path.join(c.installdir, … … 248 264 _config.PATH_REL_FORTRAN_SRC)) 249 265 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) 266 # Create Fortran executable 267 print('Install ' + _config.FLEXEXTRACT_DIRNAME + ' software at ' + 268 c.install_target + ' in directory ' + c.installdir + '\n') 269 270 del_fortran_build('.') 271 mk_fortran_build('.', c.makefile) 272 os.chdir('../../') 273 # make sure that the correct calling of submit.py script is in run_local.sh 274 overwrite_lines_in_file('Run/run_local.sh', 275 'pyscript=', 'pyscript=../Source/Python/submit.py\n') 276 277 # this is system installation were executables and user files are separated 278 elif c.install_target == 'syslocal': 279 if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.sysinstalldir : 280 sys.exit('ERROR: System installation path is equal to user ' 281 'installation path.\n Please change either the system ' 282 'installation path or use installation target "local".') 283 if os.path.abspath(_config.PATH_FLEXEXTRACT_DIR) == c.installdir : 284 print('Flex_extract will be installed in current directory!') 285 else: # install user part in different dir 286 print('Flex_extract will be installed in ' + c.installdir ) 287 288 c.installdir = os.path.join(c.installdir,_config.FLEXEXTRACT_DIRNAME) 289 if os.path.isdir(c.installdir): 290 shutil.rmtree(c.installdir) 291 292 # copy all files except Python and Fortranfiles to this dir 293 shutil.copytree(_config.PATH_FLEXEXTRACT_DIR, 294 c.installdir, symlinks=True) 295 shutil.rmtree(os.path.join(c.installdir,'Source')) 296 shutil.rmtree(os.path.join(c.installdir,'.git')) 297 for x in UioFiles(c.installdir, '*~').files: 298 silent_remove(x) 299 300 os.remove(os.path.join(c.installdir,'setup.sh')) 301 os.remove(os.path.join(c.installdir,'setup_local.sh')) 302 303 # configure run_local script correctly 304 # check if source of system config file is already in run_local.sh, 305 # if not, add it 306 if not check_for_string_in_file(os.path.join(c.installdir,'Run/run_local.sh'), 307 'source .setup.rc'): 308 overwrite_lines_in_file(os.path.join(c.installdir,'Run/run_local.sh'), 309 '# PATH TO SUBMISSION SCRIPT', 310 '# PATH TO SUBMISSION SCRIPT\nsource '+_config.FILE_SYS_CONFIG+'\n') 311 # make sure that the correct calling of submit.py script is in run_local.sh 312 overwrite_lines_in_file(os.path.join(c.installdir,'Run/run_local.sh'), 313 'pyscript=', 'pyscript=submit.py\n') 314 315 # change permission for file to executable 316 execute_subprocess(['chmod', '0775', 317 os.path.join(os.path.abspath(c.installdir),'Run/run_local.sh')]) 318 319 320 # create systemdir 321 c.sysinstalldir = os.path.join(c.sysinstalldir,_config.FLEXEXTRACT_DIRNAME) 322 if os.path.isdir(c.sysinstalldir): 323 shutil.rmtree(c.sysinstalldir) 324 325 # create setup file for running flex_extract with system installation 326 with open(os.path.join(os.path.abspath(c.installdir),'Run/.setup.rc'),'w') as fio: 327 fio.write('#!/bin/bash \n') 328 fio.write('export FLEXEXTRACT_USER_DIR='+os.path.abspath(c.installdir)+'\n') 329 fio.write('export PATH='+os.path.abspath(c.sysinstalldir)+'/Python:${PATH}\n') 330 fio.write('export PATH='+os.path.abspath(c.sysinstalldir)+':${PATH}\n') 331 332 # copy all Python and Fortranfiles to this dir 333 shutil.copytree(_config.PATH_SOURCES, c.sysinstalldir, symlinks=True) 334 335 os.chdir(os.path.join(c.sysinstalldir,'Fortran')) 336 # Create Fortran executable 337 print('Install ' + _config.FLEXEXTRACT_DIRNAME + ' software as ' + 338 c.install_target + ' in directory ' + 339 os.path.abspath(c.sysinstalldir) + '\n') 340 341 del_fortran_build('.') 342 mk_fortran_build('.', c.makefile) 343 344 outfile = [x for x in UioFiles('.','*.out').files] 345 test=os.path.join(c.sysinstalldir,'calc_etadot') 346 if len(outfile) != 1: 347 print('WARNING: Multiple executables for Fortran code are available!') 348 # move executable one dir up and delete Fortran dir 349 os.chdir('..') 350 shutil.move(outfile[0], os.path.join(c.sysinstalldir,'calc_etadot')) 351 shutil.rmtree(os.path.join(os.path.abspath(c.sysinstalldir),'Fortran')) 257 352 258 353 os.chdir(_config.PATH_FLEXEXTRACT_DIR) … … 289 384 sys.exit(1) 290 385 291 if c.install_target and c.install_target != 'local':386 if c.install_target and c.install_target not in ['local', 'syslocal']: 292 387 if not c.ecgid or not c.ecuid: 293 388 print('Please enter your ECMWF user id and group id ' … … 305 400 if not c.installdir: 306 401 c.installdir = '${HOME}' 307 el se: # local402 elif c.install_target == 'local': 308 403 if not c.installdir: 309 404 c.installdir = _config.PATH_FLEXEXTRACT_DIR 405 elif c.install_target == 'syslocal': 406 if not c.installdir: 407 c.installdir = _config.PATH_FLEXEXTRACT_DIR 408 if not c.sysinstalldir: 409 print('ERROR: System installation was selected but ' 410 'no system installation path was defined.') 411 sys.exit() 310 412 311 413 if not c.makefile: … … 323 425 else: 324 426 pass 325 427 326 428 return 327 429 … … 715 817 print(e) 716 818 else: 717 execute_subprocess(['ls', '-l', 819 execute_subprocess(['ls', '-l', 718 820 os.path.join(src_path, _config.FORTRAN_EXECUTABLE)], 719 821 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 r47be2684 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: … … 26 31 # THE USER HAS TO SPECIFY THESE PARAMETERS 27 32 # 28 TARGET=' local'29 MAKEFILE='makefile_ local_gfortran'33 TARGET='syslocal' 34 MAKEFILE='makefile_fast_anne' 30 35 ECUID='<username>' 31 36 ECGID='<groupID>' 32 37 GATEWAY='<gatewayname>' 33 38 DESTINATION='<name>@genericSftp' 34 INSTALLDIR=None 39 INSTALLDIR=$HOME 40 SYSINSTALLDIR=../sys 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 … … 90 99 91 100 $script $parameterlist 101 source ~/.bashrc 92 102 103 104
Note: See TracChangeset
for help on using the changeset viewer.