source: flex_extract.git/Documentation/html/_sources/Installation/remote.rst.txt @ 30f7911

ctbtodev
Last change on this file since 30f7911 was 30f7911, checked in by Anne Philipp <anne.philipp@…>, 5 years ago

reviewed installation section of online documentation; minor corrections

  • Property mode set to 100644
File size: 9.5 KB
Line 
1************************
2Remote mode installation
3************************
4
5.. role:: underline
6    :class: underline
7   
8.. toctree::
9    :hidden:
10    :maxdepth: 2   
11   
12     
13.. _Python 3: https://docs.python.org/3/
14.. _Python3: https://www.python.org/downloads/
15.. _Anaconda Python3: https://www.anaconda.com/distribution/#download-section
16
17.. _numpy: http://www.numpy.org/
18.. _ecmwf-api-client: https://confluence.ecmwf.int/display/WEBAPI/ECMWF+Web+API+Home
19.. _cdsapi: https://cds.climate.copernicus.eu/api-how-to
20.. _genshi: https://genshi.edgewall.org/
21.. _eccodes for python: https://packages.debian.org/sid/python3-eccodes
22.. _eccodes for conda: https://anaconda.org/conda-forge/eccodes
23.. _gfortran: https://gcc.gnu.org/wiki/GFortran
24.. _fftw3: http://www.fftw.org
25.. _eccodes: https://software.ecmwf.int/wiki/display/ECC
26.. _emoslib: https://software.ecmwf.int/wiki/display/EMOS/Emoslib
27.. _member state: https://www.ecmwf.int/en/about/who-we-are/member-states
28.. _registration form: https://apps.ecmwf.int/registration/
29.. _CDS API registration: https://cds.climate.copernicus.eu/user/register
30.. _ECMWF ectrans site: https://confluence.ecmwf.int/display/ECAC/Unattended+file+transfer+-+ectrans
31.. _ECaccess Presentation: https://confluence.ecmwf.int/download/attachments/45759146/ECaccess.pdf
32.. _ECMWF's instructions on gateway server: https://confluence.ecmwf.int/display/ECAC/ECaccess+Home
33.. _Computing Representative: https://www.ecmwf.int/en/about/contact-us/computing-representatives
34.. _MARS access: https://confluence.ecmwf.int//display/WEBAPI/Access+MARS
35
36.. _download section: https://www.flexpart.eu/downloads
37
38
39.. _ref-remote-mode:
40
41
42.. _ref-req-remote:
43 
44Remote environment requirements
45===============================
46
47The environment for ``flex_extract`` on ECMWF servers has to provide these
48software packages and libraries:
49   
50+---------------------------+-----------------+
51|  Python part              | Fortran part    |
52+---------------------------+-----------------+
53| * `Python3`_              | * `gfortran`_   |
54| * `numpy`_                | * `fftw3`_      |
55| * `genshi`_               | * `eccodes`_    |
56| * `eccodes for python`_   | * `emoslib`_    |
57+---------------------------+-----------------+
58
59
60.. _ref-prep-remote:
61
62Prepare remote environment
63==========================
64 
65The environment on the ECMWF server (such as *ecgate* or *cca*) is already
66prepared. ECMWF server provide all libraries via a module system which is
67going to be selected by ``flex_extract`` automatically.
68
69
70.. _ref-install-remote:
71
72Remote installation
73===================
74
75First, log in on one of the ECMWF Linux server, such as *ecgate* or *cca/ccb*.
76Substitute *<ecuid>* with your ECMWF user name:
77
78.. code-block:: bash
79   
80   ssh -X <ecuid>@ecaccess.ecmwf.int
81
82This will lead to the following output on the command line, asking for your
83password:
84   
85.. code-block:: bash
86
87   Authorized access only.
88
89   ***************************************************************
90      For further information, read the ECaccess documentation at:
91
92      https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home
93
94      You can also use ECaccess to load & download files from your
95      EChome, ECscratch or ECfs directories using the ECaccess FTP
96      server:
97
98      ftp://uid@ecaccess.ecmwf.int/
99
100      Please note you must use your UID and ActivID code to login!
101   ***************************************************************
102
103   <ecuid>@131.130.157.5's password: ***
104   Select hostname (ecgate, cca, ccb) [ecgate]: ecgate
105
106   [<ecuid>@ecgb11 ~]$
107   
108   
109Then, copy the ``flex_extract`` tar ball (from section :ref:`ref-download`)
110to the ``$HOME`` directory of the ECMWF Linux server via ``scp``.
111Substitute the *<localuser>* and *<server.edu>* placeholders with your credentials.
112Untar the file and change into the ``flex_extract`` root directory.
113
114.. code-block:: bash
115
116   scp <localuser>@<server.edu>:/path/to/tarfile/flex_extract_vX.X.tar.gz  $HOME/
117   cd $HOME
118   tar xvf flex_extract_vX.X.tar.gz
119   cd flex_extract_vX.X
120   
121
122On these ECMWF servers, it is not necessary to prepare the environment or the
123``Makefile`` for the Fortran program (``CONVERT2``) as described above.
124All third party libraries are available from a module system. The ``Makefile``
125is optimized for ECMWF servers and the compilation
126script ``compilejob.ksh``, which will be submitted by ``flex_extract`` to the
127batch job queue at ECMWF, does load all relevant modules from the ECMWF's module system.
128
129So there is just the need to execute the ``setup.sh`` script from the
130``flex_extract`` root directory for installation.
131Before executing it, it is necessary to adapt some parameters from ``setup.sh``
132described in :doc:`Documentation/Input/setup`.
133
134Open ``setup.sh`` with your editor and adapt the values: 
135
136+----------------------------------------------+----------------------------------------------+   
137|   Take this for target = **ectrans**         |  Take this for target = **cca**              |
138+----------------------------------------------+----------------------------------------------+
139| .. code-block:: bash                         | .. code-block:: bash                         |
140|                                              |                                              |
141|   ...                                        |   ...                                        |   
142|   # -----------------------------------------|   # -----------------------------------------|
143|   # AVAILABLE COMMANDLINE ARGUMENTS TO SET   |   # AVAILABLE COMMANDLINE ARGUMENTS TO SET   |
144|   #                                          |   #                                          | 
145|   # THE USER HAS TO SPECIFY THESE PARAMETER  |   # THE USER HAS TO SPECIFY THESE PARAMETER  |
146|   #                                          |   #                                          |
147|   TARGET='ecgate'                            |   TARGET='cca'                               |
148|   MAKEFILE='Makefile.gfortran'               |   MAKEFILE='Makefile.CRAY'                   | 
149|   ECUID='uid'                                |   ECUID='uid'                                | 
150|   ECGID='gid'                                |   ECGID='gid'                                |
151|   GATEWAY=None                               |   GATEWAY=None                               |
152|   DESTINATION=None                           |   DESTINATION=None                           |
153|   INSTALLDIR=None                            |   INSTALLDIR=''                              |
154|   JOB_TEMPLATE='job.template'                |   JOB_TEMPLATE='job.template'                |
155|   CONTROLFILE='CONTROL_EA5'                  |   CONTROLFILE='CONTROL_EA5'                  |
156|   ...                                        |   ...                                        |   
157+----------------------------------------------+----------------------------------------------+
158
159:underline:`Please substitute the values of ECUID and ECGID
160with your own credentials and settings.`
161
162.. note::
163
164   If a local gateway server is available the transfer of files could be done
165   via the ``ECaccess`` commands. Therefore a valid *GATEWAY* and *DESTINATION*
166   have to be present and should be set in the ``setup.sh`` file.
167
168
169Afterwards, type:
170
171.. code-block:: bash
172
173   module load python3   
174   ./setup.sh
175   
176to start the installation. You should see the following output at the command line.
177   
178   
179.. code-block:: bash
180
181   # Output of setup.sh
182   Create tarball ...
183   Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X
184   You should get an email with subject "flexcompile" within the next few minutes!
185
186   
187The email content should look like this with a "SUCCESS" statement in the last line:
188
189.. code-block:: bash
190
191    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp phgrreal.f
192    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp grphreal.f
193    gfortran   -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore  -ffixed-line-length-132 -fopenmp  -fconvert=big-endian  -c -g -O3 -fopenmp ftrafo.f
194    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
195    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
196    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
197    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   
198    -rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2
199    SUCCESS!   
200
201
202   
203
204   
Note: See TracBrowser for help on using the repository browser.
hosted by ZAMG