How to build TELEMAC¶
Software
|
Version
|
Cluster
|
---|---|---|
TELEMAC
|
v8p4r0
|
Dardel
|
-
Set up GNU compilers, libraries, and python
$ ml add PrgEnv-gnu $ ml add cray-hdf5/1.12.1.5 $ ml add cray-python/3.9.12.1 $ ml add PDC/22.06 $ ml add metis/5.1.0-cpeGNU-22.06
-
Get TELEMAC sources
-
Create the environment file
<TELEMAC root>/configs/pysource.CrayGnuMPICH.sh
# This file is a template for a Linux environment file
# running "source pysource.template.sh" will position all
# the necessary environment variables for telemac
# To adapt to your installation replace word <word> by their local value
###
### TELEMAC settings -----------------------------------------------------------
###
# Path to telemac root dir
export HOMETEL=/pdc/software/21.11/other/telemac-mascaret/v8p3r1
# Adding python scripts to PATH
export PATH=$HOMETEL/scripts/python3:.:$PATH
# Configuration file
export SYSTELCFG=$HOMETEL/configs/systel.CrayGnuMPICH.cfg
# Name of the configuration to use
export USETELCFG=CrayGnuMPICH
# Path to this file
export SOURCEFILE=$HOMETEL/configs/pysource.CrayGnuMPICH.sh
### Python
# To force python to flush its output
export PYTHONUNBUFFERED='true'
### API
export PYTHONPATH=$HOMETEL/scripts/python3:$PYTHONPATH
export LD_LIBRARY_PATH=$HOMETEL/builds/$USETELCFG/wrap_api/lib:$LD_LIBRARY_PATH
export PYTHONPATH=$HOMETEL/builds/$USETELCFG/wrap_api/lib:$PYTHONPATH
###
### EXTERNAL LIBRARIES -----------------------------------------------------------
###
### METIS/MUMPS -------------------------------------------------------------
module add PDC
module swap PrgEnv-cray PrgEnv-gnu
module load cray-hdf5
module load cray-python/3.9.4.2
module load METIS/5.1.0-cpeGNU-21.11
export METISHOME=/pdc/software/21.11/eb/software/METIS/5.1.0-cpeGNU-21.11
###
### PYTHON -----------------------------------------------------------
#module load anaconda/2019.03/py27
-
Create the configuration file
<TELEMAC root>/configs/systel.CrayGnuMPICH.cfg
# _____ _______________________________
# ____/ TELEMAC Project Definitions /______________________________/
#
[Configurations]
#
configs: CrayGnuMPICH
# _____ ___________________________________________________
# ____/ GENERAL /__________________________________________________/
[general]
modules: system
#
mods_all: -I <config>
#
incs_all:
#
sfx_zip: .gztar
sfx_lib: .a
sfx_obj: .o
sfx_mod: .mod
sfx_exe:
#
val_root: <root>/examples
val_rank: all
# _____ _________________________________
# ____/ Cray Gnu MPICH /________________________________/
[CrayGnuMPICH]
#
brief: Cray GNU compiler & MPICH
#
par_cmdexec: srun -n 1 <config>/partel < <partel.par> >> <partel.log>
mpi_cmdexec: srun -n <ncsize> <exename>
#
cmd_obj: ftn -c -O3 -cpp -DHAVE_MPI -fconvert=big-endian -ffixed-line-length-132 -fallow-invalid-boz -frecord-marker=4 <mods> <incs> <f95name>
cmd_obj_c: cc -c <srcName> -o <objName>
cmd_lib: ar cru <libname> <objs>
cmd_exe: ftn -fconvert=big-endian -ffixed-line-length-132 -frecord-marker=4 -v -lm -lz -o <exename> <objs> <libs>
#
incs_special:
incs_parallel:
incs_bief:
libs_partel:
libs_all: -L$METISHOME/lib -lmetis
-
Compile TELEMAC
$ cd <TELEMAC root>/configs $ source pysource.CrayGnuMPICH.sh $ config.py $ compile_telemac.py
-
After installation
The installation should end with
My work is done
. For TELEMAC to work properly on Dardel, some modifications need to be done in<TELEMAC root>/scripts/python3/partel|gretel.py
such that thepartel
andgretel
commands are prepended withsrun -n 1
.A Python virtual environment containing Matplotlib, Numpy and Scipy needs to be created as well.
-
Reference
http://wiki.opentelemac.org/doku.php?id=installation_on_linux
Disclaimer¶
PDC takes no responsibility for the correctness of results produced with the binaries. Always evaluate the binaries against known results for the systems and properties you are investigating before using the binaries for production jobs.