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)

Vorwort

Dieses Tutorial führt Sie durch die Installation von öffne TELEMAC-MASCARET auf Debian Linux-basierten Systemen (einschließlich Ubuntu und Derivaten wie Linux Mint).] **Planen Sie ungefähr 1-2 Stunden und eine stabile Internetverbindung; die Downloads überschreiten 1,4 GB. **


Dieser Abschnitt deckt nur die installation von TELEMAC ab. Für Tutorials zum Ausführen von hydro(-morpho)dynamischen Modellen mit TELEMAC siehe TELEMAC tutorials section.

Es stehen einige Installationsoptionen zur Verfügung:

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

Lesen Sie weiter und gehen Sie durch die folgenden Abschnitte.

Grundlegende Anforderungen

Die Arbeit mit TELEMAC erfordert Software, um Quelldateien herunterzuladen, zu kompilieren und das Programm auszuführen. Die obligatorischen Softwarevoraussetzungen für die Installation von TELEMAC unter Debian Linux] werden in den folgenden Abschnitten erläutert.

Python3

Geschätzte Dauer: 5-8 Minuten.

Python3 wurde standardmäßig seit Version 10 (Buster) unter Debian installiert und es ist erforderlich, die Compiler/Launcher-Skripte von TELEMAC auszuführen. Um Python3 zu starten, öffnen Sie ein Terminal und führen Sie python3 aus; zum Beenden verwenden Sie exit() oder drücken Sie Ctrl+D.

TELEMAC benötigt die NumPy-Bibliothek; die meisten Workflows verlassen sich auch auf SciPy und Matplotlib]. Da TELEMAC nicht standardmäßig ist, helfen Python-Header und eine saubere Umgebung.

Um die gemeinsamen Systempakete zu installieren, führen Sie aus:

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

Wenn Sie sich auf einer älteren Debian-Version befinden, die distutils im Standard-Python nicht enthält, installieren Sie auch python3-distutils.

Um zu testen, ob die Installation erfolgreich war, geben Sie python3 in Terminal ein und importieren Sie die drei Bibliotheken:

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()

None of the three library imports should return an ImportError message. To learn more about Python read the section on Pakete, Module und Bibliotheken.

Gips

Geschätzte Dauer: <5 Minuten.

Installation and usage of Git are covered in the git section of this eBook. In addition to what is described there, you will need Git Large File Storage (Git LFS) to handle large assets if a TELEMAC-related repository uses it. On Debian, you usually only need git (not git-all, which pulls many extras), plus git-lfs. Install and initialize:

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

git lfs install sets up LFS for your user account; so it is harmless even if a given repository does not use LFS.

GNU Fortran 95 Compiler (Gfortran)

Geschätzte Dauer: 3-10 Minuten.

Das Python-basierte Build-System von TELEMAC erfordert einen Fortran-Compiler; die übliche Wahl auf Debian ist der GNU Fortran-Compiler (gfortran), der rückwärtskompatibel mit GNU Fortran 95 ist und neuere Standards unterstützt. Debian stellt gfortran aus seinen Standard-Repositories zur Verfügung. Um es zu installieren, ein Terminal öffnen und ausführen:

sudo apt update
sudo apt install gfortran

After installation, verify your setup with gfortran --version; the compiler must be on your PATH for TELEMAC’s scripts to find it.

Weitere Compiler und Essentials

Geschätzte Dauer: 2-5 Minuten.

For building TELEMAC and its dependencies, you need C/C++ and CMake. Install Debian’s build-essential (which provides gcc, g++, and make) and cmake; these are required to compile sources, including parallel (MPI) builds, though MPI itself is provided by packages like OpenMPI that you will install later. The dialog package is optional but useful because some helper scripts use simple text interfaces. For editing shell scripts you can use gedit (read more, or alternatives such as Nano or Vim). Run:

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

Anlagenpfad einrichten

Bis zu diesem Zeitpunkt wurde Software über Debians Paketmanager (APTITUDE, apt) installiert. Im Gegensatz dazu wird TELEMAC aus seinem GitLab-Repository in ein von Ihnen gewähltes Verzeichnis heruntergeladen (d.h. git-cloned). Sein Build/Installations-Workflow ist eindeutig nicht standardmäßig, so dass Pfadentscheidungen wichtig sind. Wählen Sie eines der folgenden Setups aus:

In the sections that follow, we demonstrate a single-user installation of TELEMAC (including SALOME) with ROOT=/home/HyInfo/opt.

Holen Sie sich das TELEMAC Repo

Geschätzte Dauer: 25-40 Minuten (große Downloads).

Holen Sie sich die TELEMAC-Quellen mit Git-LFS. Erstellen oder wählen Sie im Terminal Ihr Arbeitsverzeichnis (hier: /home/HyInfo/opt - siehe oben) und ändern Sie es (cd); zum Beispiel:

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

This clones the repository into a subdirectory named telemac-mascaret. For faster downloads you may use a shallow clone with --depth=1, understanding that this limits history.

Identifizieren Sie nach dem Klonen des Repositorys die zuletzt markierte Version. Aktualisieren Sie zuerst Ihre Tagliste und zeigen Sie verfügbare Versionen an:

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

Seit November 2025 ist die letzte offizielle Veröffentlichung, die auf der GitLab-Seite “Releases” veröffentlicht wurde, v9.0.0. Schauen Sie sich das genaue Tag an (entfernter HEAD) oder erstellen Sie einen Branch daraus:

git checkout tags/v9.0.0

Wenn ein neueres Tag später erscheint, ersetzen Sie seinen Namen entsprechend.

Optionale Anforderungen (Parallelismus und andere)

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:

Systemweite Installation

Installieren Sie Voraussetzungen für MPI, Metis, HDF5, MED und MUMPS. Paketnamen unterscheiden sich leicht zwischen Debian- und Ubuntu-Derivaten (Mint), verwenden Sie also das unten stehende Matching-Set.

Debian (aktuell stabil und 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 und Derivate (aktivieren Universe first, wenn noch nicht fertig):

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

Anmerkungen:

If your release uses “t64” suffixed packages (for example, libmedc11t64), accept those names as offered by apt.

SALOME

Dieser Workflow erklärt die Installation von SALOME unter Linux Mint / Ubuntu. Die Mindestlaufzeitabhängigkeiten erfordern (mindestens) folgende Installationen:

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

Die minimalen Compil-Abhängigkeiten erfordern folgende Installationen:

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. Bestätigen Sie Ihre Linux Version:

    • Debian: cat /etc/os-release

    • Minze: lsb_release -a

    • Ubuntu: inxi -Sx (funktioniert auch auf Mint)

  2. Laden Sie den SALOME Build herunter

    • Gehen Sie zum offiziellen SALOME-Downloadformular]

    • Wählen Sie die neueste Version mit dem Ubuntu-Build (die der Mint-Basis entspricht); oder wählen Sie die weniger häufig aktualisierte “Linux Universal”

  3. Verify the checksum: from SALOME’s md5 page, fetch the matching .md5 file for your archive and verify locally

    • Beispiel für den 9.15 Tarball: im Download-Verzeichnis des Tarballs laufen md5sum SALOME-9.15.0.tar.gz (Terminal)

    • Gehen Sie zu SALOMEs md5 page], wählen Sie die entsprechende md5-Datei aus und überprüfen Sie, ob ihr Inhalt genau der Antwort des Terminals entspricht.

    • ** Überspringen Sie das nicht! **

  4. Extract somewhere clean and sane; for example as sudo for the entire system (adjust name if you chose a different archive), or following this workflow fow installing TELEMAC in /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. Lassen Sie SALOME Ihr System überprüfen und installieren, wonach es verlangt

    • Identifizieren Sie im extrahierten SALOME-Verzeichnis den Anwendungsnamen

    cd /home/HyInfo/opt/salome/sat
    ./sat config --list
    • Verwenden Sie den angegebenen Anwendungsnamen; die folgenden Beschreibungen gehen davon aus, dass der Anwendungsname SALOME-9.15.0-native lautet.

    • Führen Sie den eingebauten Checker aus; er druckt aus, welche Pakete möglicherweise fehlen:

    cd /home/HyInfo/opt/salome/sat
    ./sat config SALOME-9.15.0-native --check_system
    • Install the packages it lists via apt, then rerun the check until it is clean.

  2. Stellen Sie sicher, dass 3D / OpenGL in Ordnung ist: Überprüfen Sie den richtigen Treiberstapel (insbesondere für NVIDIA) vor dem Start; Lesen Sie mehr auf SALOME PLATFORM FAQ]

  3. Starten Sie SALOME aus dem Ordner SALOME:

Wenn Sie auf Berechtigungsfehler stoßen, stellen Sie sicher, dass Sie an einen Ort extrahiert haben, den Sie besitzen, oder beheben Sie das Eigentum. Einige Benutzer hatten Probleme mit ungeraden Standorten oder WSL; halten Sie sich an einen normalen Dateisystempfad, den Sie kontrollieren.

Es gibt auch eine Containeroption: Man kann SALOME über Docker/Apptainer ausführen, aber die ParaViS/ParaView-Beschleunigung in Containern ist notorisch fehlerhaft und bricht oft; das SALOME-Forum dokumentiert das Rendern von Problemen in Docker.

Compiler TELEMAC

Anpassen und Verifizieren der Konfigurationsdatei (systel.x.cfg)

Geschätzte Dauer: 2-20 Minuten.

The systel.x.cfg file tells TELEMAC how to compile and launch its modules on your computer. More specifically, it is TELEMAC’s central configuration that defines builds and runtime environments, including compilers, compiler flags, MPI and related options, external libraries, and paths. In practice we use this file to declare flags and to point TELEMAC to optional dependencies. By default, TELEMAC looks for configuration files under ./configs/ (for example configs/systel.cfg), and one can override the path with the SYSTELCFG environment variable or the -f option of the Python launcher.

This section describes the setup of systel.x.cfg for:

Recall that we describe the single-user installation of TELEMAC under the local home directory /home/HyInfo/opt/telemac-mascaret and that we installed SALOME in /home/HyInfo/opt/salome.

Beachten Sie, dass wir weder die API noch die AED2 (waqtel) und GOTM (general ocean) Module aktiviert haben.

Our cfg and pysource files define a single build (e.g., hyinfompiubu on Mint / Ubuntu) for TELEMAC v9.0, enabling mpi and dyn options and using GNU compilers (cc=mpicc, fc=mpifort backed by gfortran). External libraries are linked via include and library blocks for OpenMPI, HDF5, MED (via SALOME), METIS, and MUMPS with ScaLAPACK, BLAS, and LAPACK. RPATH entries are added so the runtime can locate HDF5 and related libraries, using paths that match typical Debian and Ubuntu layouts.

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).

Um es für die Zusammenstellung von TELEMAC zu verwenden:

  1. Laden Sie systel.mint22.cfg] aus unserem GitHub-Repository herunter oder kopieren Sie die Dateiinhalte unten in den TELEMAC /configs-Ordner, hier: /home/HyInfo/opt/telemac-mascaret/configs.

  2. Öffnen Sie systel.mint22.cfg in einem Texteditor (z. B. gedit) und ersetzen Sie die beiden /home/HyInfo/opt/salome Pfadintances durch Ihren SALOME Installationspfad.

  3. Überprüfen Sie die Installationspfade von Optionalen, insbesondere HDF5, MED und Mumps.

  4. Save systel.mint22.cfg and close the text editor.

# _____                              _______________________________
# ____/ 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>

Einrichten der Python Source File

Geschätzte Dauer: 4-20 Minuten.

The Python source file also lives in TELEMAC’s /configs folder, where a template called pysource.template.sh is available. Specifically, the pysource file is a shell “env” script that one can source in every terminal before building or running TELEMAC. It sets four anchors the Python launcher uses: HOMETEL, SYSTELCFG, USETELCFG, and SOURCEFILE. TELEMAC’s Python scripts look up SYSTELCFG and selects the section named in USETELCFG. This section guides through either using our pysource.mint22.sh / pysource.debian12.sh (without AED2), or a customized source file.

Mint 22 / Ubuntu 24
Debian 12
Customization

To facilitate setting up the pysource.mint22.sh file on Linux Mint 22 / Ubuntu 24, our template is designed for use with the above-described systel.mint22.cfg configuration file, and it is based on the default-provided pysource.template.sh. To use it for compiling TELEMAC:

  1. Laden Sie pysource.mint22.sh] aus unserem GitHub-Repository herunter oder kopieren Sie die Dateiinhalte unten in den TELEMAC /configs-Ordner, hier: /home/HyInfo/opt/telemac-mascaret/configs und speichern Sie als pysource.mint22.sh.

  2. Öffnen Sie pysource.mint22.sh in einem Texteditor (z. B. gedit) und überprüfen Sie die Installationspfade. Beachten Sie, dass die Datei die folgende Definition enthält, was sie fast unabhängig von der Definition Ihres Installationspfads macht, solange Salome im gleichen Verzeichnis im Vergleich zu dem Ort liegt, an dem Sie TELEMAC heruntergeladen haben: _THIS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

  3. Überprüfen Sie die Installationspfade von optionalen Geräten, insbesondere HDF5, MED (insbesondere SALOME) und Mumps.

  4. Save pysource.mint22.sh and close the text editor.

Unsere pysource.mint22.sh-Datei sieht so aus:

#!/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"

Compilation

Geschätzte Dauer: 20-30 Minuten (das Kompilieren braucht Zeit).

The compiler is invoked by TELEMAC’s Python tools using the shell environment set by your pysource script (pysource.mint22.sh or pysource.debian12.sh). That script tells TELEMAC where helper programs and libraries live and which configuration to use. With it in place, compiling becomes straightforward from Terminal. First, source the appropriate pysource file and then verify the setup by running 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

Sourcing the our pysource.mint22.sh or pysource.debian12.sh scripts should echo the TELEMAC paths and the configuration name. Running config.py should display the ASCII banner and finish with My work is done. If not, read the error output carefully; typical causes are typos in paths or filenames, or mistakes inside pysource.x.sh or your systel.*.cfg.

After config.py completes successfully, compile TELEMAC. Use the --clean flag to remove any artifacts from prior builds and avoid conflicts:

compile_telemac.py --clean

Der Build läuft eine Weile und sollte mit der Nachricht My work is done enden. Wenn es mit Fehlern aufhört, scrollen Sie zum ersten Fehler und beheben Sie das gemeldete Problem, bevor Sie den Befehl erneut ausführen.

Test TELEMAC

Geschätzte Dauer: 5-10 Minuten.

Nach dem Schließen des Terminals oder bei einem Neustart des Systems müssen Sie die TELEMAC-Umgebung erneut laden, bevor Sie sie ausführen:

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

Run a predefined case from the examples folder:

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

Um die Parallelität zu überprüfen, installieren Sie htop, um die CPU-Auslastung zu visualisieren:

sudo apt update
sudo apt install htop

Starten Sie den CPU-Monitor:

htop

Führen Sie in einem neuen Terminal-Tab ein TELEMAC-Beispiel mit dem --ncsize=N-Flag aus, wobei N die Anzahl der zu verwendenden logischen CPUs ist (stellen Sie sicher, dass mindestens N verfügbar sind):

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

Alternatively, use --nctile and --ncnode to specify cores per node (NCTILE) and number of nodes (NCNODE), respectively, with NCSIZE = NCTILE * NCNODE. The following two commands are equivalent (from ~/opt/telemac-mascaret/examples/telemac2d/donau):

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

Während die Berechnung läuft, beobachten Sie die gesamte CPU-Auslastung. Wenn mehrere Kerne eine anhaltende Aktivität in unterschiedlichen Prozentsätzen zeigen, funktioniert der Parallellauf.

TELEMAC should start, run the example, and finish with My work is done. To gauge efficiency, vary --ncsize. For instance, on a contemporary laptop the donau case often runs in approx. 1 minute with --ncsize=4 and approx. 2-3 minutes with --ncsize=2; exact timings depend on hardware, mesh size, and I/O. Scaling is not linear due to domain-partition overhead, memory bandwidth limits, and hyperthreading, so launching several smaller jobs on fewer cores can be more efficient than one job on many cores.

