Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

TELEMAC (Installation)

Préface

Ce tutoriel vous accompagne dans l’installation open TELEMAC-MASCARET sur Debian Linux-based systems (y compris Ubuntu et dérivés comme Linux Mint). Planifier environ 1-2 heures et une connexion Internet stable; les téléchargements dépassent 1,4 Go.


Cette section ne couvre que l’installation ** de TELEMAC. Pour les didacticiels sur les modèles dynamiques hydro(-morpho) avec TELEMAC, voir TELEMAC tutorials section.

Quelques options d’installation sont disponibles :

Custom Installation (Recommended)
Mint Hyfo VM
SALOME-HYDRO
Docker Image

Continuez à lire et à parcourir les sections suivantes.

Exigences de base

Travailler avec TELEMAC exige un logiciel pour télécharger les fichiers sources, les compiler et exécuter le programme. Les prérequis logiciels obligatoires pour installer TELEMAC sur Debian Linux sont expliqués dans les sections suivantes.

Python3

Durée estimée : 5-8 minutes.

Python3 a été installé par défaut sur Debian depuis la version 10 (Buster), et il est nécessaire d’exécuter les scripts du compilateur/lanceur de TELEMAC. Pour démarrer Python3, ouvrez un terminal et lancez python3; pour quitter, utilisez exit() ou appuyez sur Ctrl+D.

TELEMAC a besoin de la bibliothèque NumPy; la plupart des flux de travail s’appuient également sur SciPy et Matplotlib. Parce que TELEMAC n’est pas standard, avoir des en-têtes Python et un environnement propre aide.

Pour installer les paquets système commun, exécutez :

sudo apt update
sudo apt install python3-numpy python3-scipy python3-matplotlib python3-pip python3-dev python3-venv

Si vous êtes sur une ancienne version Debian qui n’inclut pas distutils dans le Python par défaut, installez également python3-distutils.

Pour tester si l’installation a été réussie, tapez python3 dans Terminal et importez les trois bibliothèques :

