Changeset 0b00607 in flex_extract.git for for_developers/Sphinx/source/installation.rst


Ignore:
Timestamp:
Jul 29, 2019, 8:23:57 AM (5 years ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
master, ctbto, dev
Children:
bc27d19
Parents:
41c9dbc
Message:

Documentation status version 0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • for_developers/Sphinx/source/installation.rst

    r41c9dbc r0b00607  
    6767
    6868**Public user**:
    69     To be able to download all intended public datasets with ``flex_extract`` such as **ERA-Interim**, **CERA-20C** and **ERA5**, the public user has to create 2 accounts.
    70     At first, registration at the ECMWF website by filling out this `registration form`_ is needed to be able to retrieve *ERA-Interim* and *CERA-20C* data. For the retrievement of *ERA5* a registration at the `Copernicus Climate Data Store <https://cds.climate.copernicus.eu/user/register>`_ is needed in addition.
     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.
    7175   
    7276   
     
    7781.. _ref-licence:
    7882   
    79 Agree on Licences for Public Datasets
     83Agree on licences for public datasets
    8084=====================================
    8185
     
    123127.. _ref-requirements:
    124128 
    125 Environment Requirements
     129Environment requirements
    126130========================
    127131
     
    173177.. _ref-remote-mode:
    174178
    175 Remote Mode
     179Remote mode
    176180-----------
    177181
    178182.. _ref-req-remote:
    179183 
    180 Remote Environment Requirements
     184Remote environment requirements
    181185^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    182186
     
    196200.. _ref-prep-remote:
    197201
    198 Prepare Remote Environment
     202Prepare remote environment
    199203^^^^^^^^^^^^^^^^^^^^^^^^^^
    200204 
     
    206210.. _ref-install-remote:
    207211
    208 Remote Installation
     212Remote installation
    209213^^^^^^^^^^^^^^^^^^^
    210214
     
    266270``flex_extract`` root directory for installation.
    267271Before executing it, it is necessary to adapt some parameters from ``setup.sh``
    268 described in :ref:`ref-setup`.
     272described in :doc:`Documentation/Input/setup`.
    269273
    270274Open ``setup.sh`` with your editor and adapt the values: 
     
    275279| .. code-block:: bash                         | .. code-block:: bash                         |
    276280|                                              |                                              |
    277 |   ...                                        |   ...                                        |    
     281|   ...                                        |   ...                                        |   
    278282|   # -----------------------------------------|   # -----------------------------------------|
    279283|   # AVAILABLE COMMANDLINE ARGUMENTS TO SET   |   # AVAILABLE COMMANDLINE ARGUMENTS TO SET   |
     
    290294|   JOB_TEMPLATE='job.template'                |   JOB_TEMPLATE='job.template'                |
    291295|   CONTROLFILE='CONTROL_EA5'                  |   CONTROLFILE='CONTROL_EA5'                  |
    292 |   ...                                        |   ...                                        |    
     296|   ...                                        |   ...                                        |   
    293297+----------------------------------------------+----------------------------------------------+
    294298
     
    359363.. _ref-gateway-mode:
    360364
    361 Gateway Mode
     365Gateway mode
    362366------------
    363367
     
    365369.. _ref-req-gateway:
    366370 
    367 Gateway Environment Requirements
     371Gateway environment requirements
    368372^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    369373
     
    379383.. _ref-prep-gateway:
    380384
    381 Prepare Gateway Environment
     385Prepare gateway environment
    382386^^^^^^^^^^^^^^^^^^^^^^^^^^^
    383387
    384388The 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.
    385 The installation was tested on a *Debian GNU/Linux buster/sid* and an *Ubuntu 18.04 Bionic Beaver* system.
     389The installation was tested on a *GNU/Linux Debian buster* and an *Ubuntu 18.04 Bionic Beaver* system.
    386390
    387391.. code-block:: sh
     
    389393   # On a Linux Debian or Ubuntu system do
    390394   # (if not already available):
    391    sudo apt -PV install python3
    392    sudo apt -PV install pip
    393    pip install genshi
    394    pip install numpy
     395   apt-get install python3
     396   apt-get install pip
     397   apt-get install genshi
     398   apt-get install numpy
    395399
    396400
    397401.. _ref-test-gateway:
    398402
    399 Test Gateway Environment
     403Test gateway environment
    400404^^^^^^^^^^^^^^^^^^^^^^^^
    401405 
     
    414418.. _ref-install-gateway:
    415419
    416 Gateway Installation
     420Gateway installation
    417421^^^^^^^^^^^^^^^^^^^^
    418422
     
    431435   Your passcode: ***
    432436   
    433 ``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:`[ref] <ref-setup>`, select the ``Makefile.gfortran`` for the ``CONVERT2`` Fortran program and the ECMWF server (*target*) you would like to use.
     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.
    434438The 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.
    435439 
     
    506510.. _ref-local-mode:
    507511
    508 Local Mode
     512Local mode
    509513----------
    510514
     
    513517.. _ref-req-local:
    514518 
    515 Local Environment Requirements
     519Local environment requirements
    516520^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    517521
     
    536540.. _ref-prep-local:
    537541
    538 Prepare Local Environment
     542Prepare local environment
    539543^^^^^^^^^^^^^^^^^^^^^^^^^
    540544
     
    546550   # On a Linux Debian or Ubuntu system do
    547551   # (if not already available):
    548    sudo apt -PV install python3
    549    sudo apt -PV install pip
    550    sudo apt -PV install gfortran
    551    sudo apt -PV install fftw3-dev
    552    sudo apt -PV install libeccodes-dev
    553    sudo apt -PV install libemos-dev
    554    sudo apt -PV install python3-eccodes
    555    pip install genshi
    556    pip install numpy
     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
    557561   pip install cdsapi
    558562   pip install ecmwf-api-client
     
    571575The 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``.     
    572576       
     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   
    573581Both user groups have to provide key's with their credentials for the Web API's in their home directory. Therefore, follow these instructions:
    574582   
     
    582590.. _ref-test-local:
    583591   
    584 Test Local Environment
     592Test local environment
    585593^^^^^^^^^^^^^^^^^^^^^^
    586594
     
    615623"""""""""""""
    616624
    617 **Member user**
    618     Please use this piece of python code:
    619 
    620     .. code-block:: python
    621 
    622         from ecmwfapi import ECMWFService
     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
    623650           
    624         server = ECMWFService('mars')
    625            
    626         server.retrieve({
    627             'stream'    : "oper",
    628             'levtype'   : "sfc",
    629             'param'     : "165.128/166.128/167.128",
    630             'dataset'   : "interim",
    631             'step'      : "0",
    632             'grid'      : "0.75/0.75",
    633             'time'      : "00/06/12/18",
    634             'date'      : "2014-07-01/to/2014-07-31",
    635             'type'      : "an",
    636             'class'     : "ei",
    637             'target'    : "download_erainterim_ecmwfapi.grib"
    638         })
    639 
    640 
    641 **Public user**
    642     Please use this piece of python code:
    643 
    644     .. code-block:: python
    645 
    646         from ecmwfapi import ECMWFDataServer
    647            
    648         server = ECMWFDataServer()
    649            
    650         server.retrieve({
    651             'stream'    : "enda",
    652             'levtype'   : "sfc",
    653             'param'     : "165.128/166.128/167.128",
    654             'dataset'   : "cera20c",
    655             'step'      : "0",
    656             'grid'      : "1./1.",
    657             'time'      : "00/06/12/18",
    658             'date'      : "2000-07-01/to/2000-07-31",
    659             'type'      : "an",
    660             'class'     : "ep",
    661             'target'    : "download_cera20c_ecmwfapi.grib"
    662         })
    663651   
    664652CDS API
     
    667655Since 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:
    668656
    669 **All users**
    670     Please use this piece of python code:
    671    
    672     .. code-block:: python
    673 
    674         import cdsapi
    675        
    676         c = cdsapi.Client()
    677        
    678         c.retrieve("reanalysis-era5-pressure-levels",
    679         {
    680         "variable": "temperature",
    681         "pressure_level": "1000",
    682         "product_type": "reanalysis",
    683         "year": "2008",
    684         "month": "01",
    685         "day": "01",
    686         "time": "12:00",
    687         "format": "grib"
    688         },
    689         "download_cdsapi.grib")
     657Please 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")
    690677
    691678
    692679Afterwards, when you know that the CDS API generally works, you can try to extract some
    693 data from the MARS archive. From the latest experience this can take a while.   
    694 
    695 **Member user**
    696     Please use this piece of python code:
    697    
    698     .. code-block:: python
    699 
    700        import cdsapi
    701        
    702        c = cdsapi.Client()
    703        
    704        c.retrieve('reanalysis-era5-complete',
    705        {
    706            'class'   : 'ea',
    707            'expver'  : '1',
    708            'stream'  : 'oper',
    709            'type'    : 'fc',
    710            'step'    : '3/to/12/by/3',
    711            'param'   : '130.128',
    712            'levtype' : 'ml',
    713            'levelist': '135/to/137',
    714            'date'    : '2013-01-01',
    715            'time'    : '06/18',
    716            'area'    : '50/-5/40/5',
    717            'grid'    : '1.0/1.0',
    718            'format'  : 'grib',
    719        }, 'download_era5_cdsapi.grib')
    720 
    721 
    722 **Public user**
     680data from the MARS archive. From the latest experience we know that this can take a while.   
     681
     682.. **Member user**
     683
     684Please 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**
    723714    Please use this piece of python code:
    724715
     
    754745.. _ref-install-local:
    755746
    756 Local Installation
     747Local installation
    757748^^^^^^^^^^^^^^^^^^
    758749
     
    763754the ``ifort`` compiler:
    764755
    765  *Makefile.local.gfortran
    766  *Makefile.local.ifort
     756 * Makefile.local.gfortran
     757 * Makefile.local.ifort
    767758
    768759They can be found in the path ``flex_extract_vX.X/source/fortran``, where
     
    928919   
    929920
    930 Mars request test
    931 -----------------
    932 
    933     IN PREPARATION ...
    934921
    935922Full test
    936923---------
    937924
    938     IN PREPARATION ...
    939 
    940    
     925    see :doc:`quick_start`
     926
     927   
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG