Changeset 0b00607 in flex_extract.git for for_developers/Sphinx/source/Documentation/Overview
- Timestamp:
- Jul 29, 2019, 8:23:57 AM (5 years ago)
- Branches:
- master, ctbto, dev
- Children:
- bc27d19
- Parents:
- 41c9dbc
- Location:
- for_developers/Sphinx/source/Documentation/Overview
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
for_developers/Sphinx/source/Documentation/Overview/app_modes.rst
r41c9dbc r0b00607 14 14 Arising from the two user groups described in :doc:`../../Ecmwf/access`, ``flex_extract`` has 4 different :underline:`user application modes`: 15 15 16 .. _ref-remote-des :16 .. _ref-remote-desc: 17 17 18 18 1. Remote (member) 19 19 In the **Remote mode** the user works directly on ECMWF Linux member state server, such as ``ecgate`` or ``cca``. The software will be installed in the ``$HOME`` directory. The user does not need to install any of the additional third-party libraries mentioned in :ref:`ref-requirements` as ECMWF provides everything with environment modules. The module selection will be done automatically in ``flex_extract``. 20 20 21 .. _ gateway:21 .. _ref-gateway-desc: 22 22 23 23 2. Gateway (member) 24 The **Gateway mode** 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 ``ecaccess``. The installation script of ``flex_extract`` must be executed at the local gateway server such that the software will be installed in the ``$HOME`` directory at the ECMWF server and some extra setup is done in the local ``flex_extract`` directory at the local gateway server. For more information about establishing a gateway server please see section ???. For the **Gateway mode** the necessary environment has to be established which is described in :ref:`ref- local-prep`.24 The **Gateway mode** 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 ``ecaccess``. The installation script of ``flex_extract`` must be executed at the local gateway server such that the software will be installed in the ``$HOME`` directory at the ECMWF server and some extra setup is done in the local ``flex_extract`` directory at the local gateway server. For more information about establishing a gateway server please see section ???. For the **Gateway mode** the necessary environment has to be established which is described in :ref:`ref-prep-gateway`. 25 25 26 .. _ local:26 .. _ref-local-desc: 27 27 28 28 3. Local member 29 Scripts are installed and executed on a local machine, either in the current ``flex_extract`` 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 :ref:`ref-local- prep`.29 Scripts are installed and executed on a local machine, either in the current ``flex_extract`` 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 :ref:`ref-local-mode`. 30 30 31 31 4. Local public 32 Scripts are installed and executed on a local machine, either in the current ``flex_extract`` 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 :ref:`ref-local- prep`. 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.32 Scripts are installed and executed on a local machine, either in the current ``flex_extract`` 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 :ref:`ref-local-mode`. 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. 33 33 34 34 -
for_developers/Sphinx/source/Documentation/Overview/prog_flow.rst
r41c9dbc r0b00607 1 ************ 1 2 Program Flow 2 ================ 3 ************ 3 4 4 5 UNDER CONSTRUCTION 5 6 7 8 General program flow 9 ==================== 10 11 12 The following flow diagram shows the general steps performed by ``flex_extract``. 13 14 .. _ref-fig-submit: 15 16 .. figure:: ../../_files/submit.png 17 18 Overview of the call of python's ``submit.py`` script and raw sequence of working steps done in ``flex_extract``. 19 20 21 The ``submit.py`` Python program is called by the Shell script ``run.sh`` or ``run_local.sh`` and accomplish the following steps: 22 23 1. Setup the control data: 24 It gets all command-line and ``CONTROL`` file parameters as well as optionally the ECMWF user credentials. Depending the :doc:`app_modes`, it might also prepare a job script which is then send to the ECMWF queue. 25 2. Retrieves data from MARS: 26 It creates and sends MARS-requests either on the local machine or on ECMWF server, that receives the data and stores them in a specific format in GRIB files. If the parameter ``REQUEST`` was set ``1`` the data are not received but a file ``mars_requests.csv`` is created with a list of MARS requests and their settings. If it is set to ``2`` the file is created in addition to retrieving the data. The requests are created in an optimised way by splitting in time, jobs and parameters. 27 3. Post-process data to create final ``FLEXPART`` input files: 28 After all data is retrieved, the disaggregation of flux fields (`see here <../disagg.html>`_ ) is done as well as the calculation of vertical velocity (`see here <../vertco.html>`_) by the Fortran program ``COVERT2``. Eventually, the GRIB fields are merged together such that a single grib file per time step is available with all fields for ``FLEXPART``. Since model level fields are typically in *GRIB2* format whereas surface level fields are still in *GRIB1* format, they can be converted into GRIB2 if parameter ``FORMAT`` is set to *GRIB2*. Please note, however, that older versions of FLEXPART may have difficulties reading pure *GRIB2* files since some parameter IDs change in *GRIB2*. If the retrieval is executed remotely at ECMWF, the resulting files can be communicated to the local gateway server via the ``ECtrans`` utility if the parameter ``ECTRANS`` is set to ``1`` and the parameters ``GATEWAY``, ``DESTINATION`` have been set properly during installation. The status of the transfer can be checked with the command ``ecaccess-ectrans-list`` (on the local gateway server). If the script is executed locally the progress of the script can be followed with the usual Linux tools. 29 30 31 32 Workflows of different application modes 33 ======================================== 34 35 More details on how different the program flow is for the different :doc:`app_modes` is sketched in the following diagrams: 36 37 +-------------------------------------------------+------------------------------------------------+ 38 | .. figure:: ../../_files/mode_remote.png | .. figure:: ../../_files/mode_gateway.png | 39 +-------------------------------------------------+------------------------------------------------+ 40 41 +-------------------------------------------------+------------------------------------------------+ 42 | .. figure:: ../../_files/mode_local_member.png | .. figure:: ../../_files/mode_local_public.png | 43 +-------------------------------------------------+------------------------------------------------+ 44 45 46 Example application setting for a local member user 47 =================================================== 48 49 .. figure:: ../../_files/ex_runlocal_en.png 50 51 52 53 54 .. toctree:: 55 :hidden: 56 :maxdepth: 2
Note: See TracChangeset
for help on using the changeset viewer.