Fluidity sur IO

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