Les images SIF de Fluidity sur IO (fluidity_4-1-20.sif et fluidity_spud_diamond_07112025.sif) sont disponibles dans le dossier : work_group/fluidity-apptainer

(contacter le responsable du groupe work_group ppour connaître le chemin à adapter).

Les fichiers de tests sont disponibles dans le dossier : /work_group/tests_fluidity_apptainer/

Pour ouvrir une fenêtre “diamond” (si connexion en ssh -X) :
apptainer exec work_group/fluidity-apptainer/fluidity_spud_diamond_27102025.sif diamond Myfile.flml

Pour que diamond fonctionne (i.e. lise les fichiers type .flml de fluidity), il faut ajouter dans son $HOME un dossier et sous-dossier “.diamond/schemata” avec à l’intérieur un fichier nommé “flml” qui contienne les 2 lignes suivantes :

nano $HOME/.diamond/schemata/flml

Fluidity Markup Language
/work_group/fluidity_schemas/fluidity_options.rng

Pour lancer une simulation avec Fluidity, utiliser l’image fluidity_4-1-20.sif et non fluidity_spud_diamond_27102025.sif

Exemple pour lancer un code en série avec Fluidity sur le nouveau cluster IO :

#!/bin/sh
#SBATCH --job-name=   ###job name
#SBATCH --time=00-05:00:00
#SBATCH --mail-type=ALL
#SBATCH --mail-user=     ###your mail
#SBATCH --partition=cpu-dedicated
#SBATCH --account=dedicated-cpu@your_account
#SBATCH --mem=20GB
#SBATCH --output=Resultat_conv_serial_%j.out
#SBATCH --error=Erreur_conv_serial_%j.err




###----Nettoyage des  modules
module purge

###--- Declaration des variables
path_to_scratch="/scratch/users/$USER"
path_to_image="/work_group/fluidity-apptainer"      ## Path to fluidity image and environment file
flmlfile="convection"          ## Name of flml-Input file

###########################################################

###--- Commands to Run fluidity through apptainer in serial  ---###

###########################################################

###--- Definition de la commande 
exec2="fluidity ${flmlfile}.flml" ## To run fluidity

###---Redirection du cache
export APPTAINER_CACHEDIR="$path_to_scratch/apptainer/cache"
mkdir -p "$APPTAINER_CACHEDIR"



##---- Run Fluidity 
apptainer exec $path_to_image/fluidity_spud_diamond_27102025.sif $exec2

Exemple pour lancer un code en parallèle avec Fluidity sur le nouveau cluster IO :

#!/bin/sh
#SBATCH --job-name=   ###job name
#SBATCH --time=00-05:00:00
#SBATCH --mail-type=ALL
#SBATCH --mail-user=   ###your email
#SBATCH --partition=cpu-dedicated
#SBATCH --account=dedicated-cpu@your_account
#SBATCH --ntasks=10
#SBATCH --mem=20GB
#SBATCH --output=Resultat_conv_para_%j.out
#SBATCH --error=Erreur_conv_para_%j.err




###---- Nettoyage des  modules
module purge

###--- Declaration des variables
path_to_scratch="/scratch/users/$USER"
path_to_image="/work_group/geodyn/fluidity-apptainer"      ## Path to fluidity image and environment file
flmlfile="convection"          ## Name of flml-Input file


export TMPDIR=$PWD/tmp
export APPTAINER_TMPDIR=$TMPDIR
mkdir -p $TMPDIR

export APPTAINER_CACHEDIR="$path_to_scratch/apptainer/cache"
mkdir -p "$APPTAINER_CACHEDIR"

### Pour supprimer les warnings OpenMPI/Infiniband
export OMPI_MCA_btl='^openib'
export OMPI_MCA_btl_openib_warn_no_device_params_found=0
export PMIX_MCA_gds=hash
export PMIX_MCA_verbose=0

# Décomposition MPI
srun apptainer exec --bind $PWD --pwd $PWD $path_to_image/fluidity_spud_diamond_27102025.sif \
    flredecomp -i 1 -o ${SLURM_NTASKS} ${flmlfile} para_${flmlfile}

# Simulation parallèle
srun apptainer exec --bind $PWD --pwd $PWD $path_to_image/fluidity_spud_diamond_27102025.sif \
    fluidity para_${flmlfile}.flml