TELEMAC erzeugen Dokumentation

TELEMAC includes many application examples under /telemac-mascaret/examples/, and you can build the user and reference manuals locally. First, load the TELEMAC environment:

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

To generate the user manual (this can take a while and requires latex, that is, texlive on Debian/Ubuntu):

doc_telemac.py

Zur Erstellung des Referenzhandbuchs:

doc_telemac.py --reference

Erstellen von Dokumentations- und Validierungsberichten für alle Beispielfälle:

validate_telemac.py

Versorgungsunternehmen (Vor- und Nachbearbeitung)

QGIS und das Q4TS Plugin (Linux und Windows)

Geschätzte Dauer: 5-10 Minuten (abhängig von der Verbindungsgeschwindigkeit).

QGIS is a powerful tool for viewing, creating, and editing geospatial data and is useful for both pre- and post-processing. Installation guidance appears in the QGIS instructions and the QGIS tutorial in this eBook. The Q4TS plugin supports preparing and post-processing files for TELEMAC and can be linked with SALOME to launch TELEMAC from a GUI.

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

After installation, Q4TS adds tools in the QGIS Processing Toolbox for MED -- SLF conversion, mesh refinement, boundary creation, friction table editing, and more. Basic utility for post-processing is described in the steady-flow simulation tutorial <tm-use-q4ts> with 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:Die Konfiguration des Q4TS unter Ubuntu Linux. Um diese Pfade in QGIS festzulegen, gehen Sie zu Einstellungen (oberes Menü) > Optionen... > Verarbeitung > Anbieter > Q4TS.

Artelia Mesh Tools

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.

Nachdem Sie das Plugin über den QGIS Plugin Manager installiert haben, greifen Sie über Mesh > Mesh Tools darauf zu.

BlueKenue (Windows oder Linux+Wine)

Geschätzte Dauer: 10 Minuten.

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. On Windows: run the BlueKenue .msi installer directly.

  2. Unter Linux: Verwenden Sie Wine amd64 bis PlayOnLinux, um BlueKenueTM zu installieren. Für Ubuntu/Debian-Systeme siehe den Abschnitt PlayOnLinux in diesem eBook. Die Installation nur mit reinem Wein wird aufgrund allgemeiner Kompatibilitätsprobleme entmutigt.

Typische BlueKenueTM Ausführbare Standorte sind:

Weitere plattformübergreifende Anleitungen finden Sie im CHyMS FAQ, insbesondere im Abschnitt zum Ausführen von Blue Kenue auf anderen Betriebssystemen].

Fudaa-PrePro (Linux und Windows)

Geschätzte Dauer: 5-15 Minuten (oberes Zeitlimit, wenn Java installiert werden muss).

Fudaa-PrePro ist ein Java-basiertes grafisches Frontend für das TELEMAC-System, das Ihnen hilft, Modelle einzurichten, indem Sie Meshes, Rand- und Anfangsbedingungen definieren und (.cas) Dateien steuern, und es kann auch Simulationen starten und bei der grundlegenden Nachbearbeitung helfen. Es wird vom Fudaa-Projekt gepflegt und mit Dokumentation und Downloads auf seiner Website verteilt und von den TELEMAC-Entwicklern als benutzerfreundlicher Vorprozessor für die Konfiguration von Berechnungen bezeichnet. Machen Sie sich bereit mit der Vor- und Nachbearbeitungssoftware Fudaa-PrePro:

Wenn Sie einen Fehler sehen wie:

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

edit supervisor.sh and replace $PWD Fudaa with $(pwd)/Fudaa so the classpath resolves correctly. You can also adjust the default RAM setting in supervisor.sh (or supervisor.bat). Fudaa-PrePro often ships with -Xmx6144m (≈6 GB); increase it for very large meshes (millions of nodes) or decrease it on low-RAM systems. Set -Xmx to a sensible multiple of 512 MB. For example, to use 2 GB and fix the classpath:

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