Changeset 30f7911 in flex_extract.git for Documentation


Ignore:
Timestamp:
Aug 20, 2019, 12:49:39 PM (5 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
2255082
Parents:
0690a6c
Message:

reviewed installation section of online documentation; minor corrections

Location:
Documentation
Files:
11 added
40 edited

Legend:

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

    rba99230 r30f7911  
    22162216<em class="property">class </em><code class="descclassname">GribUtil.</code><code class="descname">GribUtil</code><span class="sig-paren">(</span><em>filenames</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil" title="Permalink to this definition">¶</a></dt>
    22172217<dd><p>Class for GRIB utilities (new methods) based on GRIB API</p>
     2218<p>The GRIB API provides all necessary tools to work directly with the
     2219grib files. Nevertheless, the GRIB API tools are very basic and are in
     2220direct connection with the grib files. This class provides some higher
     2221functions which apply a set of GRIB API tools together in the respective
     2222context. So, the class initially contains a list of grib files (their
     2223names) and the using program then applies the methods directly on the
     2224class objects without having to think about how the actual GRIB API
     2225tools have to be arranged.</p>
    22182226<dl class="method">
    22192227<dt id="GribUtil.GribUtil.copy_dummy_msg">
    2220 <code class="descname">copy_dummy_msg</code><span class="sig-paren">(</span><em>filename_in</em>, <em>selectWhere=True</em>, <em>keynames=[]</em>, <em>keyvalues=[]</em>, <em>filemode='w'</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil.copy_dummy_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.copy_dummy_msg" title="Permalink to this definition">¶</a></dt>
     2228<code class="descname">copy_dummy_msg</code><span class="sig-paren">(</span><em>filename_in</em>, <em>selectWhere=True</em>, <em>keynames=[]</em>, <em>keyvalues=[]</em>, <em>filemode='wb'</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil.copy_dummy_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.copy_dummy_msg" title="Permalink to this definition">¶</a></dt>
    22212229<dd><p>Add the content of another input grib file to the objects file but
    22222230only messages corresponding to keys/values passed to the function.
     
    22342242<li><strong>keynames</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keynames. Default is an empty list.</li>
    22352243<li><strong>keyvalues</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">list</span></code> of <code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – List of keyvalues. Default is an empty list.</li>
    2236 <li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “w”.</li>
     2244<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “wb”.</li>
    22372245</ul>
    22382246</td>
     
    22982306<dl class="method">
    22992307<dt id="GribUtil.GribUtil.set_keys">
    2300 <code class="descname">set_keys</code><span class="sig-paren">(</span><em>fromfile</em>, <em>keynames</em>, <em>keyvalues</em>, <em>wherekeynames=[]</em>, <em>wherekeyvalues=[]</em>, <em>strict=False</em>, <em>filemode='w'</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil.set_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.set_keys" title="Permalink to this definition">¶</a></dt>
     2308<code class="descname">set_keys</code><span class="sig-paren">(</span><em>fromfile</em>, <em>keynames</em>, <em>keyvalues</em>, <em>wherekeynames=[]</em>, <em>wherekeyvalues=[]</em>, <em>strict=False</em>, <em>filemode='wb'</em><span class="sig-paren">)</span><a class="reference internal" href="../../_modules/GribUtil.html#GribUtil.set_keys"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#GribUtil.GribUtil.set_keys" title="Permalink to this definition">¶</a></dt>
    23012309<dd><p>Opens the file to read the grib messages and then write
    23022310the selected messages (with wherekeys) to a new output file.
     
    23192327is written out the grib file (False) or only those
    23202328meeting the where statement (True). Default is False.</li>
    2321 <li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “w”.</li>
     2329<li><strong>filemode</strong> (<code class="xref py py-obj docutils literal notranslate"><span class="pre">string</span></code>, optional) – Sets the mode for the output file. Default is “wb”.</li>
    23222330</ul>
    23232331</td>
  • Documentation/html/Documentation/Input/control.html

    rba99230 r30f7911  
    227227detailed description with additional hints, possible values and some useful information about
    228228the setting of these parameters.</p>
     229<div class="literal-block-wrapper docutils container" id="id1">
     230<div class="code-block-caption"><span class="caption-text">CONTROL.documentation</span><a class="headerlink" href="#id1" title="Permalink to this code">¶</a></div>
     231<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1">################################################################################</span>
     232<span class="c1"># Comprehensive list of relevant CONTROL file parameters with</span>
     233<span class="c1"># short descriptions and default values. </span>
     234<span class="c1">#</span>
     235<span class="c1"># For more details on how to select and define parameters </span>
     236<span class="c1"># please see Table of CONTROLparameters. </span>
     237<span class="c1">#</span>
     238<span class="c1"># AUTHOR: Anne Philipp</span>
     239<span class="c1"># DATE:   05. February 2019</span>
     240<span class="c1">################################################################################</span>
     241
     242<span class="c1">#===============================================================================</span>
     243<span class="c1"># USER SECTION:</span>
     244<span class="c1"># User specific information for ECMWF server.</span>
     245<span class="c1"># Information are needed for storage or data transfer to local gateway server.</span>
     246<span class="c1"># (OPTIONAL: INFORMATION ARE KNOWN THROUGH EXTRA FILE AFTER INSTALLATION)</span>
     247<span class="c1">#-------------------------------------------------------------------------------</span>
     248ECUID None
     249ECGID None
     250DESTINATION None
     251GATEWAY None
     252
     253<span class="c1">#===============================================================================</span>
     254<span class="c1"># GENERAL SECTION:</span>
     255<span class="c1"># Specific storage, notification and data transfer settings.</span>
     256<span class="c1"># Selection of ECMWF access interface and extra output options. </span>
     257<span class="c1">#-------------------------------------------------------------------------------</span>
     258DEBUG <span class="m">0</span>
     259REQUEST <span class="m">0</span>
     260PUBLIC <span class="m">0</span>
     261OPER <span class="m">0</span>
     262ECSTORAGE <span class="m">0</span>
     263ECTRANS <span class="m">0</span>
     264PREFIX <span class="s1">&#39;EN&#39;</span>
     265ECFSDIR <span class="s1">&#39;ectmp:/${USER}/econdemand/&#39;</span>
     266MAILFAIL <span class="o">[</span><span class="s1">&#39;${USER}&#39;</span><span class="o">]</span>
     267MAILOPS <span class="o">[</span><span class="s1">&#39;${USER}&#39;</span><span class="o">]</span>
     268
     269<span class="c1">#===============================================================================</span>
     270<span class="c1"># TIME SECTION:</span>
     271<span class="c1"># Selection of time period and temporal resolution for extraction period.</span>
     272<span class="c1">#-------------------------------------------------------------------------------</span>
     273START_DATE
     274END_DATE
     275DATE_CHUNK <span class="m">3</span>
     276DTIME None
     277BASETIME None
     278
     279<span class="c1">#===============================================================================</span>
     280<span class="c1"># DATA SECTION:</span>
     281<span class="c1"># General description of data set.</span>
     282<span class="c1">#-------------------------------------------------------------------------------</span>
     283CLASS None
     284DATASET None
     285STREAM None
     286NUMBER <span class="s1">&#39;OFF&#39;</span>
     287EXPVER <span class="s1">&#39;1&#39;</span>
     288FORMAT <span class="s1">&#39;GRIB1&#39;</span>
     289
     290<span class="c1">#===============================================================================</span>
     291<span class="c1"># DATA FIELDS SECTION:</span>
     292<span class="c1"># Specific selection of field composition regarding type, analysis or forecast </span>
     293<span class="c1"># time and the forecast time step.</span>
     294<span class="c1">#-------------------------------------------------------------------------------</span>
     295TYPE None
     296TIME None
     297STEP None
     298MAXSTEP None
     299
     300<span class="c1">#===============================================================================</span>
     301<span class="c1"># FLUX DATA FIELDS SECTION:</span>
     302<span class="c1"># Specific selection of flux field composition regarding forecast field type</span>
     303<span class="c1"># the forecast start times and the maximum forecast step per start time.</span>
     304<span class="c1"># Specification of disaggregation method of precipitation data.</span>
     305<span class="c1">#-------------------------------------------------------------------------------</span>
     306ACCTYPE None
     307ACCTIME None
     308ACCMAXSTEP None
     309RRINT <span class="m">0</span>
     310
     311<span class="c1">#===============================================================================</span>
     312<span class="c1"># DOMAIN SECTION: </span>
     313<span class="c1"># Definition of horizontal area, spatial resolution and vertical levels. </span>
     314<span class="c1">#-------------------------------------------------------------------------------</span>
     315GRID None
     316RESOL None
     317SMOOTH <span class="m">0</span>
     318LEFT None
     319LOWER None
     320UPPER None
     321RIGHT None
     322LEVEL None
     323LEVELIST None
     324
     325<span class="c1">#===============================================================================</span>
     326<span class="c1"># VERTICAL WIND SECTION:</span>
     327<span class="c1"># Selection of vertical wind calculation method.</span>
     328<span class="c1">#-------------------------------------------------------------------------------</span>
     329GAUSS <span class="m">0</span>
     330ACCURACY <span class="m">24</span>
     331OMEGA <span class="m">0</span>
     332OMEGADIFF <span class="m">0</span>
     333ETA <span class="m">0</span>
     334ETADIFF <span class="m">0</span>
     335DPDETA <span class="m">1</span>
     336ETAPAR <span class="m">77</span>
     337
     338<span class="c1">#===============================================================================</span>
     339<span class="c1"># ADDITIONAL DATA SECTION:</span>
     340<span class="c1"># Specification of extra data fields to be extracted.</span>
     341<span class="c1">#-------------------------------------------------------------------------------</span>
     342CWC <span class="m">0</span>
     343WRF <span class="m">0</span>
     344DOUBLEELDA <span class="m">0</span>
     345ADDPAR None
     346</pre></div>
     347</div>
     348</div>
    229349<div class="toctree-wrapper compound">
    230350</div>
  • Documentation/html/Documentation/Input/control_params.html

    rba99230 r30f7911  
    422422</td>
    423423</tr>
    424 <tr class="row-odd"><td><p class="first last">MAILFAIL</p>
    425 </td>
    426 <td><p class="first last">list of String [m1, m2, …]</p>
    427 </td>
    428 <td><p class="first last">any number of mail addresses, seperated by comma</p>
    429 </td>
    430 <td><p class="first last">[‘”${USER}”]</p>
    431 </td>
    432 <td><p class="first last">If there will be an error log on ECMWF servers, the log file will be sent to the list of emails stored in this parameter. The email addresses should be seperated by a comma.</p>
    433 </td>
    434 <td><p class="first last">For the ECMWF server it is enough to give ${USER} as input. On local system an actual email is prefered to operate correctly. </p>
    435 </td>
    436 </tr>
    437424</tbody>
    438425</table>
     
    10921079</thead>
    10931080<tbody valign="top">
    1094 <tr class="row-even"><td><p class="first last">WRF</p>
    1095 </td>
    1096 <td><p class="first last">Integer</p>
    1097 </td>
    1098 <td><p class="first last">[0,1]</p>
    1099 </td>
    1100 <td><p class="first last">0</p>
    1101 </td>
    1102 <td><p class="first last">Switch to retrieve additional parameters needed to run WRF (1) or not (0).</p>
    1103 </td>
    1104 <td><p class="first last">Up to now, this is still experimental and not completely tested.</p>
    1105 </td>
    1106 </tr>
    1107 <tr class="row-odd"><td><p class="first last">CWC</p>
     1081<tr class="row-even"><td><p class="first last">CWC</p>
    11081082</td>
    11091083<td><p class="first last">Integer</p>
     
    11181092</td>
    11191093</tr>
    1120 <tr class="row-even"><td><p class="first last">DOUBLEELDA</p>
     1094<tr class="row-odd"><td><p class="first last">DOUBLEELDA</p>
    11211095</td>
    11221096<td><p class="first last">Integer</p>
     
    11311105</td>
    11321106</tr>
    1133 <tr class="row-odd"><td><p class="first last">ADDPAR</p>
     1107<tr class="row-even"><td><p class="first last">ADDPAR</p>
    11341108</td>
    11351109<td><p class="first last">String [p1/p2/../pn]</p>
  • Documentation/html/Documentation/Input/ecmwf_env.html

    rba99230 r30f7911  
    194194  <div class="section" id="ecmwf-user-credential-file-ecmwf-env">
    195195<h1>ECMWF User Credential file <code class="docutils literal notranslate"><span class="pre">ECMWF_ENV</span></code><a class="headerlink" href="#ecmwf-user-credential-file-ecmwf-env" title="Permalink to this headline">¶</a></h1>
    196 <p>This file contains the user credentials for working on ECMWF servers and transfering files between the ECMWF servers and the local gateway server. It is located in the <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/run</span></code> directory and will be created in the installation process for the application modes <strong>remote</strong> and <strong>gateway</strong>.</p>
     196<p>This file contains the user credentials for working on ECMWF servers and transferring files between the ECMWF servers and the local gateway server. It is located in the <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/run</span></code> directory and will be created in the installation process for the application modes <strong>remote</strong> and <strong>gateway</strong>.</p>
    197197<p>This file is based on the template <code class="docutils literal notranslate"><span class="pre">ECMWF_ENV.template</span></code> which is located in the <code class="docutils literal notranslate"><span class="pre">templates</span></code> directory.</p>
    198198<div class="admonition note">
  • Documentation/html/Documentation/Input/fortran_makefile.html

    rba99230 r30f7911  
    227227</div></blockquote>
    228228<p>For instructions on how to adapt the <code class="docutils literal notranslate"><span class="pre">Makefiles</span></code> for the local application mode
    229 please see <a class="reference internal" href="../../installation.html#ref-install-local"><span class="std std-ref">Local installation</span></a>.</p>
     229please see <a class="reference internal" href="../../Installation/local.html#ref-install-local"><span class="std std-ref">Local installation</span></a>.</p>
    230230<div class="toctree-wrapper compound">
    231231</div>
  • Documentation/html/Documentation/Input/run.html

    rba99230 r30f7911  
    478478<div class="section" id="content-of-run-sh">
    479479<h2>Content of <code class="docutils literal notranslate"><span class="pre">run.sh</span></code><a class="headerlink" href="#content-of-run-sh" title="Permalink to this headline">¶</a></h2>
     480<div class="literal-block-wrapper docutils container" id="id2">
     481<div class="code-block-caption"><span class="caption-text">run.sh</span><a class="headerlink" href="#id2" title="Permalink to this code">¶</a></div>
     482<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
     483<span class="c1">#</span>
     484<span class="c1"># @Author: Anne Philipp</span>
     485<span class="c1">#</span>
     486<span class="c1"># @Date: October, 4 2018</span>
     487<span class="c1">#</span>
     488<span class="c1"># @Description: </span>
     489<span class="c1">#</span>
     490
     491
     492<span class="c1"># -----------------------------------------------------------------</span>
     493<span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span>
     494<span class="c1"># </span>
     495<span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETERS:</span>
     496
     497<span class="nv">QUEUE</span><span class="o">=</span><span class="s1">&#39;ecgate&#39;</span>
     498<span class="nv">START_DATE</span><span class="o">=</span>None
     499<span class="nv">END_DATE</span><span class="o">=</span>None
     500<span class="nv">DATE_CHUNK</span><span class="o">=</span>None
     501<span class="nv">JOB_CHUNK</span><span class="o">=</span><span class="m">3</span>
     502<span class="nv">BASETIME</span><span class="o">=</span>None
     503<span class="nv">STEP</span><span class="o">=</span>None
     504<span class="nv">LEVELIST</span><span class="o">=</span>None
     505<span class="nv">AREA</span><span class="o">=</span>None
     506<span class="nv">INPUTDIR</span><span class="o">=</span>None
     507<span class="nv">OUTPUTDIR</span><span class="o">=</span>None
     508<span class="nv">PP_ID</span><span class="o">=</span>None
     509<span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;job.temp&#39;</span>
     510<span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_OD.OPER.FC.gauss.global&#39;</span>
     511<span class="nv">DEBUG</span><span class="o">=</span><span class="m">0</span>
     512<span class="nv">REQUEST</span><span class="o">=</span><span class="m">2</span>
     513<span class="nv">PUBLIC</span><span class="o">=</span><span class="m">0</span>
     514
     515<span class="c1"># -----------------------------------------------------------------</span>
     516<span class="c1">#</span>
     517<span class="c1"># AFTER THIS LINE THE USER DOES NOT HAVE TO CHANGE ANYTHING !!!</span>
     518<span class="c1">#</span>
     519<span class="c1"># -----------------------------------------------------------------</span>
     520
     521<span class="c1"># PATH TO SUBMISSION SCRIPT</span>
     522<span class="nv">pyscript</span><span class="o">=</span>../Source/Python/submit.py
     523
     524<span class="c1"># INITIALIZE EMPTY PARAMETERLIST</span>
     525<span class="nv">parameterlist</span><span class="o">=</span><span class="s2">&quot;&quot;</span>
     526
     527<span class="c1"># CHECK FOR MORE PARAMETER </span>
     528<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$START_DATE</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     529  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --start_date=</span><span class="nv">$START_DATE</span><span class="s2">&quot;</span>
     530<span class="k">fi</span>
     531<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$END_DATE</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     532  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --end_date=</span><span class="nv">$END_DATE</span><span class="s2">&quot;</span>
     533<span class="k">fi</span>
     534<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$DATE_CHUNK</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     535  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --date_chunk=</span><span class="nv">$DATE_CHUNK</span><span class="s2">&quot;</span>
     536<span class="k">fi</span>
     537<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$JOB_CHUNK</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     538  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --job_chunk=</span><span class="nv">$JOB_CHUNK</span><span class="s2">&quot;</span>
     539<span class="k">fi</span>
     540<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$BASETIME</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     541  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --basetime=</span><span class="nv">$BASETIME</span><span class="s2">&quot;</span>
     542<span class="k">fi</span>
     543<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$STEP</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     544  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --step=</span><span class="nv">$STEP</span><span class="s2">&quot;</span>
     545<span class="k">fi</span>
     546<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$LEVELIST</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     547  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --levelist=</span><span class="nv">$LEVELIST</span><span class="s2">&quot;</span>
     548<span class="k">fi</span>
     549<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$AREA</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     550  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --area=</span><span class="nv">$AREA</span><span class="s2">&quot;</span>
     551<span class="k">fi</span>
     552<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$INPUTDIR</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     553  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --inputdir=</span><span class="nv">$INPUTDIR</span><span class="s2">&quot;</span>
     554<span class="k">fi</span>
     555<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$OUTPUTDIR</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     556  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --outputdir=</span><span class="nv">$OUTPUTDIR</span><span class="s2">&quot;</span>
     557<span class="k">fi</span>
     558<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$PP_ID</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     559  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --ppid=</span><span class="nv">$PP_ID</span><span class="s2">&quot;</span>
     560<span class="k">fi</span>
     561<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$JOB_TEMPLATE</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     562  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --job_template=</span><span class="nv">$JOB_TEMPLATE</span><span class="s2">&quot;</span>
     563<span class="k">fi</span>
     564<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$QUEUE</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     565  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --queue=</span><span class="nv">$QUEUE</span><span class="s2">&quot;</span>
     566<span class="k">fi</span>
     567<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$CONTROLFILE</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     568  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --controlfile=</span><span class="nv">$CONTROLFILE</span><span class="s2">&quot;</span>
     569<span class="k">fi</span>
     570<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$DEBUG</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     571  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --debug=</span><span class="nv">$DEBUG</span><span class="s2">&quot;</span>
     572<span class="k">fi</span>
     573<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$REQUEST</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     574  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --request=</span><span class="nv">$REQUEST</span><span class="s2">&quot;</span>
     575<span class="k">fi</span>
     576<span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;</span><span class="nv">$PUBLIC</span><span class="s2">&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
     577  <span class="nv">parameterlist</span><span class="o">+=</span><span class="s2">&quot; --public=</span><span class="nv">$PUBLIC</span><span class="s2">&quot;</span>
     578<span class="k">fi</span>
     579
     580<span class="c1"># -----------------------------------------------------------------</span>
     581<span class="c1"># CALL SCRIPT WITH DETERMINED COMMANDLINE ARGUMENTS</span>
     582
     583<span class="nv">$pyscript</span> <span class="nv">$parameterlist</span>
     584</pre></div>
     585</div>
     586</div>
    480587</div>
    481588<div class="section" id="usage-of-submit-py-optional">
  • Documentation/html/Documentation/Overview/app_modes.html

    rba99230 r30f7911  
    9999</li>
    100100<li class="toctree-l3"><a class="reference internal" href="prog_flow.html">Program Flow</a></li>
    101 <li class="toctree-l3"><a class="reference internal" href="convert.html">CONVERT</a></li>
    102101</ul>
    103102</li>
     
    199198<li><dl class="first docutils">
    200199<dt>Gateway (member)</dt>
    201 <dd>The <strong>Gateway mode</strong> can be used if a local member state gateway server is in place. Then the job scripts can be submitted to the ECMWF Linux member state server via the ECMWF web access tool <code class="docutils literal notranslate"><span class="pre">ecaccess</span></code>. The installation script of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> must be executed at the local gateway server such that the software will be installed in the <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory at the ECMWF server and some extra setup is done in the local <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory at the local gateway server. For more information about establishing a gateway server please see section ???. For the <strong>Gateway mode</strong> the necessary environment has to be established which is described in <a class="reference internal" href="../../installation.html#ref-prep-gateway"><span class="std std-ref">Prepare gateway environment</span></a>.</dd>
     200<dd>The <strong>Gateway mode</strong> can be used if a local member state gateway server is in place. Then the job scripts can be submitted to the ECMWF Linux member state server via the ECMWF web access tool <code class="docutils literal notranslate"><span class="pre">ecaccess</span></code>. The installation script of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> must be executed at the local gateway server such that the software will be installed in the <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory at the ECMWF server and some extra setup is done in the local <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory at the local gateway server. For more information about establishing a gateway server please see section ???. For the <strong>Gateway mode</strong> the necessary environment has to be established which is described in <a class="reference internal" href="../../Installation/gateway.html#ref-prep-gateway"><span class="std std-ref">Prepare gateway environment</span></a>.</dd>
    202201</dl>
    203202</li>
     
    208207<li><dl class="first docutils">
    209208<dt>Local member</dt>
    210 <dd>Scripts are installed and executed on a local machine, either in the current <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory or in a path given to the installation script. Under this scenario a software environment similar to that at ECMWF is required. Additionally, Web API’s have to be installed to access ECMWF server. The complete installation process is described in <a class="reference internal" href="../../installation.html#ref-local-mode"><span class="std std-ref">Local mode</span></a>.</dd>
     209<dd>Scripts are installed and executed on a local machine, either in the current <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory or in a path given to the installation script. Under this scenario a software environment similar to that at ECMWF is required. Additionally, Web API’s have to be installed to access ECMWF server. The complete installation process is described in <a class="reference internal" href="../../Installation/local.html#ref-local-mode"><span class="std std-ref">Local mode</span></a>.</dd>
    211210</dl>
    212211</li>
    213212<li><dl class="first docutils">
    214213<dt>Local public</dt>
    215 <dd>Scripts are installed and executed on a local machine, either in the current <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory or in a path given to the installation script. Under this scenario a software environment similar to that at ECMWF is required. Additionally, Web API’s have to be installed to access ECMWF server. The complete installation process is described in <a class="reference internal" href="../../installation.html#ref-local-mode"><span class="std std-ref">Local mode</span></a>. In this case a direct registration at ECMWF is necessary and the user has to accept a specific license agreement for each dataset he/she intends to retrieve.</dd>
     214<dd>Scripts are installed and executed on a local machine, either in the current <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> directory or in a path given to the installation script. Under this scenario a software environment similar to that at ECMWF is required. Additionally, Web API’s have to be installed to access ECMWF server. The complete installation process is described in <a class="reference internal" href="../../Installation/local.html#ref-local-mode"><span class="std std-ref">Local mode</span></a>. In this case a direct registration at ECMWF is necessary and the user has to accept a specific license agreement for each dataset he/she intends to retrieve.</dd>
    216215</dl>
    217216</li>
  • Documentation/html/Ecmwf/access.html

    rba99230 r30f7911  
    182182<dd>This access mode allows the user to work directly on the ECMWF Linux Member State Servers or via a Web Access Toolkit <code class="docutils literal notranslate"><span class="pre">ecaccess</span></code> through a local Member State Gateway Server. This enables the user to have direct and full access to the Mars archive. There might be some limitations in user rights such as the declined access to the latest forecasts. This has to be discussed with the <a class="reference external" href="https://www.ecmwf.int/en/about/contact-us/computing-representatives">Computing Representative</a>. This user group is also able to work from their local facilities without a gateway server in the same way a <strong>public</strong> user would. The only difference is the connection with the Web API. However, this is automatically selected by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>.</dd>
    183183<dt><strong>Public user</strong>:</dt>
    184 <dd>This access mode allows every user to access the ECMWF <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets">public datasets</a> from their local facilities. <code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> is able (tested for the use with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code>) to extract the re-analysis datasets such as ERA-Interim and CERA-20C. The main difference to the <strong>member state user</strong> is the method of access with the Web API and the availability of data. For example, in ERA-Interim there is only a 6-hourly temporal resolution instead of 3 hours. The access method is selected by providing the command line argument “public=1” and providing the MARS keyword “dataset” in the <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> file. Also, the user has to explicitly accept the license of the dataset to be retrieved. This can be done as described in the installation process at section <a class="reference internal" href="../installation.html#ref-licence"><span class="std std-ref">Agree on licences for public datasets</span></a>.</dd>
     184<dd>This access mode allows every user to access the ECMWF <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets">public datasets</a> from their local facilities. <code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> is able (tested for the use with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code>) to extract the re-analysis datasets such as ERA-Interim and CERA-20C. The main difference to the <strong>member state user</strong> is the method of access with the Web API and the availability of data. For example, in ERA-Interim there is only a 6-hourly temporal resolution instead of 3 hours. The access method is selected by providing the command line argument “public=1” and providing the MARS keyword “dataset” in the <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> file. Also, the user has to explicitly accept the license of the dataset to be retrieved. This can be done as described in the installation process at section <a class="reference internal" href="../installation.html#ref-licence"><span class="std std-ref">Licence agreement for public datasets</span></a>.</dd>
    185185</dl>
    186186<div class="admonition note">
  • Documentation/html/Support/faq.html

    rba99230 r30f7911  
    193193<li>Check LD_LIBRARY_PATH environment variable if it contains all paths to the libs</li>
    194194<li>Check available python packages (e.g. import eccodes / import grib_api / import ecmwfapi)</li>
    195 <li>Start test retrieval (<a class="reference internal" href="../installation.html#ref-test-local"><span class="std std-ref">Test local environment</span></a>)</li>
     195<li>Start test retrieval (<a class="reference internal" href="../Installation/local.html#ref-test-local"><span class="std std-ref">Test local environment</span></a>)</li>
    196196<li>Install <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> (<a class="reference internal" href="../installation.html"><span class="doc">Installation</span></a>)</li>
    197197</ol>
  • Documentation/html/_modules/ControlFile.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for ControlFile</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    186186<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
    187187<span class="c1">#</span>
     188<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
     189<span class="c1">#</span>
    188190<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
    189191<span class="c1">#    International License. To view a copy of this license, visit</span>
    190192<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
    191193<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
    192 <span class="c1">#</span>
    193 <span class="c1"># @Class Methods:</span>
    194 <span class="c1">#    __init__</span>
    195 <span class="c1">#    _read_controlfile</span>
    196 <span class="c1">#    __str__</span>
    197 <span class="c1">#    assign_args_to_control</span>
    198 <span class="c1">#    assign_envs_to_control</span>
    199 <span class="c1">#    check_conditions</span>
    200 <span class="c1">#    check_install_conditions</span>
    201 <span class="c1">#    to_list</span>
    202194<span class="c1">#*******************************************************************************</span>
    203195
  • Documentation/html/_modules/EcFlexpart.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for EcFlexpart</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    204204<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
    205205<span class="c1">#</span>
     206<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
     207<span class="c1">#</span>
    206208<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
    207209<span class="c1">#    International License. To view a copy of this license, visit</span>
     
    577579        <span class="c1"># -----------------------------------------------------------------------</span>
    578580        <span class="k">if</span> <span class="n">wrf</span><span class="p">:</span>
    579             <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/Z/VO&#39;</span>
    580             <span class="k">if</span> <span class="s1">&#39;/D&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
    581                 <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__ML&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/D&#39;</span>
    582 
    583             <span class="n">wrf_sfc</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;SP&#39;</span><span class="p">,</span><span class="s1">&#39;SKT&#39;</span><span class="p">,</span><span class="s1">&#39;SST&#39;</span><span class="p">,</span><span class="s1">&#39;CI&#39;</span><span class="p">,</span><span class="s1">&#39;STL1&#39;</span><span class="p">,</span><span class="s1">&#39;STL2&#39;</span><span class="p">,</span> <span class="s1">&#39;STL3&#39;</span><span class="p">,</span><span class="s1">&#39;STL4&#39;</span><span class="p">,</span>
    584                        <span class="s1">&#39;SWVL1&#39;</span><span class="p">,</span><span class="s1">&#39;SWVL2&#39;</span><span class="p">,</span><span class="s1">&#39;SWVL3&#39;</span><span class="p">,</span><span class="s1">&#39;SWVL4&#39;</span><span class="p">]</span>
    585             <span class="k">for</span> <span class="n">par</span> <span class="ow">in</span> <span class="n">wrf_sfc</span><span class="p">:</span>
    586                 <span class="k">if</span> <span class="n">par</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]:</span>
    587                     <span class="bp">self</span><span class="o">.</span><span class="n">params</span><span class="p">[</span><span class="s1">&#39;OG__SL&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">par</span>
     581            <span class="c1"># @WRF</span>
     582            <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span>
     583            <span class="c1">#</span>
     584            <span class="c1"># UNDER CONSTRUCTION !!!</span>
     585            <span class="c1">#</span>
     586
     587            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;WRF VERSION IS UNDER CONSTRUCTION!&#39;</span><span class="p">)</span> <span class="c1"># dummy argument</span>
     588
     589            <span class="c1">#self.params[&#39;OG__ML&#39;][0] += &#39;/Z/VO&#39;</span>
     590            <span class="c1">#if &#39;/D&#39; not in self.params[&#39;OG__ML&#39;][0]:</span>
     591            <span class="c1">#    self.params[&#39;OG__ML&#39;][0] += &#39;/D&#39;</span>
     592
     593            <span class="c1">#wrf_sfc = [&#39;SP&#39;,&#39;SKT&#39;,&#39;SST&#39;,&#39;CI&#39;,&#39;STL1&#39;,&#39;STL2&#39;, &#39;STL3&#39;,&#39;STL4&#39;,</span>
     594            <span class="c1">#           &#39;SWVL1&#39;,&#39;SWVL2&#39;,&#39;SWVL3&#39;,&#39;SWVL4&#39;]</span>
     595            <span class="c1">#for par in wrf_sfc:</span>
     596            <span class="c1">#    if par not in self.params[&#39;OG__SL&#39;][0]:</span>
     597            <span class="c1">#        self.params[&#39;OG__SL&#39;][0] += &#39;/&#39; + par</span>
    588598
    589599        <span class="k">return</span>
     
    10081018            <span class="k">if</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span>
    10091019                <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">360</span>
    1010             <span class="n">maxl</span> <span class="o">=</span> <span class="nb">round</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span>
    1011             <span class="n">maxb</span> <span class="o">=</span> <span class="nb">round</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span>
     1020            <span class="n">maxl</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">round</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span> <span class="o">+</span> <span class="mi">1</span>
     1021            <span class="n">maxb</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="nb">round</span><span class="p">((</span><span class="n">area</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">area</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span> <span class="o">/</span> <span class="n">grid</span><span class="p">[</span><span class="mi">0</span><span class="p">]))</span> <span class="o">+</span> <span class="mi">1</span>
    10121022
    10131023            <span class="n">stream</span> <span class="o">=</span> <span class="n">namelist_template</span><span class="o">.</span><span class="n">generate</span><span class="p">(</span>
     
    12461256
    12471257            <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;outputfile = &quot;</span> <span class="o">+</span> <span class="n">fnout</span><span class="p">)</span>
    1248             <span class="n">f_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
    1249             <span class="n">h_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">hnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
    1250             <span class="n">g_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">gnout</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
     1258            <span class="n">f_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fnout</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
     1259            <span class="n">h_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">hnout</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
     1260            <span class="n">g_handle</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">gnout</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
    12511261
    12521262            <span class="c1"># read message for message and store relevant data fields, where</span>
     
    15541564            <span class="c1"># write original time step to flux file as usual</span>
    15551565            <span class="n">fluxfile</span> <span class="o">=</span> <span class="n">GribUtil</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">inputdir</span><span class="p">,</span> <span class="n">fluxfilename</span><span class="p">))</span>
    1556             <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     1566            <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;ab&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
    15571567                              <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span>
    15581568                              <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;perturbationNumber&#39;</span><span class="p">,</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
     
    15601570                                         <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[</span><span class="n">inumb</span><span class="p">,:,</span><span class="n">it</span><span class="p">]],</span>
    15611571                             <span class="p">)</span>
    1562             <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     1572            <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;ab&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
    15631573                              <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span>
    15641574                              <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;perturbationNumber&#39;</span><span class="p">,</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
     
    15681578
    15691579            <span class="c1"># rr for first subgrid point is identified by step = 1</span>
    1570             <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     1580            <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;ab&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
    15711581                              <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span>
    15721582                              <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;perturbationNumber&#39;</span><span class="p">,</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
     
    15741584                                         <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[</span><span class="n">inumb</span><span class="p">,:,</span><span class="n">it</span><span class="o">+</span><span class="mi">1</span><span class="p">]]</span>
    15751585                              <span class="p">)</span>
    1576             <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     1586            <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;ab&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
    15771587                              <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span>
    15781588                              <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;perturbationNumber&#39;</span><span class="p">,</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
     
    15821592
    15831593            <span class="c1"># rr for second subgrid point is identified by step = 2</span>
    1584             <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     1594            <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;ab&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
    15851595                              <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span>
    15861596                              <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;perturbationNumber&#39;</span><span class="p">,</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
     
    15881598                                         <span class="n">date</span><span class="o">.</span><span class="n">hour</span><span class="o">*</span><span class="mi">100</span><span class="p">,</span> <span class="s1">&#39;2&#39;</span><span class="p">,</span> <span class="n">lsp_new_np</span><span class="p">[</span><span class="n">inumb</span><span class="p">,:,</span><span class="n">it</span><span class="o">+</span><span class="mi">2</span><span class="p">]]</span>
    15891599                              <span class="p">)</span>
    1590             <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
     1600            <span class="n">fluxfile</span><span class="o">.</span><span class="n">set_keys</span><span class="p">(</span><span class="n">tmpfile</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;ab&#39;</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
    15911601                              <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span> <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span>
    15921602                              <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;perturbationNumber&#39;</span><span class="p">,</span><span class="s1">&#39;date&#39;</span><span class="p">,</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="s1">&#39;stepRange&#39;</span><span class="p">,</span><span class="s1">&#39;values&#39;</span><span class="p">],</span>
     
    16181628
    16191629        <span class="n">gribfile</span><span class="o">.</span><span class="n">copy_dummy_msg</span><span class="p">(</span><span class="n">ifile</span><span class="p">,</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span>
    1620                       <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">)</span>
     1630                      <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">142</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;wb&#39;</span><span class="p">)</span>
    16211631
    16221632        <span class="n">gribfile</span><span class="o">.</span><span class="n">copy_dummy_msg</span><span class="p">(</span><span class="n">ifile</span><span class="p">,</span> <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;paramId&#39;</span><span class="p">],</span>
    1623                       <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;a&#39;</span><span class="p">)</span>
     1633                      <span class="n">keyvalues</span><span class="o">=</span><span class="p">[</span><span class="mi">143</span><span class="p">],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;ab&#39;</span><span class="p">)</span>
    16241634
    16251635        <span class="k">return</span>
     
    16641674        <span class="n">end_period</span> <span class="o">=</span> <span class="n">end_period</span> <span class="o">+</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">step</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]))</span>
    16651675
    1666         <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span>
    1667             <span class="n">table128</span> <span class="o">=</span> <span class="n">init128</span><span class="p">(</span><span class="n">_config</span><span class="o">.</span><span class="n">PATH_GRIBTABLE</span><span class="p">)</span>
    1668             <span class="n">wrfpars</span> <span class="o">=</span> <span class="n">to_param_id</span><span class="p">(</span><span class="s1">&#39;sp/mslp/skt/2t/10u/10v/2d/z/lsm/sst/ci/sd/</span><span class="se">\</span>
    1669 <span class="s1">                                   stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4&#39;</span><span class="p">,</span>
    1670                                   <span class="n">table128</span><span class="p">)</span>
     1676        <span class="c1"># @WRF</span>
     1677        <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span>
     1678        <span class="c1">#</span>
     1679        <span class="c1"># UNDER CONSTRUCTION !!!</span>
     1680        <span class="c1">#</span>
     1681        <span class="c1">#if c.wrf:</span>
     1682        <span class="c1">#    table128 = init128(_config.PATH_GRIBTABLE)</span>
     1683        <span class="c1">#    wrfpars = to_param_id(&#39;sp/mslp/skt/2t/10u/10v/2d/z/lsm/sst/ci/sd/\</span>
     1684        <span class="c1">#                           stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4&#39;,</span>
     1685        <span class="c1">#                          table128)</span>
    16711686
    16721687        <span class="c1"># these numbers are indices for the temporary files &quot;fort.xx&quot;</span>
     
    17201735                <span class="n">fortfile</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">inputdir</span><span class="p">,</span> <span class="s1">&#39;fort.&#39;</span> <span class="o">+</span> <span class="n">k</span><span class="p">)</span>
    17211736                <span class="n">silent_remove</span><span class="p">(</span><span class="n">fortfile</span><span class="p">)</span>
    1722                 <span class="n">fdict</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fortfile</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
     1737                <span class="n">fdict</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fortfile</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span>
    17231738<span class="c1">#============================================================================================</span>
    17241739            <span class="c1"># create correct timestamp from the three time informations</span>
     
    17471762                    <span class="k">continue</span>
    17481763
    1749             <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span>
    1750                 <span class="k">if</span> <span class="s1">&#39;olddate&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="nb">locals</span><span class="p">()</span> <span class="ow">or</span> <span class="n">cdate</span> <span class="o">!=</span> <span class="n">olddate</span><span class="p">:</span>
    1751                     <span class="n">fwrf</span> <span class="o">=</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">c</span><span class="o">.</span><span class="n">outputdir</span><span class="p">,</span>
    1752                                 <span class="s1">&#39;WRF&#39;</span> <span class="o">+</span> <span class="n">cdate</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="n">ctime</span> <span class="o">+</span> <span class="s1">&#39;.000.grb2&#39;</span><span class="p">),</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span>
    1753                     <span class="n">olddate</span> <span class="o">=</span> <span class="n">cdate</span><span class="p">[:]</span>
     1764            <span class="c1"># @WRF</span>
     1765            <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span>
     1766            <span class="c1">#</span>
     1767            <span class="c1"># UNDER CONSTRUCTION !!!</span>
     1768            <span class="c1">#</span>
     1769            <span class="c1">#if c.wrf:</span>
     1770            <span class="c1">#    if &#39;olddate&#39; not in locals() or cdate != olddate:</span>
     1771            <span class="c1">#        fwrf = open(os.path.join(c.outputdir,</span>
     1772            <span class="c1">#                    &#39;WRF&#39; + cdate + &#39;.&#39; + ctime + &#39;.000.grb2&#39;), &#39;wb&#39;)</span>
     1773            <span class="c1">#        olddate = cdate[:]</span>
    17541774<span class="c1">#============================================================================================</span>
    17551775            <span class="c1"># savedfields remembers which fields were already used.</span>
     
    17891809                        <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fdict</span><span class="p">[</span><span class="s1">&#39;22&#39;</span><span class="p">])</span>
    17901810                        <span class="n">scwc</span> <span class="o">=</span> <span class="kc">None</span>
    1791                 <span class="k">elif</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span> <span class="ow">and</span> <span class="n">paramId</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">129</span><span class="p">,</span> <span class="mi">138</span><span class="p">,</span> <span class="mi">155</span><span class="p">]</span> <span class="ow">and</span> \
    1792                       <span class="n">levtype</span> <span class="o">==</span> <span class="s1">&#39;hybrid&#39;</span><span class="p">:</span> <span class="c1"># Z, VO, D</span>
    1793                     <span class="c1"># do not do anything right now</span>
    1794                     <span class="c1"># these are specific parameter for WRF</span>
    1795                     <span class="k">pass</span>
     1811                <span class="c1"># @WRF</span>
     1812                <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span>
     1813                <span class="c1">#</span>
     1814                <span class="c1"># UNDER CONSTRUCTION !!!</span>
     1815                <span class="c1">#</span>
     1816                <span class="c1">#elif c.wrf and paramId in [129, 138, 155] and \</span>
     1817                <span class="c1">#      levtype == &#39;hybrid&#39;: # Z, VO, D</span>
     1818                <span class="c1">#    # do not do anything right now</span>
     1819                <span class="c1">#    # these are specific parameter for WRF</span>
     1820                <span class="c1">#    pass</span>
    17961821                <span class="k">else</span><span class="p">:</span>
    17971822                    <span class="k">if</span> <span class="n">paramId</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">savedfields</span><span class="p">:</span>
     
    18021827                    <span class="k">else</span><span class="p">:</span>
    18031828                        <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;duplicate &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">paramId</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; not written&#39;</span><span class="p">)</span>
    1804 
    1805                 <span class="k">try</span><span class="p">:</span>
    1806                     <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span>
    1807                         <span class="c1"># model layer</span>
    1808                         <span class="k">if</span> <span class="n">levtype</span> <span class="o">==</span> <span class="s1">&#39;hybrid&#39;</span> <span class="ow">and</span> \
    1809                            <span class="n">paramId</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">129</span><span class="p">,</span> <span class="mi">130</span><span class="p">,</span> <span class="mi">131</span><span class="p">,</span> <span class="mi">132</span><span class="p">,</span> <span class="mi">133</span><span class="p">,</span> <span class="mi">138</span><span class="p">,</span> <span class="mi">155</span><span class="p">]:</span>
    1810                             <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fwrf</span><span class="p">)</span>
    1811                         <span class="c1"># sfc layer</span>
    1812                         <span class="k">elif</span> <span class="n">paramId</span> <span class="ow">in</span> <span class="n">wrfpars</span><span class="p">:</span>
    1813                             <span class="n">codes_write</span><span class="p">(</span><span class="n">gid</span><span class="p">,</span> <span class="n">fwrf</span><span class="p">)</span>
    1814                 <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
    1815                     <span class="k">pass</span>
     1829                <span class="c1"># @WRF</span>
     1830                <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span>
     1831                <span class="c1">#</span>
     1832                <span class="c1"># UNDER CONSTRUCTION !!!</span>
     1833                <span class="c1">#</span>
     1834                <span class="c1">#try:</span>
     1835                <span class="c1">#    if c.wrf:</span>
     1836                <span class="c1">#        # model layer</span>
     1837                <span class="c1">#        if levtype == &#39;hybrid&#39; and \</span>
     1838                <span class="c1">#           paramId in [129, 130, 131, 132, 133, 138, 155]:</span>
     1839                <span class="c1">#            codes_write(gid, fwrf)</span>
     1840                <span class="c1">#        # sfc layer</span>
     1841                <span class="c1">#        elif paramId in wrfpars:</span>
     1842                <span class="c1">#            codes_write(gid, fwrf)</span>
     1843                <span class="c1">#except AttributeError:</span>
     1844                <span class="c1">#    pass</span>
    18161845
    18171846                <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
     
    18831912                                            <span class="s1">&#39;rb&#39;</span><span class="p">),</span> <span class="n">fout</span><span class="p">)</span>
    18841913<span class="c1"># ============================================================================================</span>
    1885         <span class="k">if</span> <span class="n">c</span><span class="o">.</span><span class="n">wrf</span><span class="p">:</span>
    1886             <span class="n">fwrf</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
     1914
     1915        <span class="c1"># @WRF</span>
     1916        <span class="c1"># THIS IS NOT YET CORRECTLY IMPLEMENTED !!!</span>
     1917        <span class="c1">#</span>
     1918        <span class="c1"># UNDER CONSTRUCTION !!!</span>
     1919        <span class="c1">#</span>
     1920        <span class="c1">#if c.wrf:</span>
     1921        <span class="c1">#    fwrf.close()</span>
    18871922
    18881923        <span class="n">codes_index_release</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span>
     
    19181953        <span class="c1"># get a list of all prepared output files with control forecast (CF)</span>
    19191954        <span class="n">CF_filelist</span> <span class="o">=</span> <span class="n">UioFiles</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;*.N000&#39;</span><span class="p">)</span>
     1955        <span class="n">CF_filelist</span><span class="o">.</span><span class="n">files</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">CF_filelist</span><span class="o">.</span><span class="n">files</span><span class="p">)</span>
    19201956
    19211957        <span class="k">for</span> <span class="n">cffile</span> <span class="ow">in</span> <span class="n">CF_filelist</span><span class="o">.</span><span class="n">files</span><span class="p">:</span>
     
    19311967            <span class="n">filename</span> <span class="o">=</span> <span class="n">cffile</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;N000&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
    19321968            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">maxnum</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span>
    1933 
    19341969                <span class="c1"># read an ensemble member</span>
    19351970                <span class="n">g</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span> <span class="o">+</span> <span class="s1">&#39;N</span><span class="si">{:0&gt;3}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span>
  • Documentation/html/_modules/GribUtil.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for GribUtil</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    175175<span class="c1">#</span>
    176176<span class="c1"># @License:</span>
    177 <span class="c1">#    (C) Copyright 2014-2018.</span>
     177<span class="c1">#    (C) Copyright 2014-2019.</span>
     178<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
    178179<span class="c1">#</span>
    179 <span class="c1">#    This software is licensed under the terms of the Apache Licence Version 2.0</span>
    180 <span class="c1">#    which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.</span>
     180<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
    181181<span class="c1">#</span>
    182 <span class="c1"># @Class Description:</span>
    183 <span class="c1">#    The GRIB API provides all necessary tools to work directly with the</span>
    184 <span class="c1">#    grib files. Nevertheless, the GRIB API tools are very basic and are in</span>
    185 <span class="c1">#    direct connection with the grib files. This class provides some higher</span>
    186 <span class="c1">#    functions which apply a set of GRIB API tools together in the respective</span>
    187 <span class="c1">#    context. So, the class initially contains a list of grib files (their</span>
    188 <span class="c1">#    names) and the using program then applies the methods directly on the</span>
    189 <span class="c1">#    class objects without having to think about how the actual GRIB API</span>
    190 <span class="c1">#    tools have to be arranged.</span>
    191 <span class="c1">#</span>
    192 <span class="c1"># @Class Content:</span>
    193 <span class="c1">#    - __init__</span>
    194 <span class="c1">#    - get_keys</span>
    195 <span class="c1">#    - set_keys</span>
    196 <span class="c1">#    - copy_dummy_msg</span>
    197 <span class="c1">#    - index</span>
    198 <span class="c1">#</span>
    199 <span class="c1"># @Class Attributes:</span>
    200 <span class="c1">#    - filenames</span>
    201 <span class="c1">#</span>
     182<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
     183<span class="c1">#    International License. To view a copy of this license, visit</span>
     184<span class="c1">#    http://creativecommons.org/licenses/by/4.0/ or send a letter to</span>
     185<span class="c1">#    Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</span>
    202186<span class="c1">#*******************************************************************************</span>
    203187
     
    215199    <span class="sd">&#39;&#39;&#39;</span>
    216200<span class="sd">    Class for GRIB utilities (new methods) based on GRIB API</span>
     201
     202<span class="sd">    The GRIB API provides all necessary tools to work directly with the</span>
     203<span class="sd">    grib files. Nevertheless, the GRIB API tools are very basic and are in</span>
     204<span class="sd">    direct connection with the grib files. This class provides some higher</span>
     205<span class="sd">    functions which apply a set of GRIB API tools together in the respective</span>
     206<span class="sd">    context. So, the class initially contains a list of grib files (their</span>
     207<span class="sd">    names) and the using program then applies the methods directly on the</span>
     208<span class="sd">    class objects without having to think about how the actual GRIB API</span>
     209<span class="sd">    tools have to be arranged.</span>
    217210<span class="sd">    &#39;&#39;&#39;</span>
    218211    <span class="c1"># --------------------------------------------------------------------------</span>
     
    260253                             <span class="n">codes_release</span><span class="p">)</span>
    261254
    262         <span class="n">fileid</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span>
    263 
    264255        <span class="n">return_list</span> <span class="o">=</span> <span class="p">[]</span>
    265256
    266         <span class="k">while</span> <span class="mi">1</span><span class="p">:</span>
     257        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fileid</span><span class="p">:</span>
     258
    267259            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_new_from_file</span><span class="p">(</span><span class="n">fileid</span><span class="p">)</span>
    268 
    269             <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
    270                 <span class="k">break</span>
    271260
    272261            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">wherekeynames</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">wherekeyvalues</span><span class="p">):</span>
     
    292281            <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
    293282
    294         <span class="n">fileid</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
    295 
    296283        <span class="k">return</span> <span class="n">return_list</span></div>
    297284
    298285
    299286<div class="viewcode-block" id="GribUtil.set_keys"><a class="viewcode-back" href="../Documentation/Api/api_python.html#GribUtil.GribUtil.set_keys">[docs]</a>    <span class="k">def</span> <span class="nf">set_keys</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fromfile</span><span class="p">,</span> <span class="n">keynames</span><span class="p">,</span> <span class="n">keyvalues</span><span class="p">,</span> <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[],</span>
    300                  <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">strict</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">):</span>
     287                 <span class="n">wherekeyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">strict</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;wb&#39;</span><span class="p">):</span>
    301288        <span class="sd">&#39;&#39;&#39;Opens the file to read the grib messages and then write</span>
    302289<span class="sd">        the selected messages (with wherekeys) to a new output file.</span>
     
    330317
    331318<span class="sd">        filemode : :obj:`string`, optional</span>
    332 <span class="sd">            Sets the mode for the output file. Default is &quot;w&quot;.</span>
     319<span class="sd">            Sets the mode for the output file. Default is &quot;wb&quot;.</span>
    333320
    334321<span class="sd">        Return</span>
     
    344331
    345332        <span class="n">fout</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">filemode</span><span class="p">)</span>
    346         <span class="n">fin</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">fromfile</span><span class="p">)</span>
    347 
    348         <span class="k">while</span> <span class="mi">1</span><span class="p">:</span>
     333
     334        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fromfile</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
    349335            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span>
    350 
    351             <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
    352                 <span class="k">break</span>
    353336
    354337            <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span>
     
    375358            <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
    376359
    377         <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
    378360        <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
    379361
     
    381363
    382364<div class="viewcode-block" id="GribUtil.copy_dummy_msg"><a class="viewcode-back" href="../Documentation/Api/api_python.html#GribUtil.GribUtil.copy_dummy_msg">[docs]</a>    <span class="k">def</span> <span class="nf">copy_dummy_msg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">filename_in</span><span class="p">,</span> <span class="n">selectWhere</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
    383                  <span class="n">keynames</span><span class="o">=</span><span class="p">[],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;w&#39;</span><span class="p">):</span>
     365                 <span class="n">keynames</span><span class="o">=</span><span class="p">[],</span> <span class="n">keyvalues</span><span class="o">=</span><span class="p">[],</span> <span class="n">filemode</span><span class="o">=</span><span class="s1">&#39;wb&#39;</span><span class="p">):</span>
    384366        <span class="sd">&#39;&#39;&#39;Add the content of another input grib file to the objects file but</span>
    385367<span class="sd">        only messages corresponding to keys/values passed to the function.</span>
     
    404386
    405387<span class="sd">        filemode : :obj:`string`, optional</span>
    406 <span class="sd">            Sets the mode for the output file. Default is &quot;w&quot;.</span>
     388<span class="sd">            Sets the mode for the output file. Default is &quot;wb&quot;.</span>
    407389
    408390<span class="sd">        Return</span>
     
    416398            <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Give a value for each keyname!&quot;</span><span class="p">)</span>
    417399
    418         <span class="n">fin</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename_in</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span>
     400
    419401        <span class="n">fout</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">filemode</span><span class="p">)</span>
    420402
    421403        <span class="n">fields</span> <span class="o">=</span> <span class="mi">0</span>
    422404
    423         <span class="k">while</span> <span class="n">fields</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span>
     405        <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename_in</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span>
     406            <span class="k">if</span> <span class="n">fields</span> <span class="o">&gt;=</span> <span class="mi">1</span><span class="p">:</span>
     407                <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
     408                <span class="k">return</span>
     409
    424410            <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">fin</span><span class="p">)</span>
    425 
    426             <span class="k">if</span> <span class="n">gid</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
    427                 <span class="k">break</span>
    428411
    429412            <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span>
     
    447430            <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span>
    448431
    449         <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
    450432        <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
    451433
  • Documentation/html/_modules/MarsRetrieval.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for MarsRetrieval</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    185185<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
    186186<span class="c1">#</span>
     187<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
     188<span class="c1">#</span>
    187189<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
    188190<span class="c1">#    International License. To view a copy of this license, visit</span>
     
    648650            <span class="k">del</span> <span class="n">attrs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span>
    649651
    650         <span class="n">attrs</span><span class="p">[</span><span class="s1">&#39;ppengine&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;emos&#39;</span>
     652<span class="c1">#        attrs[&#39;ppengine&#39;] = &#39;emos&#39;</span>
    651653
    652654        <span class="c1"># MARS request via Python script</span>
     
    680682                <span class="n">request_str</span> <span class="o">=</span> <span class="n">request_str</span> <span class="o">+</span> <span class="s1">&#39;,&#39;</span> <span class="o">+</span> <span class="n">key</span> <span class="o">+</span> <span class="s1">&#39;=&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
    681683            <span class="n">request_str</span> <span class="o">+=</span> <span class="s1">&#39;,target=&quot;&#39;</span> <span class="o">+</span> <span class="n">target</span> <span class="o">+</span> <span class="s1">&#39;&quot;&#39;</span>
    682             <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s1">&#39;mars&#39;</span><span class="p">,</span> <span class="s1">&#39;-e&#39;</span><span class="p">],</span>
     684            <span class="n">p</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">([</span><span class="s1">&#39;mars&#39;</span><span class="p">],</span> <span class="c1">#&#39;-e&#39;],</span>
    683685                                 <span class="n">stdin</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
    684686                                 <span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
  • Documentation/html/_modules/UioFiles.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for UioFiles</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    188188<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
    189189<span class="c1">#</span>
     190<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
     191<span class="c1">#</span>
    190192<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
    191193<span class="c1">#    International License. To view a copy of this license, visit</span>
  • Documentation/html/_modules/checks.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for checks</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    173173<span class="c1">#    (C) Copyright 2014-2019.</span>
    174174<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
     175<span class="c1">#</span>
     176<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
    175177<span class="c1">#</span>
    176178<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
  • Documentation/html/_modules/disaggregation.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for disaggregation</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    184184<span class="c1">#    (C) Copyright 2014-2019.</span>
    185185<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
     186<span class="c1">#</span>
     187<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
    186188<span class="c1">#</span>
    187189<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
  • Documentation/html/_modules/get_mars_data.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for get_mars_data</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    190190<span class="c1">#    (C) Copyright 2014-2019.</span>
    191191<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
     192<span class="c1">#</span>
     193<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
    192194<span class="c1">#</span>
    193195<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
  • Documentation/html/_modules/install.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for install</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    183183<span class="c1">#    (C) Copyright 2014-2019.</span>
    184184<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
     185<span class="c1">#</span>
     186<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
    185187<span class="c1">#</span>
    186188<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
  • Documentation/html/_modules/prepare_flexpart.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for prepare_flexpart</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    193193<span class="c1">#    (C) Copyright 2014-2019.</span>
    194194<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
     195<span class="c1">#</span>
     196<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
    195197<span class="c1">#</span>
    196198<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
  • Documentation/html/_modules/submit.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for submit</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    187187<span class="c1">#    (C) Copyright 2014-2019.</span>
    188188<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
     189<span class="c1">#</span>
     190<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
    189191<span class="c1">#</span>
    190192<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
  • Documentation/html/_modules/tools.html

    rba99230 r30f7911  
    161161           
    162162  <h1>Source code for tools</h1><div class="highlight"><pre>
    163 <span></span><span class="ch">#!/usr/bin/env python</span>
     163<span></span><span class="ch">#!/usr/bin/env python3</span>
    164164<span class="c1"># -*- coding: utf-8 -*-</span>
    165165<span class="c1">#*******************************************************************************</span>
     
    188188<span class="c1">#    (C) Copyright 2014-2019.</span>
    189189<span class="c1">#    Anne Philipp, Leopold Haimberger</span>
     190<span class="c1">#</span>
     191<span class="c1">#    SPDX-License-Identifier: CC-BY-4.0</span>
    190192<span class="c1">#</span>
    191193<span class="c1">#    This work is licensed under the Creative Commons Attribution 4.0</span>
     
    923925    <span class="c1"># --- open file ---</span>
    924926    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Opening file for getting information data --- </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">filename</span><span class="p">)</span>
    925     <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
     927    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
    926928        <span class="c1"># load first message from file</span>
    927929        <span class="n">gid</span> <span class="o">=</span> <span class="n">codes_grib_new_from_file</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
  • Documentation/html/_sources/Documentation/Input/ecmwf_env.rst.txt

    rba99230 r30f7911  
    33****************************************
    44
    5 This file contains the user credentials for working on ECMWF servers and transfering files between the ECMWF servers and the local gateway server. It is located in the ``flex_extract_vX.X/run`` directory and will be created in the installation process for the application modes **remote** and **gateway**.
     5This file contains the user credentials for working on ECMWF servers and transferring files between the ECMWF servers and the local gateway server. It is located in the ``flex_extract_vX.X/run`` directory and will be created in the installation process for the application modes **remote** and **gateway**.
    66
    77This file is based on the template ``ECMWF_ENV.template`` which is located in the ``templates`` directory.
  • Documentation/html/_sources/index.rst.txt

    rba99230 r30f7911  
    129129
    130130.. toctree::
    131    :maxdepth: 3
     131   :maxdepth: 4
    132132   :caption: Table of Contents:
    133133
  • Documentation/html/_sources/installation.rst.txt

    rba99230 r30f7911  
    99    :hidden:
    1010    :maxdepth: 2
     11   
    1112     
    1213.. _Python 3: https://docs.python.org/3/
     
    3738
    3839
    39 ``flex_extract`` is a software package which contains a mix of Python and Shell scripts as well as a Fortran program. These components rely on a couple of third party libraries which need to be prepared first before starting the installation process. For now, the software is only tested for a Linux/Unix environment. Feel free to try it out on other platforms.
    40 
    41 Start with the decision of which `user group <Ecmwf/access>`_ you belong to and follow the instructions at :ref:`ref-registration` to get an account at ECMWF. Considering your user group and the method of applying ``flex_extract`` there appear to be 4 application modes
    42 
    43 - Remote (for member state users only) :ref:`[installation]<ref-remote-mode>`
    44 - Gateway (for member state users only) :ref:`[installation]<ref-gateway-mode>`
    45 - Local member :ref:`[installation]<ref-local-mode>`
    46 - Local public :ref:`[installation]<ref-local-mode>`
    47 
    48 More information can be found in :doc:`Documentation/Overview/app_modes`.
     40The ``flex_extract`` software package contains python and shell scripts as well as a Fortran program. These components rely on several libraries which need to be available before starting the installation process. Currently, the software is only tested for a GNU/Linux environment. Feel free to try it out on other platforms.
     41
     42At first, go to the `user group <Ecmwf/access.html>`_ section and decide which group you belong to and follow the instructions at :ref:`ref-registration` to obtain an account at ECMWF (if you don't have it already). Depending on the user group and the way to access the ECWMF MARS archive, there are four possible :doc:`Documentation/Overview/app_modes`
     43
     44- Remote (member-state users only) :ref:`[installation]<ref-remote-mode>`
     45- Gateway (member-state users only) :ref:`[installation]<ref-gateway-mode>`
     46- Local, member-state user :ref:`[installation]<ref-local-mode>`
     47- Local, public user :ref:`[installation]<ref-local-mode>`
     48
     49Please follow the link :doc:`Documentation/Overview/app_modes` to get a description of the modes.
    4950
    5051.. note::
    5152
    5253   If you encounter any problems in the installation process, you can ask for :doc:`support`.
    53 
    54 
    55 
    56 
     54   
     55   
     56   
     57   
    5758
    5859.. _ref-registration:
     
    6162=====================
    6263
    63 Decide which user group you belong to and follow the instructions for registration:
    64 
    65 **Member state user**:
    66     To get a member-state user account, users have to be a resident of a `member state`_. In that case, you can contact your `Computing Representative`_ for granting access. If you would like to use the local application mode to retrieve **ERA5** data you'd have to register at the `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ also.
    67 
    68 **Public user**:
    69     To be able to download public datasets with ``flex_extract`` such as **ERA-Interim** and **CERA-20C** (**ERA5** is not supported via ECMWF Web API anymore), the public user has to create an account at ECMWF.
    70     Use the registration at the ECMWF website by filling out this `registration form`.
    71    
    72     .. note::
    73 
    74         In the future retrievement of *ERA5* will be possible via the CDS API for public users also. Then a registration at the `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ is needed in addition.
    75    
    76    
    77    
    78    
     64The registration depends on the :doc:`Documentation/Overview/app_modes` and in case of the local mode also on the data set you'd like to retrieve. The following table gives an overview where you need to register.
     65
     66+--------------+------------------------------------+--------------+
     67|              |  Member-state user                 | Public user  |
     68|              +---------+----------+---------------+--------------+
     69|    Data sets |Remote   |Gateway   |Local          | Local        |
     70+--------------+---------+----------+---------------+--------------+
     71| Operational  | 1       | 1        | 1,2           | -            |
     72+--------------+---------+----------+---------------+--------------+
     73| ERA-Interim  | 1       | 1        | 1,2           | 2            |
     74+--------------+---------+----------+---------------+--------------+
     75| CERA-20C     | 1       | 1        | 1,2           | 2            |
     76+--------------+---------+----------+---------------+--------------+
     77| ERA5         | 1       | 1        | 3             | -            |
     78+--------------+---------+----------+---------------+--------------+
     79
     80
     81
     82Registration options:
     83
     84    1.)  Access through a member-state user account granted by the `Computing Representative`_. The credentials have to be provided during installation.
     85   
     86    2.)  Access through the ECMWF Web API. Need to sign in at `ECMWF Web API <https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home>`_ and configure the ECMWF key as described. Member-state users can sign in with their credentials from the `Computing Representative`_ and public users have to fill out the `registration form`_ to get an account.
     87   
     88    3.) Access through the `CDS API <https://cds.climate.copernicus.eu/api-how-to>`_. Extra registration for member-state users is required at `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ including the configurations of the CDS key as described. This mode is currently not available for public users. See the note at `user group <Ecmwf/access.html>`_ for information.
     89
    7990   
    8091   
    8192.. _ref-licence:
    8293   
    83 Agree on licences for public datasets
     94Licence agreement for public datasets
    8495=====================================
    8596
    86 Each public dataset which is intended to be downloaded by ``flex_extract`` has its own licence which has to be accepted, regardless of the user group.
     97Each ECMWF public dataset has its own licence which has to be accepted, regardless of the user group.
    8798
    8899For the *ERA-Interim* and *CERA-20C* datasets this can be done at the ECMWF website `Available ECMWF Public Datasets <https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets>`_. Log in and follow the licence links on the right side for each dataset and accept it.
    89100   
    90 For the *ERA5* dataset this has to be done at the `Climate Data Store (CDS) website <https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset>`_. Log in with your credentials and then select on the left panel the product type "Reanalysis" for finding *ERA5* datasets. Then follow the link of a title with *ERA5* (anyone) to the full dataset record, click on tab "Download data" and scroll down. There is a section "Terms of use" where you have to click the :underline:`Accept terms` button.   
    91 
     101For the *ERA5* dataset this has to be done at the `Climate Data Store (CDS) website <https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset>`_. Log in and select, on the left panel, product type "Reanalysis" for finding *ERA5* datasets. Then follow any link with *ERA5* to the full dataset record, click on tab "Download data" and scroll down. There is a section "Terms of use" where you have to click the :underline:`Accept terms` button.
    92102   
    93103
     
    100110=========================
    101111
    102 There are 2 options to download ``flex_extract``:
     112There are two options to download ``flex_extract``:
    103113
    104114tar ball
    105     You can download the latest prepared release tar ball from the `download section`_
    106     of our ``FLEXPART`` community website and then untar the file. Substitute
    107     the **<ID>** in the ``wget`` command with the ID-number of the ``flex_extract``
    108     release tar ball in the list of downloads at the community website.
    109    
    110    
     115    You can download a tar ball with the latest release from the `flex_extract page <https://www.flexpart.eu/wiki/FpInputMetEcmwf>`_ from our ``FLEXPART`` community website and then untar the file.
     116 
    111117    .. code-block:: bash
    112118       
    113        wget https://www.flexpart.eu/downloads/<ID>
    114119       tar -xvf <flex_extract_vX.X.tar>
    115120
    116 git repo   
    117     Or you can clone the current release version from our git repository master branch.
     121git repo 
     122    Alternatively, if you have ``git`` installed on your machine, and if you are interested to keep the code in a version control system, you may clone the latest version from our git repository master branch. 
    118123
    119124    .. code-block:: bash
    120125
    121        $ git clone https://www.flexpart.eu/gitmob/flexpart
     126       $ git clone --single-branch --branch master https://www.flexpart.eu/gitmob/flexpart
    122127
    123128
     
    130135========================
    131136
    132 This is a list of the general environment requirements for ``flex_extract``.
    133 What is required exactly for each application mode will be described in the specifc installation section.
    134 
    135    
    136 To run the python part of ``flex_extract`` a `Python 3`_ environment is needed.
    137 We tested ``flex_extract`` with a normal Linux Python package distribution and Anaconda Python.
    138 Except for `Python3`_ all are python packages which can be installed via ``pip``.
    139 
    140 * `Python3`_ or `Anaconda Python3`_
    141 * `numpy`_
    142 * `ecmwf-api-client`_ (Web Interface to ECMWF servers for datasets except ERA5)
    143 * `cdsapi`_ (Web Interface to `C3S <https://climate.copernicus.eu/>`_ servers for ERA5)
    144 * `genshi`_
    145 * `eccodes for python`_ 
    146  
    147 For the Fortran part of ``flex_extract`` we need the following distribution packages:
    148  
    149 * `gfortran`_
    150 * `fftw3`_
    151 * `eccodes`_
    152 * `emoslib`_
     137The software required for running ``flex_extract`` depends on the :doc:`Documentation/Overview/app_modes` and therefore is described in the respective specific installation sections.
     138
     139   
     140Generally speaking, ``flex_extract`` requires `Python 3`_ and Fortran together with certain modules / libraries.
     141We tested ``flex_extract`` with the python3 package from the the GNU/Linux distribution and Anaconda Python. The required python3 modules should prefarably be installed as distribution packages, or alternatively using Python's own package manager ``pip`` (this may mess up some aspects of your python installation, especially if you use ``pip`` as root. Think about using virtual environments.).
    153142
    154143
     
    162151================================
    163152
    164 The actual installation of ``flex_extract`` will be done by executing a `Shell` script called ``setup.sh``.
    165 It defines some parameters and calls a Python script by giving the parameters as command line arguments.
    166 More information on the script and its parameters can be found at :doc:`Documentation/Input/setup`.
     153The actual installation of ``flex_extract`` is done by executing a shell script called ``setup.sh``.
     154It defines some parameters and calls a Python script passing the parameters as command line arguments. For details, see :doc:`Documentation/Input/setup`.
    167155
    168156For each application mode installation section we describe the requirements for the explicit
     
    171159
    172160
    173 
    174 
    175 
    176 
    177 .. _ref-remote-mode:
    178 
    179 Remote mode
    180 -----------
    181 
    182 .. _ref-req-remote:
    183  
    184 Remote environment requirements
    185 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    186 
    187 The environment for ``flex_extract`` on ECMWF servers has to provide these
    188 software packages and libraries:
    189    
    190 +---------------------------+-----------------+
    191 |  Python part              | Fortran part    |
    192 +---------------------------+-----------------+
    193 | * `Python3`_              | * `gfortran`_   |
    194 | * `numpy`_                | * `fftw3`_      |
    195 | * `genshi`_               | * `eccodes`_    |
    196 | * `eccodes for python`_   | * `emoslib`_    |
    197 +---------------------------+-----------------+
    198 
    199 
    200 .. _ref-prep-remote:
    201 
    202 Prepare remote environment
    203 ^^^^^^^^^^^^^^^^^^^^^^^^^^
    204  
    205 The environment on the ECMWF server (such as *ecgate* or *cca*) is already
    206 prepared. ECMWF server provide all libraries via a module system which is
    207 going to be selected by ``flex_extract`` automatically.
    208 
    209 
    210 .. _ref-install-remote:
    211 
    212 Remote installation
    213 ^^^^^^^^^^^^^^^^^^^
    214 
    215 First, log in on one of the ECMWF Linux server, such as *ecgate* or *cca/ccb*.
    216 Substitute *<ecuid>* with your ECMWF user name:
    217 
    218 .. code-block:: bash
    219    
    220    ssh -X <ecuid>@ecaccess.ecmwf.int
    221 
    222 This will lead to the following output on the command line, asking for your
    223 password:
    224    
    225 .. code-block:: bash
    226 
    227    Authorized access only.
    228 
    229    ***************************************************************
    230       For further information, read the ECaccess documentation at:
    231 
    232       https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home
    233 
    234       You can also use ECaccess to load & download files from your
    235       EChome, ECscratch or ECfs directories using the ECaccess FTP
    236       server:
    237 
    238       ftp://uid@ecaccess.ecmwf.int/
    239 
    240       Please note you must use your UID and ActivID code to login!
    241    ***************************************************************
    242 
    243    <ecuid>@131.130.157.5's password: ***
    244    Select hostname (ecgate, cca, ccb) [ecgate]: ecgate
    245 
    246    [<ecuid>@ecgb11 ~]$
    247    
    248    
    249 Then, copy the ``flex_extract`` tar ball (from section :ref:`ref-download`)
    250 to the ``$HOME`` directory of the ECMWF Linux server via ``scp``.
    251 Substitute the *<localuser>* and *<server.edu>* placeholders with your credentials.
    252 Untar the file and change into the ``flex_extract`` root directory.
    253 
    254 .. code-block:: bash
    255 
    256    scp <localuser>@<server.edu>:/path/to/tarfile/flex_extract_vX.X.tar.gz  $HOME/
    257    cd $HOME
    258    tar xvf flex_extract_vX.X.tar.gz
    259    cd flex_extract_vX.X
    260    
    261 
    262 On these ECMWF servers, it is not necessary to prepare the environment or the
    263 ``Makefile`` for the Fortran program (``CONVERT2``) as described above.
    264 All third party libraries are available from a module system. The ``Makefile``
    265 is optimized for ECMWF servers and the compilation
    266 script ``compilejob.ksh``, which will be submitted by ``flex_extract`` to the
    267 batch job queue at ECMWF, does load all relevant modules from the ECMWF's module system.
    268 
    269 So there is just the need to execute the ``setup.sh`` script from the
    270 ``flex_extract`` root directory for installation.
    271 Before executing it, it is necessary to adapt some parameters from ``setup.sh``
    272 described in :doc:`Documentation/Input/setup`.
    273 
    274 Open ``setup.sh`` with your editor and adapt the values: 
    275 
    276 +----------------------------------------------+----------------------------------------------+   
    277 |   Take this for target = **ectrans**         |  Take this for target = **cca**              |
    278 +----------------------------------------------+----------------------------------------------+
    279 | .. code-block:: bash                         | .. code-block:: bash                         |
    280 |                                              |                                              |
    281 |   ...                                        |   ...                                        |   
    282 |   # -----------------------------------------|   # -----------------------------------------|
    283 |   # AVAILABLE COMMANDLINE ARGUMENTS TO SET   |   # AVAILABLE COMMANDLINE ARGUMENTS TO SET   |
    284 |   #                                          |   #                                          | 
    285 |   # THE USER HAS TO SPECIFY THESE PARAMETER  |   # THE USER HAS TO SPECIFY THESE PARAMETER  |
    286 |   #                                          |   #                                          |
    287 |   TARGET='ecgate'                            |   TARGET='cca'                               |
    288 |   MAKEFILE='Makefile.gfortran'               |   MAKEFILE='Makefile.CRAY'                   | 
    289 |   ECUID='uid'                                |   ECUID='uid'                                | 
    290 |   ECGID='gid'                                |   ECGID='gid'                                |
    291 |   GATEWAY=None                               |   GATEWAY=None                               |
    292 |   DESTINATION=None                           |   DESTINATION=None                           |
    293 |   INSTALLDIR=None                            |   INSTALLDIR=''                              |
    294 |   JOB_TEMPLATE='job.template'                |   JOB_TEMPLATE='job.template'                |
    295 |   CONTROLFILE='CONTROL_EA5'                  |   CONTROLFILE='CONTROL_EA5'                  |
    296 |   ...                                        |   ...                                        |   
    297 +----------------------------------------------+----------------------------------------------+
    298 
    299 :underline:`Please substitute the values of ECUID and ECGID
    300 with your own credentials and settings.`
    301 
    302 .. note::
    303 
    304    If a local gateway server is available the transfer of files could be done
    305    via the ``ECaccess`` commands. Therefore a valid *GATEWAY* and *DESTINATION*
    306    have to be present and should be set in the ``setup.sh`` file.
    307 
    308 
    309 Afterwards, type:
    310 
    311 .. code-block:: bash
    312 
    313    module load python3   
    314    ./setup.sh
    315    
    316 to start the installation. You should see the following output at the command line.
    317    
    318    
    319 .. code-block:: bash
    320 
    321    # Output of setup.sh
    322    Create tarball ...
    323    Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X
    324    You should get an email with subject "flexcompile" within the next few minutes!
    325 
    326    
    327 The email content should look like this with a "SUCCESS" statement in the last line:
    328 
    329 .. code-block:: bash
    330 
    331     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp phgrreal.f
    332     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp grphreal.f
    333     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp ftrafo.f
    334     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90
    335     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f
    336     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90
    337     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib  -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib  -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3   
    338     -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2
    339     SUCCESS!   
    340 
    341 
    342 
    343 
    344 
    345 
    346 
    347 
    348 
    349 
    350 
    351 
    352 
    353 
    354 
    355 
    356 
    357 
    358 
    359 
    360 
    361 
    362 
    363 .. _ref-gateway-mode:
    364 
    365 Gateway mode
    366 ------------
    367 
    368 
    369 .. _ref-req-gateway:
    370  
    371 Gateway environment requirements
    372 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    373 
    374 The environment on your local system has to provide these software packages
    375 and libraries, since ``flex_extract`` does only prepare the job script and send
    376 it to the ECMWF servers:
    377    
    378 * `Python3`_ or `Anaconda Python3`_
    379 * `numpy`_
    380 * `genshi`_
    381  
    382 
    383 .. _ref-prep-gateway:
    384 
    385 Prepare gateway environment
    386 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    387 
    388 The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights.
    389 The installation was tested on a *GNU/Linux Debian buster* and an *Ubuntu 18.04 Bionic Beaver* system.
    390 
    391 .. code-block:: sh
    392 
    393    # On a Linux Debian or Ubuntu system do
    394    # (if not already available):
    395    apt-get install python3
    396    apt-get install pip
    397    apt-get install genshi
    398    apt-get install numpy
    399 
    400 
    401 .. _ref-test-gateway:
    402 
    403 Test gateway environment
    404 ^^^^^^^^^^^^^^^^^^^^^^^^
    405  
    406 Check the availability of the python packages by typing ``python3`` in
    407 a terminal window and run the ``import`` commands in the python shell.
    408 If there are no error messages, you succeeded in setting up the environment.
    409 
    410 .. code-block:: python
    411    
    412    # check in python3 console
    413    import genshi
    414    import numpy
    415  
    416 
    417 
    418 .. _ref-install-gateway:
    419 
    420 Gateway installation
    421 ^^^^^^^^^^^^^^^^^^^^
    422 
    423 In this mode, access to the ECMWF computing and archiving facilities is enabled through an ECaccess gateway server on a local member state server. The ECaccess framework is necessary to interactively submit jobs to the ECMWF batch system and to transfer files between ECMWF and local gateway server.
    424 
    425 Please see `ECMWF's instructions on gateway server`_ to establish the gateway server if not already in place.
    426 Additionally, to be able to use the Ecaccess file transfer service **ectrans** please also create an association.
    427 The easiest way is to visit the ECaccess Member State Gateway website (e.g. msgatway.ecmwf.int) and follow the instructions in the short `ECaccess Presentation`_ (page 17 ff.). Additional documentation can be found on the `ECMWF ectrans site`_.
    428 
    429 After everything is set up you have to create an *ecaccess certificate* to be able to send and receive files from and to the ECMWF server. You can do this by using the ``ecaccess-certificate-create`` command on the gateway server. You will be prompted for your ECMWF member state user name and a password (which will be usually generated by a Token). This certificate has to be re-newed periodically (every 7 days).
    430 
    431 .. code-block:: bash
    432    
    433    $ ecaccess-certificate-create
    434    Please enter your user-id: example_username
    435    Your passcode: ***
    436    
    437 ``Flex_extract`` will be run on an ECMWF server which makes the setup the same as for the **remote mode**. In the ``setup.sh`` script `[ref] <Documentation/Input/setup.html>`_, select the ``Makefile.gfortran`` for the ``CONVERT2`` Fortran program and the ECMWF server (*target*) you would like to use.
    438 The job script, send to the job queue via the ECaccess software, selects again automatically the correct libraries from the module system. For enableing the file transfer you have to set the *ECUID*, *ECGID*, *GATEWAY* and *DESTINATION* parameter values.
    439  
    440 
    441 .. code-block:: bash
    442     :caption: 'Example settings for a gateway installation.'
    443     :name: setup.sh
    444    
    445     # -----------------------------------------------------------------
    446     # AVAILABLE COMMANDLINE ARGUMENTS TO SET
    447     #
    448     # THE USER HAS TO SPECIFY THESE PARAMETER
    449     #
    450     TARGET='ecgate'
    451     MAKEFILE='Makefile.gfortran'
    452     ECUID='uid'
    453     ECGID='gid'
    454     GATEWAY='server.example.edu'
    455     DESTINATION='example@genericSftp'
    456     INSTALLDIR=None
    457     JOB_TEMPLATE='job.template'
    458     CONTROLFILE='CONTROL_EA5'
    459 
    460 
    461 Afterwards, type:
    462 
    463 .. code-block:: bash
    464 
    465    $ ./setup.sh
    466    
    467 to start the installation. You should see the following output at the command line.
    468    
    469    
    470 .. code-block:: bash
    471 
    472    # Output of setup.sh
    473    Create tarball ...
    474    Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X
    475    You should get an email with subject "flexcompile" within the next few minutes!
    476 
    477    
    478 The email content should look like this with a "SUCCESS" statement in the last line:
    479 
    480 .. code-block:: bash
    481 
    482     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp phgrreal.f
    483     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp grphreal.f
    484     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp ftrafo.f
    485     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90
    486     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f
    487     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90
    488     gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib  -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib  -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3   
    489     -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2
    490     SUCCESS!   
    491    
    492    
    493    
    494    
    495    
    496    
    497    
    498    
    499    
    500    
    501    
    502    
    503    
    504    
    505    
    506    
    507    
    508    
    509    
    510 .. _ref-local-mode:
    511 
    512 Local mode
    513 ----------
    514 
    515 
    516 
    517 .. _ref-req-local:
    518  
    519 Local environment requirements
    520 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    521 
    522 For the local access modes **member** and **public** there is no difference in
    523 the installation process.
    524 
    525 The environment on your local system has to provide these software packages
    526 and libraries, since all extraction and preparation is done at the local system:
    527 
    528 +------------------------------------------------+-----------------+
    529 |  Python part                                   | Fortran part    |
    530 +------------------------------------------------+-----------------+
    531 | * `Python3`_                                   | * `gfortran`_   |
    532 | * `numpy`_                                     | * `fftw3`_      |
    533 | * `genshi`_                                    | * `eccodes`_    |
    534 | * `eccodes for python`_                        | * `emoslib`_    |
    535 | * `ecmwf-api-client`_ (everything except ERA5) |                 |
    536 | * `cdsapi`_ (just for ERA5)                    |                 |
    537 +------------------------------------------------+-----------------+
    538 
    539 
    540 .. _ref-prep-local:
    541 
    542 Prepare local environment
    543 ^^^^^^^^^^^^^^^^^^^^^^^^^
    544 
    545 The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights.
    546 The installation was tested on a *Debian GNU/Linux buster/sid* and an *Ubuntu 18.04 Bionic Beaver* system.
    547 
    548 .. code-block:: sh
    549 
    550    # On a Linux Debian or Ubuntu system do
    551    # (if not already available):
    552    apt-get install python3 (usually available on normal Linux systems)
    553    apt-get install pip
    554    apt-get install gfortran
    555    apt-get install fftw3-dev
    556    apt-get install libeccodes-dev
    557    apt-get install libemos-dev
    558    apt-get install python3-eccodes
    559    apt-get install genshi
    560    apt-get install numpy
    561    pip install cdsapi
    562    pip install ecmwf-api-client
    563 
    564 .. note::
    565 
    566     In case you would like to use Anaconda Python we recommend you follow the installation instructions of
    567     `Anaconda Python Installation for Linux <https://docs.anaconda.com/anaconda/install/linux/>`_ and then install the
    568     ``eccodes`` package from ``conda`` with:
    569 
    570     .. code-block:: bash
    571 
    572        conda install conda-forge::python-eccodes
    573 
    574 
    575 The CDS API (cdsapi) and the ECMWF Web API (ecmwf-api-client) have both to be installed since ERA5 can only be retrieved with the ``CDS API`` and all other datasets with the ``ECMWF Web API``.     
    576        
    577 .. note::
    578 
    579     Since **public users** currently don't have access to the full *ERA5* dataset they can skip the installation of the ``CDS API``.
    580    
    581 Both user groups have to provide key's with their credentials for the Web API's in their home directory. Therefore, follow these instructions:
    582    
    583 ECMWF Web API:
    584    Go to `MARS access`_ website and log in with your credentials. Afterwards, on this site in section "Install ECMWF KEY" the key for the ECMWF Web API should be listed. Please follow the instructions in this section under point 1 (save the key in a file `.ecmwfapirc` in your home directory).
    585      
    586 CDS API:
    587    Go to 'CDS API registration'_ and register there too. Log in at the `cdsapi`_ website and follow the instructions at section "Install the CDS API key" to save your credentials in a `.cdsapirc` file.
    588      
    589 
    590 .. _ref-test-local:
    591    
    592 Test local environment
    593 ^^^^^^^^^^^^^^^^^^^^^^
    594 
    595 Check the availability of the system packages with ``dpkg -s <package-name> |  grep Status`` or ``rpm -q <package_name>``, depending on your system. For example:
    596 
    597 .. code-block:: sh
    598 
    599    $ dpkg -s libeccodes-dev |  grep Status
    600    # or
    601    $ rpm -q libeccodes-dev
    602  
    603 Afterwards, check the availability of the python packages by typing ``python3`` in
    604 a terminal window and run the ``import`` commands in the python shell. If there are no error messages, you succeeded in setting up the environment.
    605 
    606 .. code-block:: python
    607    
    608    # check in python3 console
    609    import eccodes
    610    import genshi
    611    import numpy
    612    import cdsapi
    613    import ecmwfapi
    614    
    615 
    616 
    617 Test the Web API's
    618 """"""""""""""""""
    619 
    620 You can start very simple test retrievals for both Web API's to be sure that everything works. This is recommended to minimize the range of possible errors using ``flex_extract`` later on.
    621 
    622 ECMWF Web API
    623 """""""""""""
    624 
    625 
    626 +----------------------------------------------------------+----------------------------------------------------------+
    627 |Please use this piece of python code for **Member user**: |Please use this piece of python code for **Public user**: |
    628 +----------------------------------------------------------+----------------------------------------------------------+
    629 |.. code-block:: python                                    |.. code-block:: python                                    |
    630 |                                                          |                                                          |
    631 |    from ecmwfapi import ECMWFService                     |    from ecmwfapi import ECMWFDataServer                  |
    632 |                                                          |                                                          |
    633 |    server = ECMWFService('mars')                         |    server = ECMWFDataServer()                            |
    634 |                                                          |                                                          |
    635 |    server.retrieve({                                     |    server.retrieve({                                     |
    636 |        'stream'    : "oper",                             |        'stream'    : "enda",                             |
    637 |        'levtype'   : "sfc",                              |        'levtype'   : "sfc",                              |
    638 |        'param'     : "165.128/166.128/167.128",          |        'param'     : "165.128/166.128/167.128",          |
    639 |        'dataset'   : "interim",                          |        'dataset'   : "cera20c",                          |
    640 |        'step'      : "0",                                |        'step'      : "0",                                |
    641 |        'grid'      : "0.75/0.75",                        |        'grid'      : "1./1.",                            |
    642 |        'time'      : "00/06/12/18",                      |        'time'      : "00/06/12/18",                      |
    643 |        'date'      : "2014-07-01/to/2014-07-31",         |        'date'      : "2000-07-01/to/2000-07-31",         |
    644 |        'type'      : "an",                               |        'type'      : "an",                               |
    645 |        'class'     : "ei",                               |        'class'     : "ep",                               |
    646 |        'target'    : "download_erainterim_ecmwfapi.grib" |        'target'    : "download_cera20c_ecmwfapi.grib"    |
    647 |    })                                                    |    })                                                    |
    648 +----------------------------------------------------------+----------------------------------------------------------+
    649 
    650            
    651    
    652 CDS API
    653 """""""
    654 
    655 Since ERA5 extraction with CDS API might take some time due to the very high number of requests, you can start by retrieving some online stored pressure levels (not from MARS). This is usually much faster and gives a quick result to find out if the web API works:
    656 
    657 Please use this piece of python code to retrieve a small sample of *ERA5* pressure levels:
    658 
    659 .. code-block:: python
    660 
    661     import cdsapi
    662    
    663     c = cdsapi.Client()
    664    
    665     c.retrieve("reanalysis-era5-pressure-levels",
    666     {
    667     "variable": "temperature",
    668     "pressure_level": "1000",
    669     "product_type": "reanalysis",
    670     "year": "2008",
    671     "month": "01",
    672     "day": "01",
    673     "time": "12:00",
    674     "format": "grib"
    675     },
    676     "download_cdsapi.grib")
    677 
    678 
    679 Afterwards, when you know that the CDS API generally works, you can try to extract some
    680 data from the MARS archive. From the latest experience we know that this can take a while.   
    681 
    682 .. **Member user**
    683 
    684 Please use this piece of python code to retrieve a small *ERA5* data sample as a **member user**! The **public user** doesn't have access to the full *ERA5* dataset!
    685 
    686 .. code-block:: python
    687 
    688    import cdsapi
    689    
    690    c = cdsapi.Client()
    691    
    692    c.retrieve('reanalysis-era5-complete',
    693    {
    694        'class'   : 'ea',
    695        'expver'  : '1',
    696        'stream'  : 'oper',
    697        'type'    : 'fc',
    698        'step'    : '3/to/12/by/3',
    699        'param'   : '130.128',
    700        'levtype' : 'ml',
    701        'levelist': '135/to/137',
    702        'date'    : '2013-01-01',
    703        'time'    : '06/18',
    704        'area'    : '50/-5/40/5',
    705        'grid'    : '1.0/1.0',
    706        'format'  : 'grib',
    707    }, 'download_era5_cdsapi.grib')
    708 
    709 
    710 ..  ********************** COMMENTED OUT FOR FUTURE
    711     ********************** PUBLIC RETRIEVAL IS CURRENTLY NOT ACCESSIBLE
    712    
    713     **Public user**
    714     Please use this piece of python code:
    715 
    716     .. code-block:: python
    717 
    718        import cdsapi
    719        
    720        c = cdsapi.Client()
    721        
    722        c.retrieve('reanalysis-era5-complete',
    723        {
    724            'class'   : 'ea',
    725            'dataset' : 'era5',
    726            'expver'  : '1',
    727            'stream'  : 'oper',
    728            'type'    : 'fc',
    729            'step'    : '3/to/12/by/3',
    730            'param'   : '130.128',
    731            'levtype' : 'ml',
    732            'levelist': '135/to/137',
    733            'date'    : '2013-01-01',
    734            'time'    : '06/18',
    735            'area'    : '50/-5/40/5',
    736            'grid'    : '1.0/1.0',
    737            'format'  : 'grib',
    738        }, 'download_era5_cdsapi.grib')
    739 
    740 
    741 
    742 
    743 
    744 
    745 .. _ref-install-local:
    746 
    747 Local installation
    748 ^^^^^^^^^^^^^^^^^^
    749 
    750 First prepare the Fortran ``Makefile`` for your environment and set it
    751 in the ``setup.sh`` script. (See section :ref:`ref-convert` for information on
    752 the Fortran program.)
    753 ``flex_extract`` has already two ``Makefiles`` prepared for te ``gfortran`` and
    754 the ``ifort`` compiler:
    755 
    756  * Makefile.local.gfortran
    757  * Makefile.local.ifort
    758 
    759 They can be found in the path ``flex_extract_vX.X/source/fortran``, where
    760 ``vX.X`` should be substituted with the current version number.
    761 
    762 .. caution::   
    763    It is necessary to adapt **ECCODES_INCLUDE_DIR** and **ECCODES_LIB** in these
    764    ``Makefiles``.
    765 
    766 
    767 So starting from the root directory of ``flex_extract``,
    768 go to the ``Fortran`` source directory and open the ``Makefile`` of your
    769 choice to modify with an editor of your choice. We use the ``nedit`` in this case.
    770 
    771 .. code-block:: bash
    772 
    773    cd flex_extract_vX.X/source/fortran
    774    nedit Makefile.local.gfortran
    775 
    776 Edit the pathes to the ``eccodes`` library on your local machine.
    777 
    778 .. caution::
    779    This can vary from system to system.
    780    It is suggested to use a command like
    781 
    782    .. code-block:: bash
    783 
    784       # for the ECCODES_INCLUDE_DIR path do:
    785       $ dpkg -L libeccodes-dev | grep eccodes.mod
    786       # for the ECCODES_LIB path do:
    787       $ dpkg -L libeccodes-dev | grep libeccodes.so
    788      
    789    to find out the path to the ``eccodes`` library.
    790    
    791 Substitute these paths in the ``Makefile`` for parameters **ECCODES_INCLUDE_DIR**
    792 and **ECCODES_LIB** and save it.
    793 
    794 .. code-block:: bash
    795 
    796    # these are the paths on a current Debian 10 Testing system (May 2019)
    797    ECCODES_INCLUDE_DIR=/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/
    798    ECCODES_LIB= -L/usr/lib -leccodes_f90 -leccodes -lm 
    799    
    800    
    801 The Fortran program called ``CONVERT2`` will be compiled during the
    802 installation process to get an executable. Therefore the ``Makefile``
    803 has to be set in the ``setup.sh`` script.
    804 
    805 In the root directory of ``flex_extract``, open the ``setup.sh`` script
    806 and adapt the installation parameters in the section labelled with
    807 "AVAILABLE COMMANDLINE ARGUMENTS TO SET" like shown below.
    808 
    809 
    810 .. code-block:: bash
    811    :caption: 'Example settings for a local installation.'
    812    :name: setup.sh
    813    
    814    ...
    815    # -----------------------------------------------------------------
    816    # AVAILABLE COMMANDLINE ARGUMENTS TO SET
    817    #
    818    # THE USER HAS TO SPECIFY THESE PARAMETER
    819    #
    820    TARGET='local'
    821    MAKEFILE='Makefile.local.gfortran'
    822    ECUID=None
    823    ECGID=None
    824    GATEWAY=None
    825    DESTINATION=None
    826    INSTALLDIR=None
    827    JOB_TEMPLATE='job.template'
    828    CONTROLFILE='CONTROL_EA5'
    829    ...
    830 
    831 
    832 Afterwards, type:
    833 
    834 .. code-block:: bash
    835 
    836    $ ./setup.sh
    837    
    838 to start the installation. You should see the following output at the command line.
    839    
    840    
    841 .. code-block:: bash
    842 
    843    # Output of setup.sh   
    844    WARNING: installdir has not been specified
    845    flex_extract will be installed in here by compiling the Fortran source in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/source/fortran
    846    Install flex_extract_v7.1 software at local in directory /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1
    847 
    848    Using makefile: Makefile.local.gfortran
    849    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp phgrreal.f
    850    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp grphreal.f
    851    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp ftrafo.f
    852    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 rwGRIB2.f90
    853    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 posnam.f
    854    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 preconvert.f90
    855    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -O3 -O3 -fopenmp -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/gcc-4.9.3/grib_api-1.14.3/lib -Bstatic  -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic  -lm  -ljasper -lemosR64
    856 
    857    -rwxrwxr-x. 1 philipa8 tmc 282992 May 23 22:27 ./CONVERT2
    858 
    859 
    860 
    861 
    862 
     161Select one of the following modes to install:
     162
     163    :doc:`Installation/remote`
     164   
     165    :doc:`Installation/gateway`
     166   
     167    :doc:`Installation/local`
     168
     169
     170.. toctree::
     171    :hidden:
     172    :maxdepth: 2
     173   
     174    Installation/remote
     175    Installation/gateway
     176    Installation/local
     177
     178
     179
     180
     181
     182
     183
     184
     185
     186
     187
     188
     189
     190
     191
     192
     193   
     194   
     195   
    863196
    864197``Flex_extract`` in combination with ``FLEXPART``
     
    912245   SUCCESSFULLY FINISHED CONVERT_PRE: CONGRATULATIONS
    913246
    914 Now go back to the root directoy:
     247Now go back to the root directory:
    915248
    916249.. code-block:: bash
  • Documentation/html/_sources/quick_start.rst.txt

    rba99230 r30f7911  
    337337.. todo::
    338338
    339     @LEO: please check the complete describtion and functionality of the CONTROL FILEs
     339    @LEO: please check the complete description and functionality of the CONTROL FILEs
    340340   
    341341Operational data
  • Documentation/html/index.html

    rba99230 r30f7911  
    285285<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
    286286<li class="toctree-l2"><a class="reference internal" href="installation.html#registration-at-ecmwf">Registration at ECMWF</a></li>
    287 <li class="toctree-l2"><a class="reference internal" href="installation.html#agree-on-licences-for-public-datasets">Agree on licences for public datasets</a></li>
     287<li class="toctree-l2"><a class="reference internal" href="installation.html#licence-agreement-for-public-datasets">Licence agreement for public datasets</a></li>
    288288<li class="toctree-l2"><a class="reference internal" href="installation.html#download-flex-extract">Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li>
    289289<li class="toctree-l2"><a class="reference internal" href="installation.html#environment-requirements">Environment requirements</a></li>
    290 <li class="toctree-l2"><a class="reference internal" href="installation.html#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a><ul>
    291 <li class="toctree-l3"><a class="reference internal" href="installation.html#remote-mode">Remote mode</a></li>
    292 <li class="toctree-l3"><a class="reference internal" href="installation.html#gateway-mode">Gateway mode</a></li>
    293 <li class="toctree-l3"><a class="reference internal" href="installation.html#local-mode">Local mode</a></li>
    294 </ul>
    295 </li>
     290<li class="toctree-l2"><a class="reference internal" href="installation.html#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li>
    296291<li class="toctree-l2"><a class="reference internal" href="installation.html#flex-extract-in-combination-with-flexpart"><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> in combination with <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code></a></li>
    297292<li class="toctree-l2"><a class="reference internal" href="installation.html#test-installation">Test installation</a><ul>
  • Documentation/html/installation.html

    rba99230 r30f7911  
    3939    <link rel="index" title="Index" href="genindex.html" />
    4040    <link rel="search" title="Search" href="search.html" />
    41     <link rel="next" title="Quick Start" href="quick_start.html" />
    42     <link rel="prev" title="&lt;no title&gt;" href="index.html" />
     41    <link rel="next" title="Remote mode installation" href="Installation/remote.html" />
     42    <link rel="prev" title="Welcome to flex_extract’s user documentation!" href="index.html" />
    4343</head>
    4444
     
    9292<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul>
    9393<li class="toctree-l2"><a class="reference internal" href="#registration-at-ecmwf">Registration at ECMWF</a></li>
    94 <li class="toctree-l2"><a class="reference internal" href="#agree-on-licences-for-public-datasets">Agree on licences for public datasets</a></li>
     94<li class="toctree-l2"><a class="reference internal" href="#licence-agreement-for-public-datasets">Licence agreement for public datasets</a></li>
    9595<li class="toctree-l2"><a class="reference internal" href="#download-flex-extract">Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a></li>
    9696<li class="toctree-l2"><a class="reference internal" href="#environment-requirements">Environment requirements</a></li>
    9797<li class="toctree-l2"><a class="reference internal" href="#installation-of-flex-extract">Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code></a><ul>
    98 <li class="toctree-l3"><a class="reference internal" href="#remote-mode">Remote mode</a><ul>
    99 <li class="toctree-l4"><a class="reference internal" href="#remote-environment-requirements">Remote environment requirements</a></li>
    100 <li class="toctree-l4"><a class="reference internal" href="#prepare-remote-environment">Prepare remote environment</a></li>
    101 <li class="toctree-l4"><a class="reference internal" href="#remote-installation">Remote installation</a></li>
    102 </ul>
    103 </li>
    104 <li class="toctree-l3"><a class="reference internal" href="#gateway-mode">Gateway mode</a><ul>
    105 <li class="toctree-l4"><a class="reference internal" href="#gateway-environment-requirements">Gateway environment requirements</a></li>
    106 <li class="toctree-l4"><a class="reference internal" href="#prepare-gateway-environment">Prepare gateway environment</a></li>
    107 <li class="toctree-l4"><a class="reference internal" href="#test-gateway-environment">Test gateway environment</a></li>
    108 <li class="toctree-l4"><a class="reference internal" href="#gateway-installation">Gateway installation</a></li>
    109 </ul>
    110 </li>
    111 <li class="toctree-l3"><a class="reference internal" href="#local-mode">Local mode</a><ul>
    112 <li class="toctree-l4"><a class="reference internal" href="#local-environment-requirements">Local environment requirements</a></li>
    113 <li class="toctree-l4"><a class="reference internal" href="#prepare-local-environment">Prepare local environment</a></li>
    114 <li class="toctree-l4"><a class="reference internal" href="#test-local-environment">Test local environment</a></li>
    115 <li class="toctree-l4"><a class="reference internal" href="#local-installation">Local installation</a></li>
    116 </ul>
    117 </li>
     98<li class="toctree-l3"><a class="reference internal" href="Installation/remote.html">Remote mode installation</a></li>
     99<li class="toctree-l3"><a class="reference internal" href="Installation/gateway.html">Gateway mode installation</a></li>
     100<li class="toctree-l3"><a class="reference internal" href="Installation/local.html">Local mode installation</a></li>
    118101</ul>
    119102</li>
     
    203186<div class="toctree-wrapper compound">
    204187</div>
    205 <p><code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> is a software package which contains a mix of Python and Shell scripts as well as a Fortran program. These components rely on a couple of third party libraries which need to be prepared first before starting the installation process. For now, the software is only tested for a Linux/Unix environment. Feel free to try it out on other platforms.</p>
    206 <p>Start with the decision of which <a class="reference external" href="Ecmwf/access">user group</a> you belong to and follow the instructions at <a class="reference internal" href="#ref-registration"><span class="std std-ref">Registration at ECMWF</span></a> to get an account at ECMWF. Considering your user group and the method of applying <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> there appear to be 4 application modes:</p>
     188<p>The <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> software package contains python and shell scripts as well as a Fortran program. These components rely on several libraries which need to be available before starting the installation process. Currently, the software is only tested for a GNU/Linux environment. Feel free to try it out on other platforms.</p>
     189<p>At first, go to the <a class="reference external" href="Ecmwf/access.html">user group</a> section and decide which group you belong to and follow the instructions at <a class="reference internal" href="#ref-registration"><span class="std std-ref">Registration at ECMWF</span></a> to obtain an account at ECMWF (if you don’t have it already). Depending on the user group and the way to access the ECWMF MARS archive, there are four possible <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a>:</p>
    207190<ul class="simple">
    208 <li>Remote (for member state users only) <a class="reference internal" href="#ref-remote-mode"><span class="std std-ref">[installation]</span></a></li>
    209 <li>Gateway (for member state users only) <a class="reference internal" href="#ref-gateway-mode"><span class="std std-ref">[installation]</span></a></li>
    210 <li>Local member <a class="reference internal" href="#ref-local-mode"><span class="std std-ref">[installation]</span></a></li>
    211 <li>Local public <a class="reference internal" href="#ref-local-mode"><span class="std std-ref">[installation]</span></a></li>
    212 </ul>
    213 <p>More information can be found in <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a>.</p>
     191<li>Remote (member-state users only) <a class="reference internal" href="Installation/remote.html#ref-remote-mode"><span class="std std-ref">[installation]</span></a></li>
     192<li>Gateway (member-state users only) <a class="reference internal" href="Installation/gateway.html#ref-gateway-mode"><span class="std std-ref">[installation]</span></a></li>
     193<li>Local, member-state user <a class="reference internal" href="Installation/local.html#ref-local-mode"><span class="std std-ref">[installation]</span></a></li>
     194<li>Local, public user <a class="reference internal" href="Installation/local.html#ref-local-mode"><span class="std std-ref">[installation]</span></a></li>
     195</ul>
     196<p>Please follow the link <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a> to get a description of the modes.</p>
    214197<div class="admonition note">
    215198<p class="first admonition-title">Note</p>
     
    218201<div class="section" id="registration-at-ecmwf">
    219202<span id="ref-registration"></span><h2>Registration at ECMWF<a class="headerlink" href="#registration-at-ecmwf" title="Permalink to this headline">¶</a></h2>
    220 <p>Decide which user group you belong to and follow the instructions for registration:</p>
     203<p>The registration depends on the <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a> and in case of the local mode also on the data set you’d like to retrieve. The following table gives an overview where you need to register.</p>
     204<table border="1" class="docutils">
     205<colgroup>
     206<col width="23%" />
     207<col width="15%" />
     208<col width="16%" />
     209<col width="24%" />
     210<col width="23%" />
     211</colgroup>
     212<tbody valign="top">
     213<tr class="row-odd"><td rowspan="2">Data sets</td>
     214<td colspan="3">Member-state user</td>
     215<td>Public user</td>
     216</tr>
     217<tr class="row-even"><td>Remote</td>
     218<td>Gateway</td>
     219<td>Local</td>
     220<td>Local</td>
     221</tr>
     222<tr class="row-odd"><td>Operational</td>
     223<td>1</td>
     224<td>1</td>
     225<td>1,2</td>
     226<td><ul class="first last simple">
     227<li></li>
     228</ul>
     229</td>
     230</tr>
     231<tr class="row-even"><td>ERA-Interim</td>
     232<td>1</td>
     233<td>1</td>
     234<td>1,2</td>
     235<td>2</td>
     236</tr>
     237<tr class="row-odd"><td>CERA-20C</td>
     238<td>1</td>
     239<td>1</td>
     240<td>1,2</td>
     241<td>2</td>
     242</tr>
     243<tr class="row-even"><td>ERA5</td>
     244<td>1</td>
     245<td>1</td>
     246<td>3</td>
     247<td><ul class="first last simple">
     248<li></li>
     249</ul>
     250</td>
     251</tr>
     252</tbody>
     253</table>
     254<p>Registration options:</p>
     255<blockquote>
     256<div><p>1.)  Access through a member-state user account granted by the <a class="reference external" href="https://www.ecmwf.int/en/about/contact-us/computing-representatives">Computing Representative</a>. The credentials have to be provided during installation.</p>
     257<p>2.)  Access through the ECMWF Web API. Need to sign in at <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home">ECMWF Web API</a> and configure the ECMWF key as described. Member-state users can sign in with their credentials from the <a class="reference external" href="https://www.ecmwf.int/en/about/contact-us/computing-representatives">Computing Representative</a> and public users have to fill out the <a class="reference external" href="https://apps.ecmwf.int/registration/">registration form</a> to get an account.</p>
     258<p>3.) Access through the <a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">CDS API</a>. Extra registration for member-state users is required at <a class="reference external" href="https://cds.climate.copernicus.eu/user/register">Copernicus Climate Data Store</a> including the configurations of the CDS key as described. This mode is currently not available for public users. See the note at <a class="reference external" href="Ecmwf/access.html">user group</a> for information.</p>
     259</div></blockquote>
     260</div>
     261<div class="section" id="licence-agreement-for-public-datasets">
     262<span id="ref-licence"></span><h2>Licence agreement for public datasets<a class="headerlink" href="#licence-agreement-for-public-datasets" title="Permalink to this headline">¶</a></h2>
     263<p>Each ECMWF public dataset has its own licence which has to be accepted, regardless of the user group.</p>
     264<p>For the <em>ERA-Interim</em> and <em>CERA-20C</em> datasets this can be done at the ECMWF website <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets">Available ECMWF Public Datasets</a>. Log in and follow the licence links on the right side for each dataset and accept it.</p>
     265<p>For the <em>ERA5</em> dataset this has to be done at the <a class="reference external" href="https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset">Climate Data Store (CDS) website</a>. Log in and select, on the left panel, product type “Reanalysis” for finding <em>ERA5</em> datasets. Then follow any link with <em>ERA5</em> to the full dataset record, click on tab “Download data” and scroll down. There is a section “Terms of use” where you have to click the <span class="underline">Accept terms</span> button.</p>
     266</div>
     267<div class="section" id="download-flex-extract">
     268<span id="ref-download"></span><h2>Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code><a class="headerlink" href="#download-flex-extract" title="Permalink to this headline">¶</a></h2>
     269<p>There are two options to download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>:</p>
    221270<dl class="docutils">
    222 <dt><strong>Member state user</strong>:</dt>
    223 <dd>To get a member-state user account, users have to be a resident of a <a class="reference external" href="https://www.ecmwf.int/en/about/who-we-are/member-states">member state</a>. In that case, you can contact your <a class="reference external" href="https://www.ecmwf.int/en/about/contact-us/computing-representatives">Computing Representative</a> for granting access. If you would like to use the local application mode to retrieve <strong>ERA5</strong> data you’d have to register at the <a class="reference external" href="https://cds.climate.copernicus.eu/user/register">Copernicus Climate Data Store</a> also.</dd>
    224 <dt><strong>Public user</strong>:</dt>
    225 <dd><p class="first">To be able to download public datasets with <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> such as <strong>ERA-Interim</strong> and <strong>CERA-20C</strong> (<strong>ERA5</strong> is not supported via ECMWF Web API anymore), the public user has to create an account at ECMWF.
    226 Use the registration at the ECMWF website by filling out this <cite>registration form</cite>.</p>
    227 <div class="last admonition note">
    228 <p class="first admonition-title">Note</p>
    229 <p class="last">In the future retrievement of <em>ERA5</em> will be possible via the CDS API for public users also. Then a registration at the <a class="reference external" href="https://cds.climate.copernicus.eu/user/register">Copernicus Climate Data Store</a> is needed in addition.</p>
     271<dt>tar ball</dt>
     272<dd><p class="first">You can download a tar ball with the latest release from the <a class="reference external" href="https://www.flexpart.eu/wiki/FpInputMetEcmwf">flex_extract page</a> from our <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code> community website and then untar the file.</p>
     273<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>tar -xvf &lt;flex_extract_vX.X.tar&gt;
     274</pre></div>
     275</div>
     276</dd>
     277<dt>git repo</dt>
     278<dd><p class="first">Alternatively, if you have <code class="docutils literal notranslate"><span class="pre">git</span></code> installed on your machine, and if you are interested to keep the code in a version control system, you may clone the latest version from our git repository master branch.</p>
     279<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>$ git clone --single-branch --branch master https://www.flexpart.eu/gitmob/flexpart
     280</pre></div>
    230281</div>
    231282</dd>
    232283</dl>
    233284</div>
    234 <div class="section" id="agree-on-licences-for-public-datasets">
    235 <span id="ref-licence"></span><h2>Agree on licences for public datasets<a class="headerlink" href="#agree-on-licences-for-public-datasets" title="Permalink to this headline">¶</a></h2>
    236 <p>Each public dataset which is intended to be downloaded by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> has its own licence which has to be accepted, regardless of the user group.</p>
    237 <p>For the <em>ERA-Interim</em> and <em>CERA-20C</em> datasets this can be done at the ECMWF website <a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/Available+ECMWF+Public+Datasets">Available ECMWF Public Datasets</a>. Log in and follow the licence links on the right side for each dataset and accept it.</p>
    238 <p>For the <em>ERA5</em> dataset this has to be done at the <a class="reference external" href="https://cds.climate.copernicus.eu/cdsapp#!/search?type=dataset">Climate Data Store (CDS) website</a>. Log in with your credentials and then select on the left panel the product type “Reanalysis” for finding <em>ERA5</em> datasets. Then follow the link of a title with <em>ERA5</em> (anyone) to the full dataset record, click on tab “Download data” and scroll down. There is a section “Terms of use” where you have to click the <span class="underline">Accept terms</span> button.</p>
    239 </div>
    240 <div class="section" id="download-flex-extract">
    241 <span id="ref-download"></span><h2>Download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code><a class="headerlink" href="#download-flex-extract" title="Permalink to this headline">¶</a></h2>
    242 <p>There are 2 options to download <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>:</p>
    243 <dl class="docutils">
    244 <dt>tar ball</dt>
    245 <dd><p class="first">You can download the latest prepared release tar ball from the <a class="reference external" href="https://www.flexpart.eu/downloads">download section</a>
    246 of our <code class="docutils literal notranslate"><span class="pre">FLEXPART</span></code> community website and then untar the file. Substitute
    247 the <strong>&lt;ID&gt;</strong> in the <code class="docutils literal notranslate"><span class="pre">wget</span></code> command with the ID-number of the <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>
    248 release tar ball in the list of downloads at the community website.</p>
    249 <div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>wget https://www.flexpart.eu/downloads/&lt;ID&gt;
    250 tar -xvf &lt;flex_extract_vX.X.tar&gt;
    251 </pre></div>
    252 </div>
    253 </dd>
    254 <dt>git repo</dt>
    255 <dd><p class="first">Or you can clone the current release version from our git repository master branch.</p>
    256 <div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>$ git clone https://www.flexpart.eu/gitmob/flexpart
    257 </pre></div>
    258 </div>
    259 </dd>
    260 </dl>
    261 </div>
    262285<div class="section" id="environment-requirements">
    263286<span id="ref-requirements"></span><h2>Environment requirements<a class="headerlink" href="#environment-requirements" title="Permalink to this headline">¶</a></h2>
    264 <p>This is a list of the general environment requirements for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>.
    265 What is required exactly for each application mode will be described in the specifc installation section.</p>
    266 <p>To run the python part of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> a <a class="reference external" href="https://docs.python.org/3/">Python 3</a> environment is needed.
    267 We tested <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> with a normal Linux Python package distribution and Anaconda Python.
    268 Except for <a class="reference external" href="https://www.python.org/downloads/">Python3</a> all are python packages which can be installed via <code class="docutils literal notranslate"><span class="pre">pip</span></code>.</p>
    269 <ul class="simple">
    270 <li><a class="reference external" href="https://www.python.org/downloads/">Python3</a> or <a class="reference external" href="https://www.anaconda.com/distribution/#download-section">Anaconda Python3</a></li>
    271 <li><a class="reference external" href="http://www.numpy.org/">numpy</a></li>
    272 <li><a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home">ecmwf-api-client</a> (Web Interface to ECMWF servers for datasets except ERA5)</li>
    273 <li><a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">cdsapi</a> (Web Interface to <a class="reference external" href="https://climate.copernicus.eu/">C3S</a> servers for ERA5)</li>
    274 <li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li>
    275 <li><a class="reference external" href="https://packages.debian.org/sid/python3-eccodes">eccodes for python</a></li>
    276 </ul>
    277 <p>For the Fortran part of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> we need the following distribution packages:</p>
    278 <ul class="simple">
    279 <li><a class="reference external" href="https://gcc.gnu.org/wiki/GFortran">gfortran</a></li>
    280 <li><a class="reference external" href="http://www.fftw.org">fftw3</a></li>
    281 <li><a class="reference external" href="https://software.ecmwf.int/wiki/display/ECC">eccodes</a></li>
    282 <li><a class="reference external" href="https://software.ecmwf.int/wiki/display/EMOS/Emoslib">emoslib</a></li>
    283 </ul>
     287<p>The software required for running <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> depends on the <a class="reference internal" href="Documentation/Overview/app_modes.html"><span class="doc">Application Modes</span></a> and therefore is described in the respective specific installation sections.</p>
     288<p>Generally speaking, <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> requires <a class="reference external" href="https://docs.python.org/3/">Python 3</a> and Fortran together with certain modules / libraries.
     289We tested <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> with the python3 package from the the GNU/Linux distribution and Anaconda Python. The required python3 modules should prefarably be installed as distribution packages, or alternatively using Python’s own package manager <code class="docutils literal notranslate"><span class="pre">pip</span></code> (this may mess up some aspects of your python installation, especially if you use <code class="docutils literal notranslate"><span class="pre">pip</span></code> as root. Think about using virtual environments.).</p>
    284290</div>
    285291<div class="section" id="installation-of-flex-extract">
    286292<span id="ref-install-fe"></span><h2>Installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code><a class="headerlink" href="#installation-of-flex-extract" title="Permalink to this headline">¶</a></h2>
    287 <p>The actual installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> will be done by executing a <cite>Shell</cite> script called <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code>.
    288 It defines some parameters and calls a Python script by giving the parameters as command line arguments.
    289 More information on the script and its parameters can be found at <a class="reference internal" href="Documentation/Input/setup.html"><span class="doc">The Installation Script - setup.sh</span></a>.</p>
     293<p>The actual installation of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> is done by executing a shell script called <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code>.
     294It defines some parameters and calls a Python script passing the parameters as command line arguments. For details, see <a class="reference internal" href="Documentation/Input/setup.html"><span class="doc">The Installation Script - setup.sh</span></a>.</p>
    290295<p>For each application mode installation section we describe the requirements for the explicit
    291296environment and how it is installed, test if it works and how the actual <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>
    292297installation has to be done. At the users local side not all software has to be present for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>.</p>
    293 <div class="section" id="remote-mode">
    294 <span id="ref-remote-mode"></span><h3>Remote mode<a class="headerlink" href="#remote-mode" title="Permalink to this headline">¶</a></h3>
    295 <div class="section" id="remote-environment-requirements">
    296 <span id="ref-req-remote"></span><h4>Remote environment requirements<a class="headerlink" href="#remote-environment-requirements" title="Permalink to this headline">¶</a></h4>
    297 <p>The environment for <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> on ECMWF servers has to provide these
    298 software packages and libraries:</p>
    299 <table border="1" class="docutils">
    300 <colgroup>
    301 <col width="61%" />
    302 <col width="39%" />
    303 </colgroup>
    304 <tbody valign="top">
    305 <tr class="row-odd"><td>Python part</td>
    306 <td>Fortran part</td>
    307 </tr>
    308 <tr class="row-even"><td><ul class="first last simple">
    309 <li><a class="reference external" href="https://www.python.org/downloads/">Python3</a></li>
    310 <li><a class="reference external" href="http://www.numpy.org/">numpy</a></li>
    311 <li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li>
    312 <li><a class="reference external" href="https://packages.debian.org/sid/python3-eccodes">eccodes for python</a></li>
    313 </ul>
    314 </td>
    315 <td><ul class="first last simple">
    316 <li><a class="reference external" href="https://gcc.gnu.org/wiki/GFortran">gfortran</a></li>
    317 <li><a class="reference external" href="http://www.fftw.org">fftw3</a></li>
    318 <li><a class="reference external" href="https://software.ecmwf.int/wiki/display/ECC">eccodes</a></li>
    319 <li><a class="reference external" href="https://software.ecmwf.int/wiki/display/EMOS/Emoslib">emoslib</a></li>
    320 </ul>
    321 </td>
    322 </tr>
    323 </tbody>
    324 </table>
    325 </div>
    326 <div class="section" id="prepare-remote-environment">
    327 <span id="ref-prep-remote"></span><h4>Prepare remote environment<a class="headerlink" href="#prepare-remote-environment" title="Permalink to this headline">¶</a></h4>
    328 <p>The environment on the ECMWF server (such as <em>ecgate</em> or <em>cca</em>) is already
    329 prepared. ECMWF server provide all libraries via a module system which is
    330 going to be selected by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> automatically.</p>
    331 </div>
    332 <div class="section" id="remote-installation">
    333 <span id="ref-install-remote"></span><h4>Remote installation<a class="headerlink" href="#remote-installation" title="Permalink to this headline">¶</a></h4>
    334 <p>First, log in on one of the ECMWF Linux server, such as <em>ecgate</em> or <em>cca/ccb</em>.
    335 Substitute <em>&lt;ecuid&gt;</em> with your ECMWF user name:</p>
    336 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ssh -X &lt;ecuid&gt;@ecaccess.ecmwf.int
    337 </pre></div>
    338 </div>
    339 <p>This will lead to the following output on the command line, asking for your
    340 password:</p>
    341 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>Authorized access only.
    342 
    343 ***************************************************************
    344    For further information, read the ECaccess documentation at:
    345 
    346    https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home
    347 
    348    You can also use ECaccess to load &amp; download files from your
    349    EChome, ECscratch or ECfs directories using the ECaccess FTP
    350    server:
    351 
    352    ftp://uid@ecaccess.ecmwf.int/
    353 
    354    Please note you must use your UID and ActivID code to login!
    355 ***************************************************************
    356 
    357 &lt;ecuid&gt;@131.130.157.5&#39;s password: ***
    358 Select hostname (ecgate, cca, ccb) [ecgate]: ecgate
    359 
    360 [&lt;ecuid&gt;@ecgb11 ~]$
    361 </pre></div>
    362 </div>
    363 <p>Then, copy the <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> tar ball (from section <a class="reference internal" href="#ref-download"><span class="std std-ref">Download flex_extract</span></a>)
    364 to the <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory of the ECMWF Linux server via <code class="docutils literal notranslate"><span class="pre">scp</span></code>.
    365 Substitute the <em>&lt;localuser&gt;</em> and <em>&lt;server.edu&gt;</em> placeholders with your credentials.
    366 Untar the file and change into the <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> root directory.</p>
    367 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>scp &lt;localuser&gt;@&lt;server.edu&gt;:/path/to/tarfile/flex_extract_vX.X.tar.gz  <span class="nv">$HOME</span>/
    368 <span class="nb">cd</span> <span class="nv">$HOME</span>
    369 tar xvf flex_extract_vX.X.tar.gz
    370 <span class="nb">cd</span> flex_extract_vX.X
    371 </pre></div>
    372 </div>
    373 <p>On these ECMWF servers, it is not necessary to prepare the environment or the
    374 <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for the Fortran program (<code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code>) as described above.
    375 All third party libraries are available from a module system. The <code class="docutils literal notranslate"><span class="pre">Makefile</span></code>
    376 is optimized for ECMWF servers and the compilation
    377 script <code class="docutils literal notranslate"><span class="pre">compilejob.ksh</span></code>, which will be submitted by <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> to the
    378 batch job queue at ECMWF, does load all relevant modules from the ECMWF’s module system.</p>
    379 <p>So there is just the need to execute the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script from the
    380 <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> root directory for installation.
    381 Before executing it, it is necessary to adapt some parameters from <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code>
    382 described in <a class="reference internal" href="Documentation/Input/setup.html"><span class="doc">The Installation Script - setup.sh</span></a>.</p>
    383 <p>Open <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> with your editor and adapt the values:</p>
    384 <table border="1" class="docutils">
    385 <colgroup>
    386 <col width="50%" />
    387 <col width="50%" />
    388 </colgroup>
    389 <tbody valign="top">
    390 <tr class="row-odd"><td>Take this for target = <strong>ectrans</strong></td>
    391 <td>Take this for target = <strong>cca</strong></td>
    392 </tr>
    393 <tr class="row-even"><td><div class="first last highlight-bash notranslate"><div class="highlight"><pre><span></span>...
    394 <span class="c1"># -----------------------------------------</span>
    395 <span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span>
    396 <span class="c1">#</span>
    397 <span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span>
    398 <span class="c1">#</span>
    399 <span class="nv">TARGET</span><span class="o">=</span><span class="s1">&#39;ecgate&#39;</span>
    400 <span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">&#39;Makefile.gfortran&#39;</span>
    401 <span class="nv">ECUID</span><span class="o">=</span><span class="s1">&#39;uid&#39;</span>
    402 <span class="nv">ECGID</span><span class="o">=</span><span class="s1">&#39;gid&#39;</span>
    403 <span class="nv">GATEWAY</span><span class="o">=</span>None
    404 <span class="nv">DESTINATION</span><span class="o">=</span>None
    405 <span class="nv">INSTALLDIR</span><span class="o">=</span>None
    406 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;job.template&#39;</span>
    407 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_EA5&#39;</span>
    408 ...
    409 </pre></div>
    410 </div>
    411 </td>
    412 <td><div class="first last highlight-bash notranslate"><div class="highlight"><pre><span></span>...
    413 <span class="c1"># -----------------------------------------</span>
    414 <span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span>
    415 <span class="c1">#</span>
    416 <span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span>
    417 <span class="c1">#</span>
    418 <span class="nv">TARGET</span><span class="o">=</span><span class="s1">&#39;cca&#39;</span>
    419 <span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">&#39;Makefile.CRAY&#39;</span>
    420 <span class="nv">ECUID</span><span class="o">=</span><span class="s1">&#39;uid&#39;</span>
    421 <span class="nv">ECGID</span><span class="o">=</span><span class="s1">&#39;gid&#39;</span>
    422 <span class="nv">GATEWAY</span><span class="o">=</span>None
    423 <span class="nv">DESTINATION</span><span class="o">=</span>None
    424 <span class="nv">INSTALLDIR</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
    425 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;job.template&#39;</span>
    426 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_EA5&#39;</span>
    427 ...
    428 </pre></div>
    429 </div>
    430 </td>
    431 </tr>
    432 </tbody>
    433 </table>
    434 <p><span class="underline">Please substitute the values of ECUID and ECGID
    435 with your own credentials and settings.</span></p>
    436 <div class="admonition note">
    437 <p class="first admonition-title">Note</p>
    438 <p class="last">If a local gateway server is available the transfer of files could be done
    439 via the <code class="docutils literal notranslate"><span class="pre">ECaccess</span></code> commands. Therefore a valid <em>GATEWAY</em> and <em>DESTINATION</em>
    440 have to be present and should be set in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> file.</p>
    441 </div>
    442 <p>Afterwards, type:</p>
    443 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>module load python3
    444 ./setup.sh
    445 </pre></div>
    446 </div>
    447 <p>to start the installation. You should see the following output at the command line.</p>
    448 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span>
    449 Create tarball ...
    450 Job compilation script has been submitted to ecgate <span class="k">for</span> installation in <span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/flex_extract_vX.X
    451 You should get an email with subject <span class="s2">&quot;flexcompile&quot;</span> within the next few minutes!
    452 </pre></div>
    453 </div>
    454 <p>The email content should look like this with a “SUCCESS” statement in the last line:</p>
    455 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp phgrreal.f
    456 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp grphreal.f
    457 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp ftrafo.f
    458 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90
    459 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f
    460 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90
    461 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib  -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib  -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3
    462 -rwxr-x---. <span class="m">1</span> USER at <span class="m">353134</span> May <span class="m">23</span> <span class="m">12</span>:27 CONVERT2
    463 SUCCESS!
    464 </pre></div>
    465 </div>
    466 </div>
    467 </div>
    468 <div class="section" id="gateway-mode">
    469 <span id="ref-gateway-mode"></span><h3>Gateway mode<a class="headerlink" href="#gateway-mode" title="Permalink to this headline">¶</a></h3>
    470 <div class="section" id="gateway-environment-requirements">
    471 <span id="ref-req-gateway"></span><h4>Gateway environment requirements<a class="headerlink" href="#gateway-environment-requirements" title="Permalink to this headline">¶</a></h4>
    472 <p>The environment on your local system has to provide these software packages
    473 and libraries, since <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> does only prepare the job script and send
    474 it to the ECMWF servers:</p>
    475 <ul class="simple">
    476 <li><a class="reference external" href="https://www.python.org/downloads/">Python3</a> or <a class="reference external" href="https://www.anaconda.com/distribution/#download-section">Anaconda Python3</a></li>
    477 <li><a class="reference external" href="http://www.numpy.org/">numpy</a></li>
    478 <li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li>
    479 </ul>
    480 </div>
    481 <div class="section" id="prepare-gateway-environment">
    482 <span id="ref-prep-gateway"></span><h4>Prepare gateway environment<a class="headerlink" href="#prepare-gateway-environment" title="Permalink to this headline">¶</a></h4>
    483 <p>The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights.
    484 The installation was tested on a <em>GNU/Linux Debian buster</em> and an <em>Ubuntu 18.04 Bionic Beaver</em> system.</p>
    485 <div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># On a Linux Debian or Ubuntu system do</span>
    486 <span class="c1"># (if not already available):</span>
    487 apt-get install python3
    488 apt-get install pip
    489 apt-get install genshi
    490 apt-get install numpy
    491 </pre></div>
    492 </div>
    493 </div>
    494 <div class="section" id="test-gateway-environment">
    495 <span id="ref-test-gateway"></span><h4>Test gateway environment<a class="headerlink" href="#test-gateway-environment" title="Permalink to this headline">¶</a></h4>
    496 <p>Check the availability of the python packages by typing <code class="docutils literal notranslate"><span class="pre">python3</span></code> in
    497 a terminal window and run the <code class="docutils literal notranslate"><span class="pre">import</span></code> commands in the python shell.
    498 If there are no error messages, you succeeded in setting up the environment.</p>
    499 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># check in python3 console</span>
    500 <span class="kn">import</span> <span class="nn">genshi</span>
    501 <span class="kn">import</span> <span class="nn">numpy</span>
    502 </pre></div>
    503 </div>
    504 </div>
    505 <div class="section" id="gateway-installation">
    506 <span id="ref-install-gateway"></span><h4>Gateway installation<a class="headerlink" href="#gateway-installation" title="Permalink to this headline">¶</a></h4>
    507 <p>In this mode, access to the ECMWF computing and archiving facilities is enabled through an ECaccess gateway server on a local member state server. The ECaccess framework is necessary to interactively submit jobs to the ECMWF batch system and to transfer files between ECMWF and local gateway server.</p>
    508 <p>Please see <a class="reference external" href="https://confluence.ecmwf.int/display/ECAC/ECaccess+Home">ECMWF’s instructions on gateway server</a> to establish the gateway server if not already in place.
    509 Additionally, to be able to use the Ecaccess file transfer service <strong>ectrans</strong> please also create an association.
    510 The easiest way is to visit the ECaccess Member State Gateway website (e.g. msgatway.ecmwf.int) and follow the instructions in the short <a class="reference external" href="https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf">ECaccess Presentation</a> (page 17 ff.). Additional documentation can be found on the <a class="reference external" href="https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans">ECMWF ectrans site</a>.</p>
    511 <p>After everything is set up you have to create an <em>ecaccess certificate</em> to be able to send and receive files from and to the ECMWF server. You can do this by using the <code class="docutils literal notranslate"><span class="pre">ecaccess-certificate-create</span></code> command on the gateway server. You will be prompted for your ECMWF member state user name and a password (which will be usually generated by a Token). This certificate has to be re-newed periodically (every 7 days).</p>
    512 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ecaccess-certificate-create
    513 Please enter your user-id: example_username
    514 Your passcode: ***
    515 </pre></div>
    516 </div>
    517 <p><code class="docutils literal notranslate"><span class="pre">Flex_extract</span></code> will be run on an ECMWF server which makes the setup the same as for the <strong>remote mode</strong>. In the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script <a class="reference external" href="Documentation/Input/setup.html">[ref]</a>, select the <code class="docutils literal notranslate"><span class="pre">Makefile.gfortran</span></code> for the <code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code> Fortran program and the ECMWF server (<em>target</em>) you would like to use.
    518 The job script, send to the job queue via the ECaccess software, selects again automatically the correct libraries from the module system. For enableing the file transfer you have to set the <em>ECUID</em>, <em>ECGID</em>, <em>GATEWAY</em> and <em>DESTINATION</em> parameter values.</p>
    519 <div class="literal-block-wrapper docutils container" id="setup-sh">
    520 <div class="code-block-caption"><span class="caption-text">‘Example settings for a gateway installation.’</span><a class="headerlink" href="#setup-sh" title="Permalink to this code">¶</a></div>
    521 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># -----------------------------------------------------------------</span>
    522 <span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span>
    523 <span class="c1">#</span>
    524 <span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span>
    525 <span class="c1">#</span>
    526 <span class="nv">TARGET</span><span class="o">=</span><span class="s1">&#39;ecgate&#39;</span>
    527 <span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">&#39;Makefile.gfortran&#39;</span>
    528 <span class="nv">ECUID</span><span class="o">=</span><span class="s1">&#39;uid&#39;</span>
    529 <span class="nv">ECGID</span><span class="o">=</span><span class="s1">&#39;gid&#39;</span>
    530 <span class="nv">GATEWAY</span><span class="o">=</span><span class="s1">&#39;server.example.edu&#39;</span>
    531 <span class="nv">DESTINATION</span><span class="o">=</span><span class="s1">&#39;example@genericSftp&#39;</span>
    532 <span class="nv">INSTALLDIR</span><span class="o">=</span>None
    533 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;job.template&#39;</span>
    534 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_EA5&#39;</span>
    535 </pre></div>
    536 </div>
    537 </div>
    538 <p>Afterwards, type:</p>
    539 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup.sh
    540 </pre></div>
    541 </div>
    542 <p>to start the installation. You should see the following output at the command line.</p>
    543 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span>
    544 Create tarball ...
    545 Job compilation script has been submitted to ecgate <span class="k">for</span> installation in <span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/flex_extract_vX.X
    546 You should get an email with subject <span class="s2">&quot;flexcompile&quot;</span> within the next few minutes!
    547 </pre></div>
    548 </div>
    549 <p>The email content should look like this with a “SUCCESS” statement in the last line:</p>
    550 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp phgrreal.f
    551 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp grphreal.f
    552 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp ftrafo.f
    553 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g rwGRIB2.f90
    554 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g posnam.f
    555 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -I. -I/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/include -g preconvert.f90
    556 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -g -O3 -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/eccodes/2.12.0/GNU/6.3.0/lib -leccodes_f90 -leccodes -ljasper -lpthread -L/usr/local/apps/jasper/1.900.1/LP64/lib -ljasper -lm -L/usr/local/apps/libemos/000455/GNU/6.3.0/lib  -Wl,-rpath,/usr/local/apps/libemos/000455/GNU/6.3.0/lib  -lemos.R64.D64.I32 -L/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -Wl,-rpath,/usr/local/apps/fftw/3.3.4/GNU/6.3.0/lib -lfftw3
    557 -rwxr-x---. <span class="m">1</span> USER at <span class="m">353134</span> May <span class="m">23</span> <span class="m">12</span>:27 CONVERT2
    558 SUCCESS!
    559 </pre></div>
    560 </div>
    561 </div>
    562 </div>
    563 <div class="section" id="local-mode">
    564 <span id="ref-local-mode"></span><h3>Local mode<a class="headerlink" href="#local-mode" title="Permalink to this headline">¶</a></h3>
    565 <div class="section" id="local-environment-requirements">
    566 <span id="ref-req-local"></span><h4>Local environment requirements<a class="headerlink" href="#local-environment-requirements" title="Permalink to this headline">¶</a></h4>
    567 <p>For the local access modes <strong>member</strong> and <strong>public</strong> there is no difference in
    568 the installation process.</p>
    569 <p>The environment on your local system has to provide these software packages
    570 and libraries, since all extraction and preparation is done at the local system:</p>
    571 <table border="1" class="docutils">
    572 <colgroup>
    573 <col width="74%" />
    574 <col width="26%" />
    575 </colgroup>
    576 <tbody valign="top">
    577 <tr class="row-odd"><td>Python part</td>
    578 <td>Fortran part</td>
    579 </tr>
    580 <tr class="row-even"><td><ul class="first last simple">
    581 <li><a class="reference external" href="https://www.python.org/downloads/">Python3</a></li>
    582 <li><a class="reference external" href="http://www.numpy.org/">numpy</a></li>
    583 <li><a class="reference external" href="https://genshi.edgewall.org/">genshi</a></li>
    584 <li><a class="reference external" href="https://packages.debian.org/sid/python3-eccodes">eccodes for python</a></li>
    585 <li><a class="reference external" href="https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home">ecmwf-api-client</a> (everything except ERA5)</li>
    586 <li><a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">cdsapi</a> (just for ERA5)</li>
    587 </ul>
    588 </td>
    589 <td><ul class="first last simple">
    590 <li><a class="reference external" href="https://gcc.gnu.org/wiki/GFortran">gfortran</a></li>
    591 <li><a class="reference external" href="http://www.fftw.org">fftw3</a></li>
    592 <li><a class="reference external" href="https://software.ecmwf.int/wiki/display/ECC">eccodes</a></li>
    593 <li><a class="reference external" href="https://software.ecmwf.int/wiki/display/EMOS/Emoslib">emoslib</a></li>
    594 </ul>
    595 </td>
    596 </tr>
    597 </tbody>
    598 </table>
    599 </div>
    600 <div class="section" id="prepare-local-environment">
    601 <span id="ref-prep-local"></span><h4>Prepare local environment<a class="headerlink" href="#prepare-local-environment" title="Permalink to this headline">¶</a></h4>
    602 <p>The easiest way to install all required packages is to use the package management system of your Linux distribution. To do so, it is necessary to use a user with admin rights.
    603 The installation was tested on a <em>Debian GNU/Linux buster/sid</em> and an <em>Ubuntu 18.04 Bionic Beaver</em> system.</p>
    604 <div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># On a Linux Debian or Ubuntu system do</span>
    605 <span class="c1"># (if not already available):</span>
    606 apt-get install python3 <span class="o">(</span>usually available on normal Linux systems<span class="o">)</span>
    607 apt-get install pip
    608 apt-get install gfortran
    609 apt-get install fftw3-dev
    610 apt-get install libeccodes-dev
    611 apt-get install libemos-dev
    612 apt-get install python3-eccodes
    613 apt-get install genshi
    614 apt-get install numpy
    615 pip install cdsapi
    616 pip install ecmwf-api-client
    617 </pre></div>
    618 </div>
    619 <div class="admonition note">
    620 <p class="first admonition-title">Note</p>
    621 <p>In case you would like to use Anaconda Python we recommend you follow the installation instructions of
    622 <a class="reference external" href="https://docs.anaconda.com/anaconda/install/linux/">Anaconda Python Installation for Linux</a> and then install the
    623 <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> package from <code class="docutils literal notranslate"><span class="pre">conda</span></code> with:</p>
    624 <div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>conda install conda-forge::python-eccodes
    625 </pre></div>
    626 </div>
    627 </div>
    628 <p>The CDS API (cdsapi) and the ECMWF Web API (ecmwf-api-client) have both to be installed since ERA5 can only be retrieved with the <code class="docutils literal notranslate"><span class="pre">CDS</span> <span class="pre">API</span></code> and all other datasets with the <code class="docutils literal notranslate"><span class="pre">ECMWF</span> <span class="pre">Web</span> <span class="pre">API</span></code>.</p>
    629 <div class="admonition note">
    630 <p class="first admonition-title">Note</p>
    631 <p class="last">Since <strong>public users</strong> currently don’t have access to the full <em>ERA5</em> dataset they can skip the installation of the <code class="docutils literal notranslate"><span class="pre">CDS</span> <span class="pre">API</span></code>.</p>
    632 </div>
    633 <p>Both user groups have to provide key’s with their credentials for the Web API’s in their home directory. Therefore, follow these instructions:</p>
    634 <dl class="docutils">
    635 <dt>ECMWF Web API:</dt>
    636 <dd>Go to <a class="reference external" href="https://confluence.ecmwf.int//display/WEBAPI/Access+MARS">MARS access</a> website and log in with your credentials. Afterwards, on this site in section “Install ECMWF KEY” the key for the ECMWF Web API should be listed. Please follow the instructions in this section under point 1 (save the key in a file <cite>.ecmwfapirc</cite> in your home directory).</dd>
    637 <dt>CDS API:</dt>
    638 <dd>Go to ‘CDS API registration’_ and register there too. Log in at the <a class="reference external" href="https://cds.climate.copernicus.eu/api-how-to">cdsapi</a> website and follow the instructions at section “Install the CDS API key” to save your credentials in a <cite>.cdsapirc</cite> file.</dd>
    639 </dl>
    640 </div>
    641 <div class="section" id="test-local-environment">
    642 <span id="ref-test-local"></span><h4>Test local environment<a class="headerlink" href="#test-local-environment" title="Permalink to this headline">¶</a></h4>
    643 <p>Check the availability of the system packages with <code class="docutils literal notranslate"><span class="pre">dpkg</span> <span class="pre">-s</span> <span class="pre">&lt;package-name&gt;</span> <span class="pre">|</span>&#160; <span class="pre">grep</span> <span class="pre">Status</span></code> or <code class="docutils literal notranslate"><span class="pre">rpm</span> <span class="pre">-q</span> <span class="pre">&lt;package_name&gt;</span></code>, depending on your system. For example:</p>
    644 <div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$ dpkg -s libeccodes-dev <span class="p">|</span>  grep Status
    645 <span class="c1"># or</span>
    646 $ rpm -q libeccodes-dev
    647 </pre></div>
    648 </div>
    649 <p>Afterwards, check the availability of the python packages by typing <code class="docutils literal notranslate"><span class="pre">python3</span></code> in
    650 a terminal window and run the <code class="docutils literal notranslate"><span class="pre">import</span></code> commands in the python shell. If there are no error messages, you succeeded in setting up the environment.</p>
    651 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># check in python3 console</span>
    652 <span class="kn">import</span> <span class="nn">eccodes</span>
    653 <span class="kn">import</span> <span class="nn">genshi</span>
    654 <span class="kn">import</span> <span class="nn">numpy</span>
    655 <span class="kn">import</span> <span class="nn">cdsapi</span>
    656 <span class="kn">import</span> <span class="nn">ecmwfapi</span>
    657 </pre></div>
    658 </div>
    659 <div class="section" id="test-the-web-api-s">
    660 <h5>Test the Web API’s<a class="headerlink" href="#test-the-web-api-s" title="Permalink to this headline">¶</a></h5>
    661 <p>You can start very simple test retrievals for both Web API’s to be sure that everything works. This is recommended to minimize the range of possible errors using <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> later on.</p>
    662 </div>
    663 <div class="section" id="ecmwf-web-api">
    664 <h5>ECMWF Web API<a class="headerlink" href="#ecmwf-web-api" title="Permalink to this headline">¶</a></h5>
    665 <table border="1" class="docutils">
    666 <colgroup>
    667 <col width="50%" />
    668 <col width="50%" />
    669 </colgroup>
    670 <tbody valign="top">
    671 <tr class="row-odd"><td>Please use this piece of python code for <strong>Member user</strong>:</td>
    672 <td>Please use this piece of python code for <strong>Public user</strong>:</td>
    673 </tr>
    674 <tr class="row-even"><td><div class="first last highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ecmwfapi</span> <span class="kn">import</span> <span class="n">ECMWFService</span>
    675 
    676 <span class="n">server</span> <span class="o">=</span> <span class="n">ECMWFService</span><span class="p">(</span><span class="s1">&#39;mars&#39;</span><span class="p">)</span>
    677 
    678 <span class="n">server</span><span class="o">.</span><span class="n">retrieve</span><span class="p">({</span>
    679     <span class="s1">&#39;stream&#39;</span>    <span class="p">:</span> <span class="s2">&quot;oper&quot;</span><span class="p">,</span>
    680     <span class="s1">&#39;levtype&#39;</span>   <span class="p">:</span> <span class="s2">&quot;sfc&quot;</span><span class="p">,</span>
    681     <span class="s1">&#39;param&#39;</span>     <span class="p">:</span> <span class="s2">&quot;165.128/166.128/167.128&quot;</span><span class="p">,</span>
    682     <span class="s1">&#39;dataset&#39;</span>   <span class="p">:</span> <span class="s2">&quot;interim&quot;</span><span class="p">,</span>
    683     <span class="s1">&#39;step&#39;</span>      <span class="p">:</span> <span class="s2">&quot;0&quot;</span><span class="p">,</span>
    684     <span class="s1">&#39;grid&#39;</span>      <span class="p">:</span> <span class="s2">&quot;0.75/0.75&quot;</span><span class="p">,</span>
    685     <span class="s1">&#39;time&#39;</span>      <span class="p">:</span> <span class="s2">&quot;00/06/12/18&quot;</span><span class="p">,</span>
    686     <span class="s1">&#39;date&#39;</span>      <span class="p">:</span> <span class="s2">&quot;2014-07-01/to/2014-07-31&quot;</span><span class="p">,</span>
    687     <span class="s1">&#39;type&#39;</span>      <span class="p">:</span> <span class="s2">&quot;an&quot;</span><span class="p">,</span>
    688     <span class="s1">&#39;class&#39;</span>     <span class="p">:</span> <span class="s2">&quot;ei&quot;</span><span class="p">,</span>
    689     <span class="s1">&#39;target&#39;</span>    <span class="p">:</span> <span class="s2">&quot;download_erainterim_ecmwfapi.grib&quot;</span>
    690 <span class="p">})</span>
    691 </pre></div>
    692 </div>
    693 </td>
    694 <td><div class="first last highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ecmwfapi</span> <span class="kn">import</span> <span class="n">ECMWFDataServer</span>
    695 
    696 <span class="n">server</span> <span class="o">=</span> <span class="n">ECMWFDataServer</span><span class="p">()</span>
    697 
    698 <span class="n">server</span><span class="o">.</span><span class="n">retrieve</span><span class="p">({</span>
    699     <span class="s1">&#39;stream&#39;</span>    <span class="p">:</span> <span class="s2">&quot;enda&quot;</span><span class="p">,</span>
    700     <span class="s1">&#39;levtype&#39;</span>   <span class="p">:</span> <span class="s2">&quot;sfc&quot;</span><span class="p">,</span>
    701     <span class="s1">&#39;param&#39;</span>     <span class="p">:</span> <span class="s2">&quot;165.128/166.128/167.128&quot;</span><span class="p">,</span>
    702     <span class="s1">&#39;dataset&#39;</span>   <span class="p">:</span> <span class="s2">&quot;cera20c&quot;</span><span class="p">,</span>
    703     <span class="s1">&#39;step&#39;</span>      <span class="p">:</span> <span class="s2">&quot;0&quot;</span><span class="p">,</span>
    704     <span class="s1">&#39;grid&#39;</span>      <span class="p">:</span> <span class="s2">&quot;1./1.&quot;</span><span class="p">,</span>
    705     <span class="s1">&#39;time&#39;</span>      <span class="p">:</span> <span class="s2">&quot;00/06/12/18&quot;</span><span class="p">,</span>
    706     <span class="s1">&#39;date&#39;</span>      <span class="p">:</span> <span class="s2">&quot;2000-07-01/to/2000-07-31&quot;</span><span class="p">,</span>
    707     <span class="s1">&#39;type&#39;</span>      <span class="p">:</span> <span class="s2">&quot;an&quot;</span><span class="p">,</span>
    708     <span class="s1">&#39;class&#39;</span>     <span class="p">:</span> <span class="s2">&quot;ep&quot;</span><span class="p">,</span>
    709     <span class="s1">&#39;target&#39;</span>    <span class="p">:</span> <span class="s2">&quot;download_cera20c_ecmwfapi.grib&quot;</span>
    710 <span class="p">})</span>
    711 </pre></div>
    712 </div>
    713 </td>
    714 </tr>
    715 </tbody>
    716 </table>
    717 </div>
    718 <div class="section" id="cds-api">
    719 <h5>CDS API<a class="headerlink" href="#cds-api" title="Permalink to this headline">¶</a></h5>
    720 <p>Since ERA5 extraction with CDS API might take some time due to the very high number of requests, you can start by retrieving some online stored pressure levels (not from MARS). This is usually much faster and gives a quick result to find out if the web API works:</p>
    721 <p>Please use this piece of python code to retrieve a small sample of <em>ERA5</em> pressure levels:</p>
    722 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cdsapi</span>
    723 
    724 <span class="n">c</span> <span class="o">=</span> <span class="n">cdsapi</span><span class="o">.</span><span class="n">Client</span><span class="p">()</span>
    725 
    726 <span class="n">c</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="s2">&quot;reanalysis-era5-pressure-levels&quot;</span><span class="p">,</span>
    727 <span class="p">{</span>
    728 <span class="s2">&quot;variable&quot;</span><span class="p">:</span> <span class="s2">&quot;temperature&quot;</span><span class="p">,</span>
    729 <span class="s2">&quot;pressure_level&quot;</span><span class="p">:</span> <span class="s2">&quot;1000&quot;</span><span class="p">,</span>
    730 <span class="s2">&quot;product_type&quot;</span><span class="p">:</span> <span class="s2">&quot;reanalysis&quot;</span><span class="p">,</span>
    731 <span class="s2">&quot;year&quot;</span><span class="p">:</span> <span class="s2">&quot;2008&quot;</span><span class="p">,</span>
    732 <span class="s2">&quot;month&quot;</span><span class="p">:</span> <span class="s2">&quot;01&quot;</span><span class="p">,</span>
    733 <span class="s2">&quot;day&quot;</span><span class="p">:</span> <span class="s2">&quot;01&quot;</span><span class="p">,</span>
    734 <span class="s2">&quot;time&quot;</span><span class="p">:</span> <span class="s2">&quot;12:00&quot;</span><span class="p">,</span>
    735 <span class="s2">&quot;format&quot;</span><span class="p">:</span> <span class="s2">&quot;grib&quot;</span>
    736 <span class="p">},</span>
    737 <span class="s2">&quot;download_cdsapi.grib&quot;</span><span class="p">)</span>
    738 </pre></div>
    739 </div>
    740 <p>Afterwards, when you know that the CDS API generally works, you can try to extract some
    741 data from the MARS archive. From the latest experience we know that this can take a while.</p>
    742 <p>Please use this piece of python code to retrieve a small <em>ERA5</em> data sample as a <strong>member user</strong>! The <strong>public user</strong> doesn’t have access to the full <em>ERA5</em> dataset!</p>
    743 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">cdsapi</span>
    744 
    745 <span class="n">c</span> <span class="o">=</span> <span class="n">cdsapi</span><span class="o">.</span><span class="n">Client</span><span class="p">()</span>
    746 
    747 <span class="n">c</span><span class="o">.</span><span class="n">retrieve</span><span class="p">(</span><span class="s1">&#39;reanalysis-era5-complete&#39;</span><span class="p">,</span>
    748 <span class="p">{</span>
    749     <span class="s1">&#39;class&#39;</span>   <span class="p">:</span> <span class="s1">&#39;ea&#39;</span><span class="p">,</span>
    750     <span class="s1">&#39;expver&#39;</span>  <span class="p">:</span> <span class="s1">&#39;1&#39;</span><span class="p">,</span>
    751     <span class="s1">&#39;stream&#39;</span>  <span class="p">:</span> <span class="s1">&#39;oper&#39;</span><span class="p">,</span>
    752     <span class="s1">&#39;type&#39;</span>    <span class="p">:</span> <span class="s1">&#39;fc&#39;</span><span class="p">,</span>
    753     <span class="s1">&#39;step&#39;</span>    <span class="p">:</span> <span class="s1">&#39;3/to/12/by/3&#39;</span><span class="p">,</span>
    754     <span class="s1">&#39;param&#39;</span>   <span class="p">:</span> <span class="s1">&#39;130.128&#39;</span><span class="p">,</span>
    755     <span class="s1">&#39;levtype&#39;</span> <span class="p">:</span> <span class="s1">&#39;ml&#39;</span><span class="p">,</span>
    756     <span class="s1">&#39;levelist&#39;</span><span class="p">:</span> <span class="s1">&#39;135/to/137&#39;</span><span class="p">,</span>
    757     <span class="s1">&#39;date&#39;</span>    <span class="p">:</span> <span class="s1">&#39;2013-01-01&#39;</span><span class="p">,</span>
    758     <span class="s1">&#39;time&#39;</span>    <span class="p">:</span> <span class="s1">&#39;06/18&#39;</span><span class="p">,</span>
    759     <span class="s1">&#39;area&#39;</span>    <span class="p">:</span> <span class="s1">&#39;50/-5/40/5&#39;</span><span class="p">,</span>
    760     <span class="s1">&#39;grid&#39;</span>    <span class="p">:</span> <span class="s1">&#39;1.0/1.0&#39;</span><span class="p">,</span>
    761     <span class="s1">&#39;format&#39;</span>  <span class="p">:</span> <span class="s1">&#39;grib&#39;</span><span class="p">,</span>
    762 <span class="p">},</span> <span class="s1">&#39;download_era5_cdsapi.grib&#39;</span><span class="p">)</span>
    763 </pre></div>
    764 </div>
    765 </div>
    766 </div>
    767 <div class="section" id="local-installation">
    768 <span id="ref-install-local"></span><h4>Local installation<a class="headerlink" href="#local-installation" title="Permalink to this headline">¶</a></h4>
    769 <p>First prepare the Fortran <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for your environment and set it
    770 in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script. (See section <span class="xref std std-ref">ref-convert</span> for information on
    771 the Fortran program.)
    772 <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code> has already two <code class="docutils literal notranslate"><span class="pre">Makefiles</span></code> prepared for te <code class="docutils literal notranslate"><span class="pre">gfortran</span></code> and
    773 the <code class="docutils literal notranslate"><span class="pre">ifort</span></code> compiler:</p>
     298<p>Select one of the following modes to install:</p>
    774299<blockquote>
    775 <div><ul class="simple">
    776 <li>Makefile.local.gfortran</li>
    777 <li>Makefile.local.ifort</li>
    778 </ul>
     300<div><p><a class="reference internal" href="Installation/remote.html"><span class="doc">Remote mode installation</span></a></p>
     301<p><a class="reference internal" href="Installation/gateway.html"><span class="doc">Gateway mode installation</span></a></p>
     302<p><a class="reference internal" href="Installation/local.html"><span class="doc">Local mode installation</span></a></p>
    779303</div></blockquote>
    780 <p>They can be found in the path <code class="docutils literal notranslate"><span class="pre">flex_extract_vX.X/source/fortran</span></code>, where
    781 <code class="docutils literal notranslate"><span class="pre">vX.X</span></code> should be substituted with the current version number.</p>
    782 <div class="admonition caution">
    783 <p class="first admonition-title">Caution</p>
    784 <p class="last">It is necessary to adapt <strong>ECCODES_INCLUDE_DIR</strong> and <strong>ECCODES_LIB</strong> in these
    785 <code class="docutils literal notranslate"><span class="pre">Makefiles</span></code>.</p>
    786 </div>
    787 <p>So starting from the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>,
    788 go to the <code class="docutils literal notranslate"><span class="pre">Fortran</span></code> source directory and open the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> of your
    789 choice to modify with an editor of your choice. We use the <code class="docutils literal notranslate"><span class="pre">nedit</span></code> in this case.</p>
    790 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> flex_extract_vX.X/source/fortran
    791 nedit Makefile.local.gfortran
    792 </pre></div>
    793 </div>
    794 <p>Edit the pathes to the <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> library on your local machine.</p>
    795 <div class="admonition caution">
    796 <p class="first admonition-title">Caution</p>
    797 <p>This can vary from system to system.
    798 It is suggested to use a command like</p>
    799 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># for the ECCODES_INCLUDE_DIR path do:</span>
    800 $ dpkg -L libeccodes-dev <span class="p">|</span> grep eccodes.mod
    801 <span class="c1"># for the ECCODES_LIB path do:</span>
    802 $ dpkg -L libeccodes-dev <span class="p">|</span> grep libeccodes.so
    803 </pre></div>
    804 </div>
    805 <p class="last">to find out the path to the <code class="docutils literal notranslate"><span class="pre">eccodes</span></code> library.</p>
    806 </div>
    807 <p>Substitute these paths in the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code> for parameters <strong>ECCODES_INCLUDE_DIR</strong>
    808 and <strong>ECCODES_LIB</strong> and save it.</p>
    809 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># these are the paths on a current Debian 10 Testing system (May 2019)</span>
    810 <span class="nv">ECCODES_INCLUDE_DIR</span><span class="o">=</span>/usr/lib/x86_64-linux-gnu/fortran/gfortran-mod-15/
    811 <span class="nv">ECCODES_LIB</span><span class="o">=</span> -L/usr/lib -leccodes_f90 -leccodes -lm
    812 </pre></div>
    813 </div>
    814 <p>The Fortran program called <code class="docutils literal notranslate"><span class="pre">CONVERT2</span></code> will be compiled during the
    815 installation process to get an executable. Therefore the <code class="docutils literal notranslate"><span class="pre">Makefile</span></code>
    816 has to be set in the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script.</p>
    817 <p>In the root directory of <code class="docutils literal notranslate"><span class="pre">flex_extract</span></code>, open the <code class="docutils literal notranslate"><span class="pre">setup.sh</span></code> script
    818 and adapt the installation parameters in the section labelled with
    819 “AVAILABLE COMMANDLINE ARGUMENTS TO SET” like shown below.</p>
    820 <div class="literal-block-wrapper docutils container" id="id2">
    821 <div class="code-block-caption"><span class="caption-text">‘Example settings for a local installation.’</span><a class="headerlink" href="#id2" title="Permalink to this code">¶</a></div>
    822 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>...
    823 <span class="c1"># -----------------------------------------------------------------</span>
    824 <span class="c1"># AVAILABLE COMMANDLINE ARGUMENTS TO SET</span>
    825 <span class="c1">#</span>
    826 <span class="c1"># THE USER HAS TO SPECIFY THESE PARAMETER</span>
    827 <span class="c1">#</span>
    828 <span class="nv">TARGET</span><span class="o">=</span><span class="s1">&#39;local&#39;</span>
    829 <span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">&#39;Makefile.local.gfortran&#39;</span>
    830 <span class="nv">ECUID</span><span class="o">=</span>None
    831 <span class="nv">ECGID</span><span class="o">=</span>None
    832 <span class="nv">GATEWAY</span><span class="o">=</span>None
    833 <span class="nv">DESTINATION</span><span class="o">=</span>None
    834 <span class="nv">INSTALLDIR</span><span class="o">=</span>None
    835 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">&#39;job.template&#39;</span>
    836 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">&#39;CONTROL_EA5&#39;</span>
    837 ...
    838 </pre></div>
    839 </div>
    840 </div>
    841 <p>Afterwards, type:</p>
    842 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ./setup.sh
    843 </pre></div>
    844 </div>
    845 <p>to start the installation. You should see the following output at the command line.</p>
    846 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Output of setup.sh</span>
    847 WARNING: installdir has not been specified
    848 flex_extract will be installed in here by compiling the Fortran <span class="nb">source</span> in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/source/fortran
    849 Install flex_extract_v7.1 software at <span class="nb">local</span> in directory /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1
    850 
    851 Using makefile: Makefile.local.gfortran
    852 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp phgrreal.f
    853 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp grphreal.f
    854 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -g -O3 -fopenmp ftrafo.f
    855 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 rwGRIB2.f90
    856 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 posnam.f
    857 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -c -O3 -fopenmp -I. -I/usr/local/gcc-4.9.3/grib_api-1.14.3/include -O3 preconvert.f90
    858 gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert<span class="o">=</span>big-endian  -O3 -O3 -fopenmp -o ./CONVERT2 ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o -L/usr/local/gcc-4.9.3/grib_api-1.14.3/lib -Bstatic  -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic  -lm  -ljasper -lemosR64
    859 
    860 -rwxrwxr-x. <span class="m">1</span> philipa8 tmc <span class="m">282992</span> May <span class="m">23</span> <span class="m">22</span>:27 ./CONVERT2
    861 </pre></div>
    862 </div>
    863 </div>
     304<div class="toctree-wrapper compound">
    864305</div>
    865306</div>
     
    897338</pre></div>
    898339</div>
    899 <p>Now go back to the root directoy:</p>
     340<p>Now go back to the root directory:</p>
    900341<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ <span class="nb">cd</span> ../../../
    901342</pre></div>
     
    918359    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
    919360     
    920         <a href="quick_start.html" class="btn btn-neutral float-right" title="Quick Start" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
     361        <a href="Installation/remote.html" class="btn btn-neutral float-right" title="Remote mode installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
    921362     
    922363     
    923         <a href="index.html" class="btn btn-neutral float-left" title="&lt;no title&gt;" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
     364        <a href="index.html" class="btn btn-neutral float-left" title="Welcome to flex_extract’s user documentation!" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
    924365     
    925366    </div>
  • Documentation/html/quick_start.html

    rba99230 r30f7911  
    4040    <link rel="search" title="Search" href="search.html" />
    4141    <link rel="next" title="ECMWF Data" href="ecmwf_data.html" />
    42     <link rel="prev" title="Installation" href="installation.html" />
     42    <link rel="prev" title="Local mode installation" href="Installation/local.html" />
    4343</head>
    4444
     
    476476<div class="admonition-todo admonition" id="index-0">
    477477<p class="first admonition-title">Todo</p>
    478 <p class="last">&#64;LEO: please check the complete describtion and functionality of the CONTROL FILEs</p>
     478<p class="last">&#64;LEO: please check the complete description and functionality of the CONTROL FILEs</p>
    479479</div>
    480480</div>
     
    630630     
    631631     
    632         <a href="installation.html" class="btn btn-neutral float-left" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
     632        <a href="Installation/local.html" class="btn btn-neutral float-left" title="Local mode installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
    633633     
    634634    </div>
  • Documentation/html/searchindex.js

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

    rba99230 r30f7911  
    166166<div class="admonition-todo admonition">
    167167<p class="first admonition-title">Todo</p>
    168 <p class="last">&#64;LEO: please check the complete describtion and functionality of the CONTROL FILEs</p>
     168<p class="last">&#64;LEO: please check the complete description and functionality of the CONTROL FILEs</p>
    169169</div>
    170170<p class="todo-source">(The <a class="reference internal" href="quick_start.html#index-0"><em>original entry</em></a> is located in /raid60/nas/tmc/Anne/Interpolation/flexextract/flex_extract_v7.1/For_developers/Sphinx/source/quick_start.rst, line 337.)</p>
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG