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 the partel and gretel commands are prepended with srun -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.

How to use TELEMAC