Changeset 30f7911 in flex_extract.git for Documentation
- Timestamp:
- Aug 20, 2019, 12:49:39 PM (5 years ago)
- Branches:
- master, ctbto, dev
- Children:
- 2255082
- Parents:
- 0690a6c
- Location:
- Documentation
- Files:
-
- 11 added
- 40 edited
Legend:
- Unmodified
- Added
- Removed
-
Documentation/html/Documentation/Api/api_python.html
rba99230 r30f7911 2216 2216 <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> 2217 2217 <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 2219 grib files. Nevertheless, the GRIB API tools are very basic and are in 2220 direct connection with the grib files. This class provides some higher 2221 functions which apply a set of GRIB API tools together in the respective 2222 context. So, the class initially contains a list of grib files (their 2223 names) and the using program then applies the methods directly on the 2224 class objects without having to think about how the actual GRIB API 2225 tools have to be arranged.</p> 2218 2226 <dl class="method"> 2219 2227 <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> 2221 2229 <dd><p>Add the content of another input grib file to the objects file but 2222 2230 only messages corresponding to keys/values passed to the function. … … 2234 2242 <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> 2235 2243 <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> 2237 2245 </ul> 2238 2246 </td> … … 2298 2306 <dl class="method"> 2299 2307 <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> 2301 2309 <dd><p>Opens the file to read the grib messages and then write 2302 2310 the selected messages (with wherekeys) to a new output file. … … 2319 2327 is written out the grib file (False) or only those 2320 2328 meeting 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> 2322 2330 </ul> 2323 2331 </td> -
Documentation/html/Documentation/Input/control.html
rba99230 r30f7911 227 227 detailed description with additional hints, possible values and some useful information about 228 228 the 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> 248 ECUID None 249 ECGID None 250 DESTINATION None 251 GATEWAY 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> 258 DEBUG <span class="m">0</span> 259 REQUEST <span class="m">0</span> 260 PUBLIC <span class="m">0</span> 261 OPER <span class="m">0</span> 262 ECSTORAGE <span class="m">0</span> 263 ECTRANS <span class="m">0</span> 264 PREFIX <span class="s1">'EN'</span> 265 ECFSDIR <span class="s1">'ectmp:/${USER}/econdemand/'</span> 266 MAILFAIL <span class="o">[</span><span class="s1">'${USER}'</span><span class="o">]</span> 267 MAILOPS <span class="o">[</span><span class="s1">'${USER}'</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> 273 START_DATE 274 END_DATE 275 DATE_CHUNK <span class="m">3</span> 276 DTIME None 277 BASETIME 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> 283 CLASS None 284 DATASET None 285 STREAM None 286 NUMBER <span class="s1">'OFF'</span> 287 EXPVER <span class="s1">'1'</span> 288 FORMAT <span class="s1">'GRIB1'</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> 295 TYPE None 296 TIME None 297 STEP None 298 MAXSTEP 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> 306 ACCTYPE None 307 ACCTIME None 308 ACCMAXSTEP None 309 RRINT <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> 315 GRID None 316 RESOL None 317 SMOOTH <span class="m">0</span> 318 LEFT None 319 LOWER None 320 UPPER None 321 RIGHT None 322 LEVEL None 323 LEVELIST 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> 329 GAUSS <span class="m">0</span> 330 ACCURACY <span class="m">24</span> 331 OMEGA <span class="m">0</span> 332 OMEGADIFF <span class="m">0</span> 333 ETA <span class="m">0</span> 334 ETADIFF <span class="m">0</span> 335 DPDETA <span class="m">1</span> 336 ETAPAR <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> 342 CWC <span class="m">0</span> 343 WRF <span class="m">0</span> 344 DOUBLEELDA <span class="m">0</span> 345 ADDPAR None 346 </pre></div> 347 </div> 348 </div> 229 349 <div class="toctree-wrapper compound"> 230 350 </div> -
Documentation/html/Documentation/Input/control_params.html
rba99230 r30f7911 422 422 </td> 423 423 </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>437 424 </tbody> 438 425 </table> … … 1092 1079 </thead> 1093 1080 <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> 1108 1082 </td> 1109 1083 <td><p class="first last">Integer</p> … … 1118 1092 </td> 1119 1093 </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> 1121 1095 </td> 1122 1096 <td><p class="first last">Integer</p> … … 1131 1105 </td> 1132 1106 </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> 1134 1108 </td> 1135 1109 <td><p class="first last">String [p1/p2/../pn]</p> -
Documentation/html/Documentation/Input/ecmwf_env.html
rba99230 r30f7911 194 194 <div class="section" id="ecmwf-user-credential-file-ecmwf-env"> 195 195 <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 transfer ing 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> 197 197 <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> 198 198 <div class="admonition note"> -
Documentation/html/Documentation/Input/fortran_makefile.html
rba99230 r30f7911 227 227 </div></blockquote> 228 228 <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>229 please see <a class="reference internal" href="../../Installation/local.html#ref-install-local"><span class="std std-ref">Local installation</span></a>.</p> 230 230 <div class="toctree-wrapper compound"> 231 231 </div> -
Documentation/html/Documentation/Input/run.html
rba99230 r30f7911 478 478 <div class="section" id="content-of-run-sh"> 479 479 <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">'ecgate'</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">'job.temp'</span> 510 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_OD.OPER.FC.gauss.global'</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">""</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">"</span><span class="nv">$START_DATE</span><span class="s2">"</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">" --start_date=</span><span class="nv">$START_DATE</span><span class="s2">"</span> 530 <span class="k">fi</span> 531 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$END_DATE</span><span class="s2">"</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">" --end_date=</span><span class="nv">$END_DATE</span><span class="s2">"</span> 533 <span class="k">fi</span> 534 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$DATE_CHUNK</span><span class="s2">"</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">" --date_chunk=</span><span class="nv">$DATE_CHUNK</span><span class="s2">"</span> 536 <span class="k">fi</span> 537 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$JOB_CHUNK</span><span class="s2">"</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">" --job_chunk=</span><span class="nv">$JOB_CHUNK</span><span class="s2">"</span> 539 <span class="k">fi</span> 540 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$BASETIME</span><span class="s2">"</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">" --basetime=</span><span class="nv">$BASETIME</span><span class="s2">"</span> 542 <span class="k">fi</span> 543 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$STEP</span><span class="s2">"</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">" --step=</span><span class="nv">$STEP</span><span class="s2">"</span> 545 <span class="k">fi</span> 546 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$LEVELIST</span><span class="s2">"</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">" --levelist=</span><span class="nv">$LEVELIST</span><span class="s2">"</span> 548 <span class="k">fi</span> 549 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$AREA</span><span class="s2">"</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">" --area=</span><span class="nv">$AREA</span><span class="s2">"</span> 551 <span class="k">fi</span> 552 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$INPUTDIR</span><span class="s2">"</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">" --inputdir=</span><span class="nv">$INPUTDIR</span><span class="s2">"</span> 554 <span class="k">fi</span> 555 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$OUTPUTDIR</span><span class="s2">"</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">" --outputdir=</span><span class="nv">$OUTPUTDIR</span><span class="s2">"</span> 557 <span class="k">fi</span> 558 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$PP_ID</span><span class="s2">"</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">" --ppid=</span><span class="nv">$PP_ID</span><span class="s2">"</span> 560 <span class="k">fi</span> 561 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$JOB_TEMPLATE</span><span class="s2">"</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">" --job_template=</span><span class="nv">$JOB_TEMPLATE</span><span class="s2">"</span> 563 <span class="k">fi</span> 564 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$QUEUE</span><span class="s2">"</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">" --queue=</span><span class="nv">$QUEUE</span><span class="s2">"</span> 566 <span class="k">fi</span> 567 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$CONTROLFILE</span><span class="s2">"</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">" --controlfile=</span><span class="nv">$CONTROLFILE</span><span class="s2">"</span> 569 <span class="k">fi</span> 570 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$DEBUG</span><span class="s2">"</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">" --debug=</span><span class="nv">$DEBUG</span><span class="s2">"</span> 572 <span class="k">fi</span> 573 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$REQUEST</span><span class="s2">"</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">" --request=</span><span class="nv">$REQUEST</span><span class="s2">"</span> 575 <span class="k">fi</span> 576 <span class="k">if</span> <span class="o">[</span> -n <span class="s2">"</span><span class="nv">$PUBLIC</span><span class="s2">"</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">" --public=</span><span class="nv">$PUBLIC</span><span class="s2">"</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> 480 587 </div> 481 588 <div class="section" id="usage-of-submit-py-optional"> -
Documentation/html/Documentation/Overview/app_modes.html
rba99230 r30f7911 99 99 </li> 100 100 <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>102 101 </ul> 103 102 </li> … … 199 198 <li><dl class="first docutils"> 200 199 <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> 202 201 </dl> 203 202 </li> … … 208 207 <li><dl class="first docutils"> 209 208 <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> 211 210 </dl> 212 211 </li> 213 212 <li><dl class="first docutils"> 214 213 <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> 216 215 </dl> 217 216 </li> -
Documentation/html/Ecmwf/access.html
rba99230 r30f7911 182 182 <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> 183 183 <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 licencesfor 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> 185 185 </dl> 186 186 <div class="admonition note"> -
Documentation/html/Support/faq.html
rba99230 r30f7911 193 193 <li>Check LD_LIBRARY_PATH environment variable if it contains all paths to the libs</li> 194 194 <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> 196 196 <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> 197 197 </ol> -
Documentation/html/_modules/ControlFile.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 186 186 <span class="c1"># Anne Philipp, Leopold Haimberger</span> 187 187 <span class="c1">#</span> 188 <span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> 189 <span class="c1">#</span> 188 190 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> 189 191 <span class="c1"># International License. To view a copy of this license, visit</span> 190 192 <span class="c1"># http://creativecommons.org/licenses/by/4.0/ or send a letter to</span> 191 193 <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>202 194 <span class="c1">#*******************************************************************************</span> 203 195 -
Documentation/html/_modules/EcFlexpart.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 204 204 <span class="c1"># Anne Philipp, Leopold Haimberger</span> 205 205 <span class="c1">#</span> 206 <span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> 207 <span class="c1">#</span> 206 208 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> 207 209 <span class="c1"># International License. To view a copy of this license, visit</span> … … 577 579 <span class="c1"># -----------------------------------------------------------------------</span> 578 580 <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">'OG__ML'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">'/Z/VO'</span> 580 <span class="k">if</span> <span class="s1">'/D'</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">'OG__ML'</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">'OG__ML'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">'/D'</span> 582 583 <span class="n">wrf_sfc</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'SP'</span><span class="p">,</span><span class="s1">'SKT'</span><span class="p">,</span><span class="s1">'SST'</span><span class="p">,</span><span class="s1">'CI'</span><span class="p">,</span><span class="s1">'STL1'</span><span class="p">,</span><span class="s1">'STL2'</span><span class="p">,</span> <span class="s1">'STL3'</span><span class="p">,</span><span class="s1">'STL4'</span><span class="p">,</span> 584 <span class="s1">'SWVL1'</span><span class="p">,</span><span class="s1">'SWVL2'</span><span class="p">,</span><span class="s1">'SWVL3'</span><span class="p">,</span><span class="s1">'SWVL4'</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">'OG__SL'</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">'OG__SL'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">'/'</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">'WRF VERSION IS UNDER CONSTRUCTION!'</span><span class="p">)</span> <span class="c1"># dummy argument</span> 588 589 <span class="c1">#self.params['OG__ML'][0] += '/Z/VO'</span> 590 <span class="c1">#if '/D' not in self.params['OG__ML'][0]:</span> 591 <span class="c1"># self.params['OG__ML'][0] += '/D'</span> 592 593 <span class="c1">#wrf_sfc = ['SP','SKT','SST','CI','STL1','STL2', 'STL3','STL4',</span> 594 <span class="c1"># 'SWVL1','SWVL2','SWVL3','SWVL4']</span> 595 <span class="c1">#for par in wrf_sfc:</span> 596 <span class="c1"># if par not in self.params['OG__SL'][0]:</span> 597 <span class="c1"># self.params['OG__SL'][0] += '/' + par</span> 588 598 589 599 <span class="k">return</span> … … 1008 1018 <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">></span> <span class="n">area</span><span class="p">[</span><span class="mi">3</span><span class="p">]:</span> 1009 1019 <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> 1012 1022 1013 1023 <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> … … 1246 1256 1247 1257 <span class="nb">print</span><span class="p">(</span><span class="s2">"outputfile = "</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">'w '</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">'w '</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">'w '</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">'wb'</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">'wb'</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">'wb'</span><span class="p">)</span> 1251 1261 1252 1262 <span class="c1"># read message for message and store relevant data fields, where</span> … … 1554 1564 <span class="c1"># write original time step to flux file as usual</span> 1555 1565 <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">'a '</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">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> 1557 1567 <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</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> 1558 1568 <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> … … 1560 1570 <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> 1561 1571 <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">'a '</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">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> 1563 1573 <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</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> 1564 1574 <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> … … 1568 1578 1569 1579 <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">'a '</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">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> 1571 1581 <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</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> 1572 1582 <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> … … 1574 1584 <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">'1'</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> 1575 1585 <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">'a '</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">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> 1577 1587 <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</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> 1578 1588 <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> … … 1582 1592 1583 1593 <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">'a '</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">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> 1585 1595 <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</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> 1586 1596 <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> … … 1588 1598 <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">'2'</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> 1589 1599 <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">'a '</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">'ab'</span><span class="p">,</span> <span class="n">strict</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> 1591 1601 <span class="n">wherekeynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'paramId'</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> 1592 1602 <span class="n">keynames</span><span class="o">=</span><span class="p">[</span><span class="s1">'perturbationNumber'</span><span class="p">,</span><span class="s1">'date'</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span><span class="s1">'stepRange'</span><span class="p">,</span><span class="s1">'values'</span><span class="p">],</span> … … 1618 1628 1619 1629 <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">'paramId'</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">'w '</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">'wb'</span><span class="p">)</span> 1621 1631 1622 1632 <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">'paramId'</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">'a '</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">'ab'</span><span class="p">)</span> 1624 1634 1625 1635 <span class="k">return</span> … … 1664 1674 <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> 1665 1675 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">'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'</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('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',</span> 1685 <span class="c1"># table128)</span> 1671 1686 1672 1687 <span class="c1"># these numbers are indices for the temporary files "fort.xx"</span> … … 1720 1735 <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">'fort.'</span> <span class="o">+</span> <span class="n">k</span><span class="p">)</span> 1721 1736 <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">'w '</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">'wb'</span><span class="p">)</span> 1723 1738 <span class="c1">#============================================================================================</span> 1724 1739 <span class="c1"># create correct timestamp from the three time informations</span> … … 1747 1762 <span class="k">continue</span> 1748 1763 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">'olddate'</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">'WRF'</span> <span class="o">+</span> <span class="n">cdate</span> <span class="o">+</span> <span class="s1">'.'</span> <span class="o">+</span> <span class="n">ctime</span> <span class="o">+</span> <span class="s1">'.000.grb2'</span><span class="p">),</span> <span class="s1">'w'</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 'olddate' not in locals() or cdate != olddate:</span> 1771 <span class="c1"># fwrf = open(os.path.join(c.outputdir,</span> 1772 <span class="c1"># 'WRF' + cdate + '.' + ctime + '.000.grb2'), 'wb')</span> 1773 <span class="c1"># olddate = cdate[:]</span> 1754 1774 <span class="c1">#============================================================================================</span> 1755 1775 <span class="c1"># savedfields remembers which fields were already used.</span> … … 1789 1809 <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">'22'</span><span class="p">])</span> 1790 1810 <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">'hybrid'</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 == 'hybrid': # 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> 1796 1821 <span class="k">else</span><span class="p">:</span> 1797 1822 <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> … … 1802 1827 <span class="k">else</span><span class="p">:</span> 1803 1828 <span class="nb">print</span><span class="p">(</span><span class="s1">'duplicate '</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">' not written'</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">'hybrid'</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 == 'hybrid' 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> 1816 1845 1817 1846 <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> … … 1883 1912 <span class="s1">'rb'</span><span class="p">),</span> <span class="n">fout</span><span class="p">)</span> 1884 1913 <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> 1887 1922 1888 1923 <span class="n">codes_index_release</span><span class="p">(</span><span class="n">iid</span><span class="p">)</span> … … 1918 1953 <span class="c1"># get a list of all prepared output files with control forecast (CF)</span> 1919 1954 <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">'*.N000'</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> 1920 1956 1921 1957 <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> … … 1931 1967 <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">'N000'</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> 1932 1968 <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 1934 1969 <span class="c1"># read an ensemble member</span> 1935 1970 <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">'N</span><span class="si">{:0>3}</span><span class="s1">'</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">'rb'</span><span class="p">)</span> -
Documentation/html/_modules/GribUtil.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 175 175 <span class="c1">#</span> 176 176 <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> 178 179 <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> 181 181 <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> 202 186 <span class="c1">#*******************************************************************************</span> 203 187 … … 215 199 <span class="sd">'''</span> 216 200 <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> 217 210 <span class="sd"> '''</span> 218 211 <span class="c1"># --------------------------------------------------------------------------</span> … … 260 253 <span class="n">codes_release</span><span class="p">)</span> 261 254 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">'r'</span><span class="p">)</span>263 264 255 <span class="n">return_list</span> <span class="o">=</span> <span class="p">[]</span> 265 256 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">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fileid</span><span class="p">:</span> 258 267 259 <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>271 260 272 261 <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> … … 292 281 <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> 293 282 294 <span class="n">fileid</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>295 296 283 <span class="k">return</span> <span class="n">return_list</span></div> 297 284 298 285 299 286 <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">'w '</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">'wb'</span><span class="p">):</span> 301 288 <span class="sd">'''Opens the file to read the grib messages and then write</span> 302 289 <span class="sd"> the selected messages (with wherekeys) to a new output file.</span> … … 330 317 331 318 <span class="sd"> filemode : :obj:`string`, optional</span> 332 <span class="sd"> Sets the mode for the output file. Default is "w ".</span>319 <span class="sd"> Sets the mode for the output file. Default is "wb".</span> 333 320 334 321 <span class="sd"> Return</span> … … 344 331 345 332 <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">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">fin</span><span class="p">:</span> 349 335 <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>353 336 354 337 <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span> … … 375 358 <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> 376 359 377 <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>378 360 <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> 379 361 … … 381 363 382 364 <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">'w '</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">'wb'</span><span class="p">):</span> 384 366 <span class="sd">'''Add the content of another input grib file to the objects file but</span> 385 367 <span class="sd"> only messages corresponding to keys/values passed to the function.</span> … … 404 386 405 387 <span class="sd"> filemode : :obj:`string`, optional</span> 406 <span class="sd"> Sets the mode for the output file. Default is "w ".</span>388 <span class="sd"> Sets the mode for the output file. Default is "wb".</span> 407 389 408 390 <span class="sd"> Return</span> … … 416 398 <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Give a value for each keyname!"</span><span class="p">)</span> 417 399 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">'rb'</span><span class="p">)</span> 400 419 401 <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> 420 402 421 403 <span class="n">fields</span> <span class="o">=</span> <span class="mi">0</span> 422 404 423 <span class="k">while</span> <span class="n">fields</span> <span class="o"><</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">'rb'</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">>=</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 424 410 <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>428 411 429 412 <span class="n">select</span> <span class="o">=</span> <span class="kc">True</span> … … 447 430 <span class="n">codes_release</span><span class="p">(</span><span class="n">gid</span><span class="p">)</span> 448 431 449 <span class="n">fin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>450 432 <span class="n">fout</span><span class="o">.</span><span class="n">close</span><span class="p">()</span> 451 433 -
Documentation/html/_modules/MarsRetrieval.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 185 185 <span class="c1"># Anne Philipp, Leopold Haimberger</span> 186 186 <span class="c1">#</span> 187 <span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> 188 <span class="c1">#</span> 187 189 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> 188 190 <span class="c1"># International License. To view a copy of this license, visit</span> … … 648 650 <span class="k">del</span> <span class="n">attrs</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> 649 651 650 <span class="n">attrs</span><span class="p">[</span><span class="s1">'ppengine'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'emos'</span>652 <span class="c1"># attrs['ppengine'] = 'emos'</span> 651 653 652 654 <span class="c1"># MARS request via Python script</span> … … 680 682 <span class="n">request_str</span> <span class="o">=</span> <span class="n">request_str</span> <span class="o">+</span> <span class="s1">','</span> <span class="o">+</span> <span class="n">key</span> <span class="o">+</span> <span class="s1">'='</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> 681 683 <span class="n">request_str</span> <span class="o">+=</span> <span class="s1">',target="'</span> <span class="o">+</span> <span class="n">target</span> <span class="o">+</span> <span class="s1">'"'</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">'mars'</span><span class="p"> ,</span> <span class="s1">'-e'</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">'mars'</span><span class="p">],</span> <span class="c1">#'-e'],</span> 683 685 <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> 684 686 <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 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 188 188 <span class="c1"># Anne Philipp, Leopold Haimberger</span> 189 189 <span class="c1">#</span> 190 <span class="c1"># SPDX-License-Identifier: CC-BY-4.0</span> 191 <span class="c1">#</span> 190 192 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> 191 193 <span class="c1"># International License. To view a copy of this license, visit</span> -
Documentation/html/_modules/checks.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 173 173 <span class="c1"># (C) Copyright 2014-2019.</span> 174 174 <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> 175 177 <span class="c1">#</span> 176 178 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> -
Documentation/html/_modules/disaggregation.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 184 184 <span class="c1"># (C) Copyright 2014-2019.</span> 185 185 <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> 186 188 <span class="c1">#</span> 187 189 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> -
Documentation/html/_modules/get_mars_data.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 190 190 <span class="c1"># (C) Copyright 2014-2019.</span> 191 191 <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> 192 194 <span class="c1">#</span> 193 195 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> -
Documentation/html/_modules/install.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 183 183 <span class="c1"># (C) Copyright 2014-2019.</span> 184 184 <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> 185 187 <span class="c1">#</span> 186 188 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> -
Documentation/html/_modules/prepare_flexpart.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 193 193 <span class="c1"># (C) Copyright 2014-2019.</span> 194 194 <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> 195 197 <span class="c1">#</span> 196 198 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> -
Documentation/html/_modules/submit.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 187 187 <span class="c1"># (C) Copyright 2014-2019.</span> 188 188 <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> 189 191 <span class="c1">#</span> 190 192 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> -
Documentation/html/_modules/tools.html
rba99230 r30f7911 161 161 162 162 <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> 164 164 <span class="c1"># -*- coding: utf-8 -*-</span> 165 165 <span class="c1">#*******************************************************************************</span> … … 188 188 <span class="c1"># (C) Copyright 2014-2019.</span> 189 189 <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> 190 192 <span class="c1">#</span> 191 193 <span class="c1"># This work is licensed under the Creative Commons Attribution 4.0</span> … … 923 925 <span class="c1"># --- open file ---</span> 924 926 <span class="nb">print</span><span class="p">(</span><span class="s2">"Opening file for getting information data --- </span><span class="si">%s</span><span class="s2">"</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">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> 926 928 <span class="c1"># load first message from file</span> 927 929 <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 3 3 **************************************** 4 4 5 This file contains the user credentials for working on ECMWF servers and transfer ing 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**.5 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 ``flex_extract_vX.X/run`` directory and will be created in the installation process for the application modes **remote** and **gateway**. 6 6 7 7 This file is based on the template ``ECMWF_ENV.template`` which is located in the ``templates`` directory. -
Documentation/html/_sources/index.rst.txt
rba99230 r30f7911 129 129 130 130 .. toctree:: 131 :maxdepth: 3131 :maxdepth: 4 132 132 :caption: Table of Contents: 133 133 -
Documentation/html/_sources/installation.rst.txt
rba99230 r30f7911 9 9 :hidden: 10 10 :maxdepth: 2 11 11 12 12 13 .. _Python 3: https://docs.python.org/3/ … … 37 38 38 39 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 memberstate users only) :ref:`[installation]<ref-remote-mode>`44 - Gateway ( for memberstate 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`.40 The ``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 42 At 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 49 Please follow the link :doc:`Documentation/Overview/app_modes` to get a description of the modes. 49 50 50 51 .. note:: 51 52 52 53 If you encounter any problems in the installation process, you can ask for :doc:`support`. 53 54 55 56 54 55 56 57 57 58 58 59 .. _ref-registration: … … 61 62 ===================== 62 63 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 64 The 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 82 Registration 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 79 90 80 91 81 92 .. _ref-licence: 82 93 83 Agree on licencesfor public datasets94 Licence agreement for public datasets 84 95 ===================================== 85 96 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.97 Each ECMWF public dataset has its own licence which has to be accepted, regardless of the user group. 87 98 88 99 For 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. 89 100 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 101 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 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. 92 102 93 103 … … 100 110 ========================= 101 111 102 There are 2options to download ``flex_extract``:112 There are two options to download ``flex_extract``: 103 113 104 114 tar 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 111 117 .. code-block:: bash 112 118 113 wget https://www.flexpart.eu/downloads/<ID>114 119 tar -xvf <flex_extract_vX.X.tar> 115 120 116 git repo 117 Or you can clone the current release version from our git repository master branch.121 git 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. 118 123 119 124 .. code-block:: bash 120 125 121 $ git clone https://www.flexpart.eu/gitmob/flexpart126 $ git clone --single-branch --branch master https://www.flexpart.eu/gitmob/flexpart 122 127 123 128 … … 130 135 ======================== 131 136 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`_ 137 The 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 140 Generally speaking, ``flex_extract`` requires `Python 3`_ and Fortran together with certain modules / libraries. 141 We 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.). 153 142 154 143 … … 162 151 ================================ 163 152 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`. 153 The actual installation of ``flex_extract`` is done by executing a shell script called ``setup.sh``. 154 It defines some parameters and calls a Python script passing the parameters as command line arguments. For details, see :doc:`Documentation/Input/setup`. 167 155 168 156 For each application mode installation section we describe the requirements for the explicit … … 171 159 172 160 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 161 Select 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 863 196 864 197 ``Flex_extract`` in combination with ``FLEXPART`` … … 912 245 SUCCESSFULLY FINISHED CONVERT_PRE: CONGRATULATIONS 913 246 914 Now go back to the root directo y:247 Now go back to the root directory: 915 248 916 249 .. code-block:: bash -
Documentation/html/_sources/quick_start.rst.txt
rba99230 r30f7911 337 337 .. todo:: 338 338 339 @LEO: please check the complete descri btion and functionality of the CONTROL FILEs339 @LEO: please check the complete description and functionality of the CONTROL FILEs 340 340 341 341 Operational data -
Documentation/html/index.html
rba99230 r30f7911 285 285 <li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul> 286 286 <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 licencesfor 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> 288 288 <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> 289 289 <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> 296 291 <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> 297 292 <li class="toctree-l2"><a class="reference internal" href="installation.html#test-installation">Test installation</a><ul> -
Documentation/html/installation.html
rba99230 r30f7911 39 39 <link rel="index" title="Index" href="genindex.html" /> 40 40 <link rel="search" title="Search" href="search.html" /> 41 <link rel="next" title=" Quick Start" href="quick_start.html" />42 <link rel="prev" title=" <no title>" 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" /> 43 43 </head> 44 44 … … 92 92 <li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul> 93 93 <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 licencesfor 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> 95 95 <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> 96 96 <li class="toctree-l2"><a class="reference internal" href="#environment-requirements">Environment requirements</a></li> 97 97 <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> 118 101 </ul> 119 102 </li> … … 203 186 <div class="toctree-wrapper compound"> 204 187 </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> 207 190 <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> 214 197 <div class="admonition note"> 215 198 <p class="first admonition-title">Note</p> … … 218 201 <div class="section" id="registration-at-ecmwf"> 219 202 <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> 221 270 <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 <flex_extract_vX.X.tar> 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> 230 281 </div> 231 282 </dd> 232 283 </dl> 233 284 </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. Substitute247 the <strong><ID></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/<ID>250 tar -xvf <flex_extract_vX.X.tar>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/flexpart257 </pre></div>258 </div>259 </dd>260 </dl>261 </div>262 285 <div class="section" id="environment-requirements"> 263 286 <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. 289 We 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> 284 290 </div> 285 291 <div class="section" id="installation-of-flex-extract"> 286 292 <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>. 294 It 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> 290 295 <p>For each application mode installation section we describe the requirements for the explicit 291 296 environment 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> 292 297 installation 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><ecuid></em> with your ECMWF user name:</p> 336 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ssh -X <ecuid>@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 & 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 <ecuid>@131.130.157.5's password: *** 358 Select hostname (ecgate, cca, ccb) [ecgate]: ecgate 359 360 [<ecuid>@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><localuser></em> and <em><server.edu></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 <localuser>@<server.edu>:/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">'ecgate'</span> 400 <span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.gfortran'</span> 401 <span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> 402 <span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</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">'job.template'</span> 407 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</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">'cca'</span> 419 <span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.CRAY'</span> 420 <span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> 421 <span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</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">''</span> 425 <span class="nv">JOB_TEMPLATE</span><span class="o">=</span><span class="s1">'job.template'</span> 426 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</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">"flexcompile"</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">'ecgate'</span> 527 <span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.gfortran'</span> 528 <span class="nv">ECUID</span><span class="o">=</span><span class="s1">'uid'</span> 529 <span class="nv">ECGID</span><span class="o">=</span><span class="s1">'gid'</span> 530 <span class="nv">GATEWAY</span><span class="o">=</span><span class="s1">'server.example.edu'</span> 531 <span class="nv">DESTINATION</span><span class="o">=</span><span class="s1">'example@genericSftp'</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">'job.template'</span> 534 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</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">"flexcompile"</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"><package-name></span> <span class="pre">|</span>  <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"><package_name></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">'mars'</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">'stream'</span> <span class="p">:</span> <span class="s2">"oper"</span><span class="p">,</span> 680 <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s2">"sfc"</span><span class="p">,</span> 681 <span class="s1">'param'</span> <span class="p">:</span> <span class="s2">"165.128/166.128/167.128"</span><span class="p">,</span> 682 <span class="s1">'dataset'</span> <span class="p">:</span> <span class="s2">"interim"</span><span class="p">,</span> 683 <span class="s1">'step'</span> <span class="p">:</span> <span class="s2">"0"</span><span class="p">,</span> 684 <span class="s1">'grid'</span> <span class="p">:</span> <span class="s2">"0.75/0.75"</span><span class="p">,</span> 685 <span class="s1">'time'</span> <span class="p">:</span> <span class="s2">"00/06/12/18"</span><span class="p">,</span> 686 <span class="s1">'date'</span> <span class="p">:</span> <span class="s2">"2014-07-01/to/2014-07-31"</span><span class="p">,</span> 687 <span class="s1">'type'</span> <span class="p">:</span> <span class="s2">"an"</span><span class="p">,</span> 688 <span class="s1">'class'</span> <span class="p">:</span> <span class="s2">"ei"</span><span class="p">,</span> 689 <span class="s1">'target'</span> <span class="p">:</span> <span class="s2">"download_erainterim_ecmwfapi.grib"</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">'stream'</span> <span class="p">:</span> <span class="s2">"enda"</span><span class="p">,</span> 700 <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s2">"sfc"</span><span class="p">,</span> 701 <span class="s1">'param'</span> <span class="p">:</span> <span class="s2">"165.128/166.128/167.128"</span><span class="p">,</span> 702 <span class="s1">'dataset'</span> <span class="p">:</span> <span class="s2">"cera20c"</span><span class="p">,</span> 703 <span class="s1">'step'</span> <span class="p">:</span> <span class="s2">"0"</span><span class="p">,</span> 704 <span class="s1">'grid'</span> <span class="p">:</span> <span class="s2">"1./1."</span><span class="p">,</span> 705 <span class="s1">'time'</span> <span class="p">:</span> <span class="s2">"00/06/12/18"</span><span class="p">,</span> 706 <span class="s1">'date'</span> <span class="p">:</span> <span class="s2">"2000-07-01/to/2000-07-31"</span><span class="p">,</span> 707 <span class="s1">'type'</span> <span class="p">:</span> <span class="s2">"an"</span><span class="p">,</span> 708 <span class="s1">'class'</span> <span class="p">:</span> <span class="s2">"ep"</span><span class="p">,</span> 709 <span class="s1">'target'</span> <span class="p">:</span> <span class="s2">"download_cera20c_ecmwfapi.grib"</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">"reanalysis-era5-pressure-levels"</span><span class="p">,</span> 727 <span class="p">{</span> 728 <span class="s2">"variable"</span><span class="p">:</span> <span class="s2">"temperature"</span><span class="p">,</span> 729 <span class="s2">"pressure_level"</span><span class="p">:</span> <span class="s2">"1000"</span><span class="p">,</span> 730 <span class="s2">"product_type"</span><span class="p">:</span> <span class="s2">"reanalysis"</span><span class="p">,</span> 731 <span class="s2">"year"</span><span class="p">:</span> <span class="s2">"2008"</span><span class="p">,</span> 732 <span class="s2">"month"</span><span class="p">:</span> <span class="s2">"01"</span><span class="p">,</span> 733 <span class="s2">"day"</span><span class="p">:</span> <span class="s2">"01"</span><span class="p">,</span> 734 <span class="s2">"time"</span><span class="p">:</span> <span class="s2">"12:00"</span><span class="p">,</span> 735 <span class="s2">"format"</span><span class="p">:</span> <span class="s2">"grib"</span> 736 <span class="p">},</span> 737 <span class="s2">"download_cdsapi.grib"</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">'reanalysis-era5-complete'</span><span class="p">,</span> 748 <span class="p">{</span> 749 <span class="s1">'class'</span> <span class="p">:</span> <span class="s1">'ea'</span><span class="p">,</span> 750 <span class="s1">'expver'</span> <span class="p">:</span> <span class="s1">'1'</span><span class="p">,</span> 751 <span class="s1">'stream'</span> <span class="p">:</span> <span class="s1">'oper'</span><span class="p">,</span> 752 <span class="s1">'type'</span> <span class="p">:</span> <span class="s1">'fc'</span><span class="p">,</span> 753 <span class="s1">'step'</span> <span class="p">:</span> <span class="s1">'3/to/12/by/3'</span><span class="p">,</span> 754 <span class="s1">'param'</span> <span class="p">:</span> <span class="s1">'130.128'</span><span class="p">,</span> 755 <span class="s1">'levtype'</span> <span class="p">:</span> <span class="s1">'ml'</span><span class="p">,</span> 756 <span class="s1">'levelist'</span><span class="p">:</span> <span class="s1">'135/to/137'</span><span class="p">,</span> 757 <span class="s1">'date'</span> <span class="p">:</span> <span class="s1">'2013-01-01'</span><span class="p">,</span> 758 <span class="s1">'time'</span> <span class="p">:</span> <span class="s1">'06/18'</span><span class="p">,</span> 759 <span class="s1">'area'</span> <span class="p">:</span> <span class="s1">'50/-5/40/5'</span><span class="p">,</span> 760 <span class="s1">'grid'</span> <span class="p">:</span> <span class="s1">'1.0/1.0'</span><span class="p">,</span> 761 <span class="s1">'format'</span> <span class="p">:</span> <span class="s1">'grib'</span><span class="p">,</span> 762 <span class="p">},</span> <span class="s1">'download_era5_cdsapi.grib'</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> 774 299 <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> 779 303 </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">'local'</span> 829 <span class="nv">MAKEFILE</span><span class="o">=</span><span class="s1">'Makefile.local.gfortran'</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">'job.template'</span> 836 <span class="nv">CONTROLFILE</span><span class="o">=</span><span class="s1">'CONTROL_EA5'</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"> 864 305 </div> 865 306 </div> … … 897 338 </pre></div> 898 339 </div> 899 <p>Now go back to the root directo y:</p>340 <p>Now go back to the root directory:</p> 900 341 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ <span class="nb">cd</span> ../../../ 901 342 </pre></div> … … 918 359 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> 919 360 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> 921 362 922 363 923 <a href="index.html" class="btn btn-neutral float-left" title=" <no title>" 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> 924 365 925 366 </div> -
Documentation/html/quick_start.html
rba99230 r30f7911 40 40 <link rel="search" title="Search" href="search.html" /> 41 41 <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" /> 43 43 </head> 44 44 … … 476 476 <div class="admonition-todo admonition" id="index-0"> 477 477 <p class="first admonition-title">Todo</p> 478 <p class="last">@LEO: please check the complete descri btion and functionality of the CONTROL FILEs</p>478 <p class="last">@LEO: please check the complete description and functionality of the CONTROL FILEs</p> 479 479 </div> 480 480 </div> … … 630 630 631 631 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> 633 633 634 634 </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 & 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}})1 Search.setIndex({docnames:["Developers/gen_docu","Documentation/Api/api_fortran","Documentation/Api/api_python","Documentation/Input/changes","Documentation/Input/compilejob","Documentation/Input/control","Documentation/Input/control_params","Documentation/Input/ecmwf_env","Documentation/Input/examples","Documentation/Input/fortran_makefile","Documentation/Input/jobscript","Documentation/Input/run","Documentation/Input/setup","Documentation/Input/templates","Documentation/Overview/app_modes","Documentation/Overview/prog_flow","Documentation/api","Documentation/disagg","Documentation/input","Documentation/output","Documentation/overview","Documentation/vertco","Ecmwf/access","Ecmwf/ec-links","Ecmwf/hintsecmwf","Ecmwf/msdata","Ecmwf/pubdata","Evaluation/metrics","Evaluation/staticcode","Evaluation/testcases","Installation/gateway","Installation/local","Installation/remote","Support/faq","Support/known_bugs_issues","authors","changelog","dev_guide","documentation","ecmwf_data","evaluation","index","installation","quick_start","support","todo"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.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 & 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 166 166 <div class="admonition-todo admonition"> 167 167 <p class="first admonition-title">Todo</p> 168 <p class="last">@LEO: please check the complete descri btion and functionality of the CONTROL FILEs</p>168 <p class="last">@LEO: please check the complete description and functionality of the CONTROL FILEs</p> 169 169 </div> 170 170 <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.