Python 3.11.1 (default, Jul  25 2030, 13:03:44) [GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> a = numpy.array((1, 1))
>>> print(a)
[1 1]
>>> exit()

Aucune des trois bibliothèques importées ne doit retourner un message ImportError. Pour en savoir plus sur Python, lisez la section sur Paquets, modules et bibliothèques.

Git

Durée estimée: <5 minutes.

L’installation et l’utilisation de Git sont couvertes par le git section of this eBook. En plus de ce qui y est décrit, vous aurez besoin de Git Large File Storage (Git LFS) pour gérer de grands actifs si un dépôt lié à TELEMAC l’utilise. Sur Debian, vous n’avez généralement besoin que de git (pas git-all, qui tire beaucoup d’extras), plus git-lfs. Installer et initialiser :

sudo apt update
sudo apt install git git-lfs
git lfs install

git lfs install configure LFS pour votre compte utilisateur; il est donc inoffensif même si un dépôt donné n’utilise pas LFS.

GNU Fortran 95 Compilateur (gfortran)

Durée estimée: 3-10 minutes.

Le système de construction basé sur Python de TELEMAC nécessite un compilateur Fortran; le choix commun sur Debian est le compilateur GNU Fortran (gfortran), qui est rétrocompatible avec GNU Fortran 95 et supporte de nouvelles normes. Debian fournit gfortran à partir de ses dépôts standard. Pour l’installer, ouvrez un terminal et lancez :

sudo apt update
sudo apt install gfortran

Après l’installation, vérifiez votre configuration avec gfortran --version; le compilateur doit être sur votre PATH pour les scripts de TELEMAC pour le trouver.

Autres compilateurs et essentiels

Durée estimée: 2-5 minutes.

Pour construire TELEMAC et ses dépendances, vous avez besoin de C/C++ et de CMake. Installez les fichiers Debian build-essential (qui fournit gcc, g++ et make) et cmake; ceux-ci sont nécessaires pour compiler les sources, y compris les compilations parallèles (MPI), bien que MPI lui-même soit fourni par des paquets comme OpenMPI que vous installerez plus tard. Le paquet dialog est facultatif mais utile car certains scripts d’aide utilisent des interfaces texte simples. Pour modifier les scripts shell, vous pouvez utiliser gedit (lire plus, ou des alternatives telles que Nano ou Vim). Exécuter :

sudo apt update
sudo apt install -y build-essential cmake dialog gedit gedit-plugins

Configuration du chemin d’installation

Jusqu’ici, le logiciel a été installé via le gestionnaire de paquets de Debian (APTITUDE, apt). En revanche, TELEMAC est téléchargé (c’est-à-dire fermé par git) de son dépôt GitLab dans un répertoire que vous choisissez. Son workflow build/install est particulièrement atypique, donc les choix de chemin comptent. Sélectionnez l’une des configurations suivantes :

Dans les sections qui suivent, nous démontrons une installation mono-utilisateur de TELEMAC (y compris SALOME) avec ROOT=/home/HyInfo/opt.

Obtenez la Repo TELEMAC

Durée estimée: 25-40 minutes (grands téléchargements).

Va chercher les sources de TELEMAC avec Git-LFS. Dans le terminal, créez ou choisissez votre répertoire de travail (ici: /home/HyInfo/opt - voir ci-dessus), et changez (cd) en celui-ci; par exemple:

cd /home/HyInfo/opt
git clone https://gitlab.pam-retd.fr/otm/telemac-mascaret.git

Cela clone le dépôt dans un sous-répertoire nommé telemac-mascaret. Pour les téléchargements plus rapides, vous pouvez utiliser un clone peu profond avec --depth=1, en comprenant que cela limite l’histoire.

Après le clonage du dépôt, identifiez la dernière version étiquetée. Mettez à jour votre liste d’étiquettes et affichez les versions disponibles :

cd telemac-mascaret
git fetch --tags
git tag -l

En novembre 2025, le dernier communiqué officiel publié sur la page “Releases” de GitLab est v9.0.0. Vérifiez cette balise exacte (Détachée HEAD), ou créez-en une branche :

git checkout tags/v9.0.0

Si une nouvelle étiquette apparaît plus tard, remplacez son nom en conséquence.

Exigences facultatives (parallélisme et autres)

This section walks you through installing additional packages required for parallel execution and working with SALOME's .med files. Confirm that the Terminal finds gcc (typically installed via build-essential) by running gcc --version. The packages below enable parallelism and provide substantial speedups for simulations:

Installation à l ’ échelle du système

Installez les conditions préalables pour MPI, Metis, HDF5, MED et MUMPS. Les noms de paquets diffèrent légèrement entre les dérivés Debian et Ubuntu (Mint), donc utilisez le jeu de correspondance ci-dessous.

Debian (actuellement stable et testé):

sudo apt update
sudo apt install -y libopenmpi-dev openmpi-bin libhdf5-dev hdf5-tools libmetis-dev libmetis5 libmumps-dev libmumps-seq-dev libscalapack-openmpi-dev libmedc-dev libmed-tools

Ubuntu et ses dérivés (enable Universe d’abord si ce n’est pas encore fait):

sudo add-apt-repository -y universe
sudo apt update
sudo apt install -y sudo apt install -y libmedc11t64 libmedc-dev libmed-tools libmed11 libmed-dev libmedimport0v5 libmedimport-dev libopenmpi-dev openmpi-bin libhdf5-dev hdf5-tools libmetis-dev libmumps-seq-dev libmumps-dev libscalapack-openmpi-dev

Remarques:

Si votre version utilise des paquets « t64 » suffixes (par exemple libmedc11t64), acceptez ces noms comme offerts par apt.

SALOME

Ce flux de travail explique l’installation de SALOME sur Linux Mint / Ubuntu. Les dépendances minimales en matière de temps d’exécution exigent (au moins) les installations suivantes:

sudo apt update
sudo apt install python3-pytest-cython python3-sphinx python3-alabaster python3-cftime libcminpack1 python3-docutils libfreeimage3 python3-h5py python3-imagesize liblapacke clang python3-netcdf4 libnlopt0 libnlopt-cxx0 python3-nlopt python3-nose python3-numpydoc python3-patsy python3-psutil libtbb12 libxml++2.6-2v5 liblzf1 python3-stemmer python3-sphinx-rtd-theme python3-sphinxcontrib.websupport sphinx-intl python3-statsmodels python3-toml python-is-python3

Les dépendances minimales de compilation nécessitent les installations suivantes:

sudo apt update
sudo apt install pyqt5-dev pyqt5-dev-tools libboost-all-dev libcminpack-dev libcppunit-dev doxygen libeigen3-dev libfreeimage-dev libgraphviz-dev libjsoncpp-dev liblapacke-dev libxml2-dev llvm-dev libnlopt-dev libnlopt-cxx-dev python3-patsy libqwt-qt5-dev libfontconfig1-dev libglu1-mesa-dev libxcb-dri2-0-dev libxkbcommon-dev libxkbcommon-x11-dev libxi-dev libxmu-dev libxpm-dev libxft-dev libicu-dev libsqlite3-dev libxcursor-dev libtbb-dev libqt5svg5-dev libqt5x11extras5-dev qtxmlpatterns5-dev-tools libpng-dev libtiff5-dev libgeotiff-dev libgif-dev libgeos-dev libgdal-dev texlive-latex-base libxml++2.6-dev libfreetype6-dev libgmp-dev libmpfr-dev libxinerama-dev python3-sip-dev python3-statsmodels tcl-dev tk-dev 
  1. Confirmez votre version Linux :

    • Debian: cat /etc/os-release

    • Monnaie : lsb_release -a

    • Ubuntu: inxi -Sx (travaille également sur la Monnaie)

  2. Télécharger la compilation de SALOME

  3. Vérifier le somme de contrôle : à partir de la page md5 de SALOME, récupérer le fichier correspondant .md5 pour votre archive et vérifier localement

    • Exemple pour la boule de goudron 9.15 : md5sum SALOME-9.15.0.tar.gz

    • Comparer avec “SALOME-9.15.0.tar.gz.md5” de la md5 page - ne sautez pas cela

  4. Extraire quelque part propre et sain; par exemple comme sudo pour l’ensemble du système (justez le nom si vous avez choisi une autre archive), ou suite à ce workflow fow installer TELEMAC à /home/HyInfo/opt/:

    mkdir -p /home/HyInfo/opt/salome
    tar -xzf ~/Downloads/SALOME-9.15.0.tar.gz -C /opt/salome --strip-components=1
    chown -R "$USER":"$USER" /home/HyInfo/opt/salome
  1. Laissez SALOME vérifier votre système et installer ce qu’il demande

    • Dans le répertoire SALOME extrait, identifiez le nom de l’application

    cd /home/HyInfo/opt/salome/sat
    ./sat config --list
    • Utiliser le nom de la demande; les descriptions suivantes supposent que le nom de la demande est SALOME-9.15.0-native

    • Exécutez le checker intégré; il imprime les paquets qui pourraient manquer:

    cd /home/HyInfo/opt/salome/sat
    ./sat config SALOME-9.15.0-native --check_system
    • Installez les paquets qu’il liste via apt, puis reprenez la vérification jusqu’à ce qu’elle soit propre.

  2. Assurez-vous que 3D/OpenGL est OK: vérifier la pile de pilote appropriée (surtout pour NVIDIA) avant de lancer; lire plus sur SALOME PLATFORM FAQ

  3. Lancez SALOME à partir du dossier SALOME :

Si vous frappez des erreurs de permission, assurez-vous d’extraire vers un emplacement que vous possédez ou de fixer la propriété. Certains utilisateurs ont rencontré des problèmes en essayant des emplacements étranges ou WSL; s’en tenir à un chemin normal du système de fichiers que vous contrôlez.

Il y a aussi une option conteneur : on peut exécuter SALOME via Docker/Apptainer, mais l’accélération de ParaViS/ParaView à l’intérieur des conteneurs est notoirement buggy et se casse souvent ; le forum SALOME rend les problèmes dans Docker.

Compiler TELEMAC

Adapter et vérifier le fichier de configuration (systel.x.cfg)

Durée estimée: 2-20 minutes.

Le fichier systel.x.cfg indique à TELEMAC comment compiler et lancer ses modules sur votre ordinateur. Plus précisément, c’est la configuration centrale de TELEMAC qui définit les environnements builds et runtime, y compris les compilateurs, les drapeaux compilateurs, les MPI et les options connexes, les bibliothèques externes et les chemins. Dans la pratique, nous utilisons ce fichier pour déclarer les drapeaux et pointer TELEMAC aux dépendances optionnelles. Par défaut, TELEMAC recherche des fichiers de configuration sous ./configs/ (par exemple configs/systel.cfg), et on peut passer outre le chemin avec la variable d’environnement SYSTELCFG ou l’option -f du lanceur Python.

Cette section décrit la configuration de systel.x.cfg pour :

Rappelons que nous décrivons l’installation d’un seul utilisateur de TELEMAC dans le répertoire local /home/HyInfo/opt/telemac-mascaret et que nous avons installé SALOME à /home/HyInfo/opt/salome.

Notez que nous n’avons pas activé l’API, ni les modules AED2 (waqtel) et GOTM (général ocean).

Nos fichiers cfg et pysource définissent une seule construction (par exemple, hyinfompiubu sur Mint / Ubuntu) pour TELEMAC v9.0, permettant mpi et dyn options et utilisant des compilateurs GNU (cc=mpicc, fc=mpifort soutenus par gfortran). Les bibliothèques externes sont reliées par l’intermédiaire d’includes et de blocs de bibliothèques pour OpenMPI, HDF5, MED (via SALOME), METIS et MUMPS avec ScaLAPACK, BLAS et LAPACK. Les entrées RPATH sont ajoutées afin que l’exécution puisse localiser HDF5 et les bibliothèques connexes, en utilisant des chemins qui correspondent aux mises en page typiques de Debian et d’Ubuntu.

Mint 22 / Ubuntu 24
Debian 12
Customization

The following configuration provides a TELEMAC configuration called hyinfompiubu. It enables optimized core flags, position-independent builds, and big-endian unformatted I/O with modified record markers, plus MPI settings on Linux Mint 22 / Ubuntu 24.04. Executables are launched with mpirun -np <ncsize>, and meshes are partitioned using partel. Build artifacts are placed under <root>/builds/hyinfompiubu/{bin,lib,obj}, and the file also defines suffixes, validation paths, and Python F2PY settings (f2py, gnu95).

Pour l’utiliser pour compiler TELEMAC:

  1. Téléchargez systel.mint22.cfg de notre dépôt GitHub, ou copiez le contenu du fichier ci-dessous dans le dossier TELEMAC /configs, ici: /home/HyInfo/opt/telemac-mascaret/configs.

  2. Ouvrez systel.mint22.cfg dans un éditeur de texte (par exemple, gedit) et remplacez les deux intances /home/HyInfo/opt/salome chemin par votre chemin d’installation SALOME.

  3. Vérifier les chemins d’installation des options, en particulier HDF5, MED et Oreillons.

  4. Enregistrer systel.mint22.cfg et fermer l’éditeur de texte.

# _____                              _______________________________
# ____/ TELEMAC Project Definitions /______________________________/
#
[Configurations]
configs: hyinfompiubu
#
# _____          _________________________________________________
# ____/ General /_________________________________________________/
#
[general]
language: 2
modules:  system
version:  9.0
options:  mpi dyn
hash_char: #
# Suffixes
sfx_zip:  .tar.gz
sfx_lib:  .a
sfx_obj:  .o
sfx_exe:
sfx_mod:  .mod
# Validation paths
val_root:      <root>/examples
val_rank:      all
# Compilers
cc:      mpicc
cflags:  -fPIC -O3
fc:      mpifort
# Core Fortran flags; TELEMAC expects big-endian unformatted files
fflags:  -cpp -O3 -fPIC -fconvert=big-endian -frecord-marker=4 -DHAVE_MPI
# Build commands
cmd_obj_c: [cc] [cflags] -c <srcName> -o <objName>
cmd_obj:   [fc] [fflags] -c <mods> <incs> <f95name>
cmd_lib:   ar cru <libname> <objs>
cmd_exe:   [fc] [fflags] -o <exename> <objs> <libs>
# Splitter and MPI run
par_cmdexec:   <config>/partel < <partel.par> >> <partel.log>
mpi_cmdexec:   mpirun -np <ncsize> <exename>
mpi_hosts:
# ----- Optional library blocks merged in libs_all / incs_all -----
# OpenMPI include dir (Ubuntu 24.04)
inc_mpi:       -I /usr/lib/x86_64-linux-gnu/openmpi/include
# HDF5 (Ubuntu serial headers; change to /usr/include/hdf5/openmpi if using libhdf5-openmpi-dev)
inc_hdf5:  -I /usr/include/hdf5/openmpi
libs_hdf5: -L /usr/lib/x86_64-linux-gnu/hdf5/openmpi -lhdf5_fortran -lhdf5hl_fortran -lhdf5_hl -lhdf5
ldflags_opt:   -Wl,-rpath,/usr/lib/x86_64-linux-gnu/hdf5/openmpi
ldflags_debug: -Wl,-rpath,/usr/lib/x86_64-linux-gnu/hdf5/openmpi

# MED (from SALOME packages)
inc_med:       -I /home/HyInfo/opt/salome/BINARIES-UB24.04/medfile/include
libs_med:      -L /home/HyInfo/opt/salome/BINARIES-UB24.04/medfile/lib -lmedC -lmed -lmedimport
# METIS
inc_metis:     -I /usr/include
libs_metis:    -L /usr/lib/x86_64-linux-gnu -lmetis
# MUMPS + ScaLAPACK (MPI build)
inc_mumps:     -I /usr/include
libs_mumps:    -L /usr/lib/x86_64-linux-gnu -ldmumps -lmumps_common -lpord -lscalapack-openmpi -lblas -llapack
# Aggregate include and library flags
incs_all: [inc_mpi] [inc_hdf5] [inc_med] [inc_metis] [inc_mumps]
libs_all: [libs_hdf5] [libs_med] [libs_metis] [libs_mumps]

# ===== Build section =====
[hyinfompiubu]
brief: Ubuntu 24.04 gfortran + OpenMPI + MED/HDF5 + METIS + MUMPS/ScaLAPACK
system: linux
mpi:   openmpi
compiler: gfortran
pyd_fcompiler: gnu95
f2py_name: f2py
# build tree under <root>=HOMETEL
bin_dir: <root>/builds/hyinfompiubu/bin
lib_dir: <root>/builds/hyinfompiubu/lib
obj_dir: <root>/builds/hyinfompiubu/obj
# override/extend general flags if needed
options: mpi dyn
cmd_obj:   [fc] [fflags] -c <mods> <incs> <f95name>
cmd_lib:   ar cru <libname> <objs>
cmd_exe:   [fc] [fflags] -o <exename> <objs> <libs>
# inherit mods_all/incs_all/libs_all from [general]
mods_all:  -I <config>

Configuration du fichier source Python

Durée estimée: 4-20 minutes.

Le fichier source Python vit également dans le dossier /configs de TELEMAC, où un modèle appelé pysource.template.sh est disponible. Plus précisément, le fichier pysource est un script shell “env” que l’on peut source dans chaque terminal avant de construire ou d’exécuter TELEMAC. Le lanceur Python utilise quatre ancrages : HOMETEL, SYSTELCFG, USETELCFG et SOURCEFILE. Les scripts Python de TELEMAC regardent SYSTELCFG et sélectionne la section nommée USETELCFG. Cette section guide soit en utilisant notre pysource.mint22.sh / pysource.debian12.sh (sans AED2), soit en utilisant un fichier source personnalisé.

Mint 22 / Ubuntu 24
Debian 12
Customization

Pour faciliter la configuration du fichier pysource.mint22.sh sur Linux Mint 22 / Ubuntu 24, notre modèle est conçu pour être utilisé avec le fichier de configuration systel.mint22.cfg décrit ci-dessus, et il est basé sur le fichier par défaut pysource.template.sh. Pour l’utiliser pour compiler TELEMAC:

  1. Téléchargez pysource.mint22.sh de notre dépôt GitHub, ou copiez le contenu du fichier ci-dessous dans le dossier TELEMAC /configs, ici: /home/HyInfo/opt/telemac-mascaret/configs et enregistrez pysource.mint22.sh.

  2. Ouvrez pysource.mint22.sh dans un éditeur de texte (par exemple, gedit) et vérifiez les chemins d’installation. Notez que le fichier contient la définition suivante, qui le rend presque indépendant de la définition de votre chemin d’installation, tant que salome vit dans le même répertoire que celui où vous avez téléchargé TELEMAC: _THIS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

  3. Vérifier les chemins d’installation des options, en particulier HDF5, MED (en particulier SALOME), et des oreillons.

  4. Enregistrer pysource.mint22.sh et fermer l’éditeur de texte.

Notre fichier pysource.mint22.sh ressemble à ceci :

#!/usr/bin/env bash
# TELEMAC environment for Linux Mint 22 (Ubuntu 24.04 base) with MPI/HDF5/METIS/MED/MUMPS/ScaLAPACK

# Resolve this script's directory and HOMETEL from it so it works no matter where you cloned TELEMAC
# Expected layout: ~/opt/telemac/{configs, scripts, sources, ...}
_THIS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
export HOMETEL="$(cd "${_THIS_DIR}/.." && pwd)"
export SOURCEFILE="${_THIS_DIR}"

# Configuration file and config name used by telemac.py
# Adjust USETELCFG to match a section present in your systel.mint22.cfg
export SYSTELCFG="${HOMETEL}/configs/systel.mint22.cfg"
export USETELCFG="hyinfompiubu"

# Make TELEMAC Python utilities available
# (Both python3 helpers and legacy unix scripts are often useful)
if [ -d "${HOMETEL}/scripts/python3" ]; then
  export PATH="${HOMETEL}/scripts/python3:${PATH}"
fi
if [ -d "${HOMETEL}/scripts/unix" ]; then
  export PATH="${HOMETEL}/scripts/unix:${PATH}"
fi

# Compilers and MPI (OpenMPI from APT)
export MPI_ROOT="/usr"
export CC="mpicc"
export FC="mpifort"
export MPIRUN="mpirun"

# Library/include roots from Ubuntu 24.04 packages
# OpenMPI libraries
_OMPI_LIB="/usr/lib/x86_64-linux-gnu/openmpi/lib"
_OMPI_INC="/usr/lib/x86_64-linux-gnu/openmpi/include"

# HDF5 (serial headers via libhdf5-dev; libs in the multiarch lib dir)
# If you later install parallel HDF5 (libhdf5-openmpi-dev), set _HDF5_INC="$_OMPI_INC"
_HDF5_INC="/usr/include/hdf5/openmpi/"
_HDF5_LIB="/usr/lib/x86_64-linux-gnu/hdf5/openmpi"

# MED (optional - not actively used in the corrent setup)
_MED_INC="/usr/include/med"
_MED_LIB="/usr/lib/x86_64-linux-gnu"

# METIS
_METIS_INC="/usr/include"
_METIS_LIB="/usr/lib/x86_64-linux-gnu"

# MUMPS (both seq and mpi dev packages provide headers+libs under multiarch dir)
_MUMPS_INC="/usr/include"
_MUMPS_LIB="/usr/lib/x86_64-linux-gnu"

# ScaLAPACK (OpenMPI build)
_SCALAPACK_LIB="/usr/lib/x86_64-linux-gnu"

# Expose common hints some TELEMAC configs look for (non-fatal if unused)
export MPI_INCLUDE="${_OMPI_INC}"
export MPI_LIBDIR="${_OMPI_LIB}"

export HDF5_ROOT="/usr"
export HDF5_INCLUDE_PATH="${_HDF5_INC}"
export HDF5_LIBDIR="${_HDF5_LIB}"

export MED_ROOT="$HOME/opt/salome/BINARIES-UB24.04/medfile/"
export MED_INCLUDE_PATH="$HOME/opt/salome/BINARIES-UB24.04/medfile/include"
export MED_LIBDIR="$HOME/opt/salome/BINARIES-UB24.04/medfile/lib"

export METIS_ROOT="/usr"
export METIS_INCLUDE_PATH="${_METIS_INC}"
export METIS_LIBDIR="${_METIS_LIB}"

export MUMPS_ROOT="/usr"
export MUMPS_INCLUDE_PATH="${_MUMPS_INC}"
export MUMPS_LIBDIR="${_MUMPS_LIB}"

export SCALAPACK_LIBDIR="${_SCALAPACK_LIB}"

# Build and wrapped API locations (created after you compile)
# Keep these early in the path so Python can import the TELEMAC modules and extensions
if [ -d "${HOMETEL}/builds/${USETELCFG}/wrap_api/lib" ]; then
  export PYTHONPATH="${HOMETEL}/builds/${USETELCFG}/wrap_api/lib:${PYTHONPATH}"
fi

# TELEMAC Python helpers
if [ -d "${HOMETEL}/scripts/python3" ]; then
  export PYTHONPATH="${HOMETEL}/scripts/python3:${PYTHONPATH}"
fi

# Runtime search paths
# Put OpenMPI first to avoid picking up non-MPI BLAS/LAPACK accidentally
# The standard multiarch directory is added as a safety net
for _libdir in \
  "${_OMPI_LIB}" \
  "${_MED_LIB}" \
  "${_METIS_LIB}" \
  "${_MUMPS_LIB}" \
  "${_SCALAPACK_LIB}" \
  "/usr/lib/x86_64-linux-gnu"
do
  case ":${LD_LIBRARY_PATH}:" in
    *:"${_libdir}":*) ;;
    *) export LD_LIBRARY_PATH="${_libdir}:${LD_LIBRARY_PATH}";;
  esac
done

# Add include directories to CPATH so builds find headers without extra flags
for _incdir in \
  "${_OMPI_INC}" \
  "${_HDF5_INC}" \
  "${_MED_INC}" \
  "${_METIS_INC}" \
  "${_MUMPS_INC}"
do
  case ":${CPATH}:" in
    *:"${_incdir}":*) ;;
    *) export CPATH="${_incdir}:${CPATH}";;
  esac
done

# Convenience: print a one-line summary so you know which config is active
echo "TELEMAC set: HOMETEL='${HOMETEL}', SYSTELCFG='${SYSTELCFG}', USETELCFG='${USETELCFG}'"

# Make Python unbuffered for clearer build logs
export PYTHONUNBUFFERED="1"

Compiler

Durée estimée: 20-30 minutes (le calcul prend du temps).

Le compilateur est invoqué par les outils Python de TELEMAC en utilisant l’environnement shell défini par votre script pysource (pysource.mint22.sh ou pysource.debian12.sh). Ce script indique à TELEMAC où vivent les programmes d’aide et les bibliothèques et quelle configuration utiliser. Avec elle en place, la compilation devient simple à partir de Terminal. D’abord, source le fichier pysource approprié et ensuite vérifier la configuration en exécutant config.py:

cd /home/HyInfo/opt/telemac-mascaret/configs    # adjust this path to your install
source pysource.mint22.sh                       # or: source pysource.debian12.sh
config.py

