SEAWAT est un logiciel générique basé sur MODFLOW/MT3DMS, conçu pour simuler l’écoulement tridimensionnel des eaux souterraines à densité variable, couplé au transport de solutés et de chaleur impliquant plusieurs espèces. Ce logiciel a été utilisé dans de nombreuses études sur les eaux souterraines, notamment celles portant sur la migration de saumure dans les aquifères continentaux et celles sur l’intrusion d’eau salée dans les aquifères côtiers. SEAWAT utilise la structure familière de  MODFLOW  et MT3DMS.

Source : https://www.usgs.gov/software/seawat-a-computer-program-simulation-three-dimensional-variable-density-ground-water-flow

 

Exemple de code sur IO :

#!/bin/bash
#SBATCH --job-name=seawat_henry         # Nom du job
#SBATCH --output=seawat_%j.out          # Sortie standard (%j = job ID)
#SBATCH --error=seawat_%j.err           # Sortie erreur
#SBATCH --ntasks=1                      # 1 tâche (code séquentiel)
#SBATCH --cpus-per-task=1               # 1 CPU (augmenter si parallèle)
#SBATCH --mem=4G                        # Mémoire RAM allouée
#SBATCH --time=01:00:00                 # Durée max (hh:mm:ss)

#SBATCH --partition=cpu-dedicated
#SBATCH --account=dedicated-cpu@your_account

# ---------------------------------------------------------------
# Chemins vers l'image et le dossier de travail 
# ---------------------------------------------------------------
IMAGE=/Chemin vers l'image sif  # à adapter
WORKDIR=/scratch/users/$USER/tests_modflow-seawat/

# ---------------------------------------------------------------
# Informations de démarrage
# ---------------------------------------------------------------
echo "========================================"
echo "Job ID       : $SLURM_JOB_ID"
echo "Node         : $SLURMD_NODENAME"
echo "Début        : $(date)"
echo "Répertoire   : $WORKDIR"
echo "Image        : $IMAGE"
echo "========================================"

# ---------------------------------------------------------------
# Répertoire de travail temporaire local au nœud
# ---------------------------------------------------------------
RUNDIR=${TMPDIR:-/tmp}/seawat_${SLURM_JOB_ID}
mkdir -p "$RUNDIR"

# Copie de tous les fichiers source dans le répertoire de travail
cp "$WORKDIR"/* "$RUNDIR"/ 2>/dev/null || true


# ---------------------------------------------------------------
# Lancement via Apptainer
# ---------------------------------------------------------------
apptainer exec \
    --bind "$RUNDIR":/workspace \
    --workdir /workspace \
    --env PYTHONWARNINGS="ignore::UserWarning" \
    --env PATH="/workspace:/opt/seawat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \
    "$IMAGE" \
    python3 -W ignore Optimize_main.py

EXIT_CODE=$?

# ---------------------------------------------------------------
# Récupération des résultats vers le dossier source
# ---------------------------------------------------------------
RESDIR="$WORKDIR/resultats_${SLURM_JOB_ID}"
mkdir -p "$RESDIR"
for ext in png csv txt hds UCN cbc lst; do
    cp "$RUNDIR"/*.$ext "$RESDIR"/ 2>/dev/null || true
done
echo "Résultats copiés dans : $RESDIR"


# ---------------------------------------------------------------
# Fin du job
# ---------------------------------------------------------------
echo "========================================"
echo "Fin          : $(date)"
echo "Statut       : $?"
echo "========================================"
------------------------------------------------------