1 | ************************ |
---|
2 | Remote 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 | |
---|
44 | Remote environment requirements |
---|
45 | =============================== |
---|
46 | |
---|
47 | The environment for ``flex_extract`` on ECMWF servers has to provide these |
---|
48 | software 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 | |
---|
62 | Prepare remote environment |
---|
63 | ========================== |
---|
64 | |
---|
65 | The environment on the ECMWF server (such as *ecgate* or *cca*) is already |
---|
66 | prepared. ECMWF server provide all libraries via a module system which is |
---|
67 | going to be selected by ``flex_extract`` automatically. |
---|
68 | |
---|
69 | |
---|
70 | .. _ref-install-remote: |
---|
71 | |
---|
72 | Remote installation |
---|
73 | =================== |
---|
74 | |
---|
75 | First, log in on one of the ECMWF Linux server, such as *ecgate* or *cca/ccb*. |
---|
76 | Substitute *<ecuid>* with your ECMWF user name: |
---|
77 | |
---|
78 | .. code-block:: bash |
---|
79 | |
---|
80 | ssh -X <ecuid>@ecaccess.ecmwf.int |
---|
81 | |
---|
82 | This will lead to the following output on the command line, asking for your |
---|
83 | password: |
---|
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 | |
---|
109 | Then, copy the ``flex_extract`` tar ball (from section :ref:`ref-download`) |
---|
110 | to the ``$HOME`` directory of the ECMWF Linux server via ``scp``. |
---|
111 | Substitute the *<localuser>* and *<server.edu>* placeholders with your credentials. |
---|
112 | Untar 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 | |
---|
122 | On these ECMWF servers, it is not necessary to prepare the environment or the |
---|
123 | ``Makefile`` for the Fortran program (``CONVERT2``) as described above. |
---|
124 | All third party libraries are available from a module system. The ``Makefile`` |
---|
125 | is optimized for ECMWF servers and the compilation |
---|
126 | script ``compilejob.ksh``, which will be submitted by ``flex_extract`` to the |
---|
127 | batch job queue at ECMWF, does load all relevant modules from the ECMWF's module system. |
---|
128 | |
---|
129 | So there is just the need to execute the ``setup.sh`` script from the |
---|
130 | ``flex_extract`` root directory for installation. |
---|
131 | Before executing it, it is necessary to adapt some parameters from ``setup.sh`` |
---|
132 | described in :doc:`Documentation/Input/setup`. |
---|
133 | |
---|
134 | Open ``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 |
---|
160 | with 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 | |
---|
169 | Afterwards, type: |
---|
170 | |
---|
171 | .. code-block:: bash |
---|
172 | |
---|
173 | module load python3 |
---|
174 | ./setup.sh |
---|
175 | |
---|
176 | to 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 | |
---|
187 | The 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 | |
---|