Les scripts pysource.mint22.sh ou pysource.debian12.sh doivent faire écho aux chemins TELEMAC et au nom de configuration. Courir config.py devrait afficher la bannière ASCII et terminer par My work is done. Sinon, lisez attentivement la sortie de l’erreur; les causes typiques sont les typos dans les chemins ou les noms de fichiers, ou les erreurs à l’intérieur pysource.x.sh ou votre systel.*.cfg.

Après config.py complète avec succès, compiler TELEMAC. Utilisez le drapeau --clean pour supprimer les artefacts des constructions antérieures et éviter les conflits :

compile_telemac.py --clean

La construction va courir pendant un certain temps et devrait terminer avec le message My work is done. Si elle s’arrête avec des erreurs, faites défiler jusqu’à la première erreur et corrigez le problème signalé avant de ré-exécuter la commande.

TELEMAC d’essai

Durée estimée: 5-10 minutes.

Après la fermeture du terminal ou lors d’un nouveau démarrage du système, vous devrez recharger l’environnement TELEMAC avant de l’exécuter:

cd ~/opt/telemac-mascaret/configs    # adjust if you installed elsewhere
source pysource.mint22.sh            # or: source pysource.debian12.sh

Lancez un cas prédéfini à partir du dossier examples:

cd ~/opt/telemac-mascaret/examples/telemac2d/gouttedo
telemac2d.py t2d_gouttedo.cas

Pour vérifier le parallélisme, installez htop pour visualiser l’utilisation du processeur :

sudo apt update
sudo apt install htop

Démarrer le moniteur CPU:

htop

Dans un nouvel onglet terminal, exécutez un exemple TELEMAC avec le drapeau --ncsize=N, où N est le nombre de processeurs logiques à utiliser (assurer au moins N sont disponibles):

cd ~/opt/telemac-mascaret/examples/telemac2d/gouttedo
telemac2d.py t2d_gouttedo.cas --ncsize=4

Sinon, utilisez --nctile et --ncnode pour spécifier les noyaux par noeud (NCTILE) et le nombre de nœuds (NCNODE), respectivement, avec NCSIZE = NCTILE * NCNODE. Les deux commandes suivantes sont équivalentes (à partir de ~/opt/telemac-mascaret/examples/telemac2d/donau):

telemac2d.py t2d_donau.cas --nctile=4 --ncnode=2
telemac2d.py t2d_donau.cas --ncsize=8

Pendant que le calcul fonctionne, regardez l’utilisation globale du processeur. Si plusieurs carottes montrent une activité soutenue à des pourcentages variables, l’exécution parallèle fonctionne.

TELEMAC devrait commencer, lancer l’exemple et terminer par My work is done. Pour mesurer l’efficacité, varier --ncsize. Par exemple, sur un ordinateur portable contemporain, le cas donau fonctionne souvent en approx. 1 minute avec --ncsize=4 et env. 2-3 minutes avec --ncsize=2; les timings exacts dépendent du matériel, de la taille du maillage et des I/O. L’échelle n’est pas linéaire en raison des frais généraux de répartition, des limites de bande passante de la mémoire et de l’hyperthreading.

Générer TELEMAC Documentation

TELEMAC inclut de nombreux exemples d’applications sous /telemac-mascaret/examples/, et vous pouvez construire les manuels d’utilisateur et de référence localement. Premièrement, charger l’environnement TELEMAC:

source ~/opt/telemac-mascaret/configs/pysource.mint22.sh

Pour générer le manuel d’utilisation (cela peut prendre un certain temps et nécessite du latex, c’est-à-dire texlive sur Debian/Ubuntu):

doc_telemac.py

Pour générer le manuel de référence :

doc_telemac.py --reference

Pour créer des rapports de documentation et de validation pour tous les cas d’exemple :

validate_telemac.py

Services publics (pré- et post-traitement)

QGIS et le plugin Q4TS (Linux et Windows)

Durée estimée: 5-10 minutes (selon la vitesse de connexion).

QGIS est un outil puissant pour la visualisation, la création et l’édition de données géospatiales et est utile pour le pré-traitement et le post-traitement. Les instructions d’installation apparaissent dans les instructions QGIS et QGIS tutorial dans ce livre électronique. Le plugin Q4TS prend en charge la préparation et la post-traitement des fichiers pour TELEMAC et peut être relié à SALOME pour lancer TELEMAC à partir d’une interface graphique.

To install Q4TS, follow the developers’ instructions at https://gitlab.pam-retd.fr/otm/q4ts:

Après l’installation, Q4TS ajoute des outils dans la boîte à outils de traitement QGIS pour la conversion MED -- SLF, le raffinement des mailles, la création de limites, l’édition de tables de friction, etc. L’utilitaire de base pour le post-traitement est décrit dans le steady-flow simulation tutorial <tm-use-q4ts> avec Telemac2d.

To get started with the Q4TS plugin, see Fig. 1 (Windows: Fig. 2) and consult the developers’ user manual on GitLab: https://gitlab.pam-retd.fr/otm/q4ts/.

Linux (Ubuntu)
Windows
configure Q4TS on Ubuntu Linux

Figure 1:La configuration du Q4TS sur Ubuntu Linux. Pour définir ces chemins dans QGIS, allez dans Paramètres (menu supérieur) > Options... > Processus > Provideurs > Q4TS.

Outils Artelia Mesh

Artelia provides a Python-based analysis toolkit on GitHub: https://github.com/Artelia/Mesh_tools. Hydro-informatics.com has not yet tested Mesh Tools, but it appears promising for inspecting and analyzing existing meshes rather than generating new ones; see the related discussion in the TELEMAC forum.

Après avoir installé le plugin via le Gestionnaire de Plugin QGIS, accédez à partir de Mesh > Mesh Tools.

BlueKenue (Windows ou Linux+Wine)

