Remote mode installation¶
Remote environment requirements¶
The environment for flex_extract
on ECMWF servers has to provide these
software packages and libraries:
Python part | Fortran part |
Prepare remote environment¶
The environment on the ECMWF server (such as ecgate or cca) is already
prepared. ECMWF server provide all libraries via a module system which is
going to be selected by flex_extract
automatically.
Remote installation¶
First, log in on one of the ECMWF Linux server, such as ecgate or cca/ccb. Substitute <ecuid> with your ECMWF user name:
ssh -X <ecuid>@ecaccess.ecmwf.int
This will lead to the following output on the command line, asking for your password:
Authorized access only.
***************************************************************
For further information, read the ECaccess documentation at:
https://software.ecmwf.int/wiki/display/ECAC/ECaccess+Home
You can also use ECaccess to load & download files from your
EChome, ECscratch or ECfs directories using the ECaccess FTP
server:
ftp://uid@ecaccess.ecmwf.int/
Please note you must use your UID and ActivID code to login!
***************************************************************
<ecuid>@131.130.157.5's password: ***
Select hostname (ecgate, cca, ccb) [ecgate]: ecgate
[<ecuid>@ecgb11 ~]$
Then, copy the flex_extract
tar ball (from section Download flex_extract)
to the $HOME
directory of the ECMWF Linux server via scp
.
Substitute the <localuser> and <server.edu> placeholders with your credentials.
Untar the file and change into the flex_extract
root directory.
scp <localuser>@<server.edu>:/path/to/tarfile/flex_extract_vX.X.tar.gz $HOME/
cd $HOME
tar xvf flex_extract_vX.X.tar.gz
cd flex_extract_vX.X
On these ECMWF servers, it is not necessary to prepare the environment or the
Makefile
for the Fortran program (CONVERT2
) as described above.
All third party libraries are available from a module system. The Makefile
is optimized for ECMWF servers and the compilation
script compilejob.ksh
, which will be submitted by flex_extract
to the
batch job queue at ECMWF, does load all relevant modules from the ECMWF’s module system.
So there is just the need to execute the setup.sh
script from the
flex_extract
root directory for installation.
Before executing it, it is necessary to adapt some parameters from setup.sh
described in Documentation/Input/setup.
Open setup.sh
with your editor and adapt the values:
Take this for target = ectrans | Take this for target = cca |
...
# -----------------------------------------
# AVAILABLE COMMANDLINE ARGUMENTS TO SET
#
# THE USER HAS TO SPECIFY THESE PARAMETER
#
TARGET='ecgate'
MAKEFILE='Makefile.gfortran'
ECUID='uid'
ECGID='gid'
GATEWAY=None
DESTINATION=None
INSTALLDIR=None
JOB_TEMPLATE='job.template'
CONTROLFILE='CONTROL_EA5'
...
|
...
# -----------------------------------------
# AVAILABLE COMMANDLINE ARGUMENTS TO SET
#
# THE USER HAS TO SPECIFY THESE PARAMETER
#
TARGET='cca'
MAKEFILE='Makefile.CRAY'
ECUID='uid'
ECGID='gid'
GATEWAY=None
DESTINATION=None
INSTALLDIR=''
JOB_TEMPLATE='job.template'
CONTROLFILE='CONTROL_EA5'
...
|
Please substitute the values of ECUID and ECGID with your own credentials and settings.
Note
If a local gateway server is available the transfer of files could be done
via the ECaccess
commands. Therefore a valid GATEWAY and DESTINATION
have to be present and should be set in the setup.sh
file.
Afterwards, type:
module load python3
./setup.sh
to start the installation. You should see the following output at the command line.
# Output of setup.sh
Create tarball ...
Job compilation script has been submitted to ecgate for installation in ${HOME}/flex_extract_vX.X
You should get an email with subject "flexcompile" within the next few minutes!
The email content should look like this with a “SUCCESS” statement in the last line:
gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp phgrreal.f
gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp grphreal.f
gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian -c -g -O3 -fopenmp ftrafo.f
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
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
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
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
-rwxr-x---. 1 USER at 353134 May 23 12:27 CONVERT2
SUCCESS!