Durée estimée: 10 minutes.

BlueKenueTM is a Windows-based pre- and post-processing tool from the National Research Council Canada, which is designed for TELEMAC. It offers functionality similar to Fudaa and includes a capable mesh generator, which is the main reason to install BlueKenueTM. Download the installer from the developer site: https://chyms.nrc.gc.ca/download_public/KenueClub/BlueKenue/Installer/BlueKenue_3.12.0-alpha+20201006_64bit.msi (credentials are noted in the Telemac Forum). Then choose the install method for your platform:

  1. Sous Windows: exécutez l’installateur BlueKenue .msi directement.

  2. Sur Linux : utilisez Wine amd64 via PlayOnLinux pour installer BlueKenueTM. Pour les systèmes Ubuntu/Debian, consultez la section PlayOnLinux dans ce livre électronique. L’installation avec le vin uni seulement est découragée en raison de problèmes de compatibilité communs.

Typique BlueKenueTM Les emplacements exécutables sont :

Pour de plus amples renseignements sur les plates-formes, veuillez consulter le CHyMS FAQ, en particulier la section intitulée Blue Kenue sur autres systèmes d’exploitation.

Fudaa-PrePro (Linux et Windows)

Durée estimée : 5-15 minutes (limite de temps supérieure si java doit être installé).

Fudaa-PrePro est un avant-plan graphique basé sur Java pour le système TELEMAC qui vous aide à configurer des modèles en définissant les maillages, les conditions limites et initiales, et les fichiers de pilotage (.cas), et il peut également lancer des simulations et aider à la post-traitement de base. Il est maintenu par le projet Fudaa et distribué avec documentation et téléchargements sur leur site, et il est référencé par les développeurs TELEMAC comme un pré-processeur convivial pour configurer les calculs. Préparez-vous avec le logiciel pré- et post-traitement Fudaa-PrePro:

Si vous voyez une erreur telle que:

Error: Could not find or load main class org.fudaa.fudaa.tr.TrSupervisor

modifier supervisor.sh et remplacer $PWD Fudaa par $(pwd)/Fudaa afin que le classpath résout correctement. Vous pouvez également ajuster le paramètre RAM par défaut à supervisor.sh (ou supervisor.bat). Fudaa-PrePro expédie souvent avec -Xmx6144m (6 GB); augmentez-le pour de très grands maillages (des millions de nœuds) ou réduisez-le sur des systèmes à faible RAM. Définissez -Xmx à un multiple raisonnable de 512 Mo. Par exemple, pour utiliser 2 Go et fixer le chemin de classe:

#!/bin/bash
cd "$(dirname "$0")"
java -Xmx2048m -Xms512m -cp "$(pwd)/Fudaa-Prepro-1.4.2-SNAPSHOT.jar" org.fudaa.fudaa.tr.TrSupervisor "$@"