Index: /trunk/ARCH/arch-MESOIPSL-gnu.env
===================================================================
--- /trunk/ARCH/arch-MESOIPSL-gnu.env	(revision 3551)
+++ /trunk/ARCH/arch-MESOIPSL-gnu.env	(revision 3551)
@@ -0,0 +1,8 @@
+# Compile and running environnement for Spirit and Spiritx at IPSL ESPRI Mesocenter
+#
+module purge
+module load openmpi/4.0.7
+module load hdf5/1.10.7-mpi
+module load netcdf-fortran/4.5.3-mpi
+module load netcdf-c/4.7.4-mpi
+
Index: /trunk/ARCH/arch-MESOIPSL-gnu.path
===================================================================
--- /trunk/ARCH/arch-MESOIPSL-gnu.path	(revision 3551)
+++ /trunk/ARCH/arch-MESOIPSL-gnu.path	(revision 3551)
@@ -0,0 +1,20 @@
+NETCDF_INCDIR="$(nc-config --cflags) $(nc-config --fflags)"
+NETCDF_LIBDIR="$(nc-config --libs) $(nf-config --flibs)"
+NETCDF_LIB="-lnetcdf -lnetcdff "
+
+MPI_INCDIR=""
+MPI_LIBDIR=""
+MPI_LIB=""
+
+HDF5_INCDIR=""
+HDF5_LIBDIR=""
+HDF5_LIB=""
+
+IOIPSL_INCDIR="-I$PWD/../IOIPSL/inc"
+IOIPSL_LIBDIR="-L$PWD/../IOIPSL/lib"
+IOIPSL_LIB="-lioipsl"
+
+XIOS_ROOTDIR="$PWD/../XIOS"
+XIOS_INCDIR="-I$XIOS_ROOTDIR/inc"
+XIOS_LIBDIR="-L$XIOS_ROOTDIR/lib"
+XIOS_LIB="-lxios -lstdc++"
Index: /trunk/ARCH/arch-ifort_MESOIPSL.path
===================================================================
--- /trunk/ARCH/arch-ifort_MESOIPSL.path	(revision 3550)
+++ /trunk/ARCH/arch-ifort_MESOIPSL.path	(revision 3551)
@@ -2,5 +2,5 @@
 
 NETCDF_INCDIR="$(nc-config --cflags) $(nc-config --fflags)"
-NETCDF_LIBDIR="-L${NETCDF_FORTRAN_ROOT}/lib -L${NETCDF_C_ROOT}/lib "
+NETCDF_LIBDIR="$(nc-config --libs) $(nf-config --flibs)"
 NETCDF_LIB="-lnetcdff -lnetcdf"
 
Index: /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.env
===================================================================
--- /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.env	(revision 3551)
+++ /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.env	(revision 3551)
@@ -0,0 +1,8 @@
+# Compile and running environnement for Spirit and Spiritx at IPSL ESPRI Mesocenter
+#
+module purge
+module load openmpi/4.0.7
+module load hdf5/1.10.7-mpi
+module load netcdf-fortran/4.5.3-mpi
+module load netcdf-c/4.7.4-mpi
+
Index: /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.fcm
===================================================================
--- /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.fcm	(revision 3551)
+++ /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.fcm	(revision 3551)
@@ -0,0 +1,19 @@
+%COMPILER            mpif90
+%LINK                mpif90
+%AR                  ar
+%MAKE                make
+%FPP_FLAGS           -P -traditional
+%CPP_FLAGS           -P
+%FPP_DEF             NC_DOUBLE LAPACK BLAS SGEMV=DGEMV SGEMM=DGEMM
+%CPP_DEF             LAPACK
+%BASE_FFLAGS         -fcray-pointer -c -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fno-align-commons
+%PROD_FFLAGS         -O3
+%DEV_FFLAGS          -O2 -Wall -fbounds-check
+%DEBUG_FFLAGS        -ffpe-trap=invalid,zero,overflow -fbounds-check -g3 -O0 -fstack-protector-all -finit-real=nan -fbacktrace
+%C_COMPILER          mpicc
+%C_OPTIM             -O3
+%MPI_FFLAGS
+%OMP_FFLAGS          -fopenmp
+%BASE_LD             -llapack -lblas
+%MPI_LD
+%OMP_LD              -fopenmp
Index: /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.path
===================================================================
--- /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.path	(revision 3551)
+++ /trunk/LMDZ.COMMON/arch/arch-MESOIPSL-gnu.path	(revision 3551)
@@ -0,0 +1,13 @@
+ROOT=$PWD
+
+NETCDF_INCDIR="$(nc-config --cflags) $(nf-config --fflags)"
+NETCDF_LIBDIR="$(nc-config --libs) $(nf-config --flibs)"
+NETCDF_LIB=""
+
+IOIPSL_INCDIR="-I$ROOT/../IOIPSL/inc"
+IOIPSL_LIBDIR="-L$ROOT/../IOIPSL/lib"
+IOIPSL_LIB="-lioipsl"
+
+XIOS_INCDIR="-I$ROOT/../XIOS/inc"
+XIOS_LIBDIR="-L$ROOT/../XIOS/lib"
+XIOS_LIB="-lxios -lstdc++"
Index: /trunk/LMDZ.COMMON/ioipsl/install_ioipsl_MESOIPSL-gnu.bash
===================================================================
--- /trunk/LMDZ.COMMON/ioipsl/install_ioipsl_MESOIPSL-gnu.bash	(revision 3551)
+++ /trunk/LMDZ.COMMON/ioipsl/install_ioipsl_MESOIPSL-gnu.bash	(revision 3551)
@@ -0,0 +1,67 @@
+#!/bin/bash
+# script to download and install the latest version of IOIPSL on Spirit
+#
+
+arch=MESOIPSL-gnu
+
+#0. Preliminary stuff
+
+if (( $# == 0 ))
+then
+  # default behavior: get latest version of IOIPSL
+  rev="HEAD"
+else
+  # but otherwise the first argument of the script can be the version to use
+  if (( $# == 1 ))
+  then
+    rev=$1
+  else
+    echo "Error, invalid script arguments"
+    echo "Usage:"
+    echo "$0 rev"
+    echo " where optional rev is the IOIPSL revision number"
+    exit
+  fi
+fi
+
+# cleanup possible previous attempt:
+\rm -rf ../../IOIPSL modipsl
+
+# 1. Get IOIPSL
+# move up at same level as LMDZ.COMMON , etc.
+cd ../..
+svn co --username icmc_users --password icmc2022 --non-interactive --revision $rev http://forge.ipsl.fr/igcmg/svn/IOIPSL/trunk IOIPSL
+
+# 2. Set correct settings: copy over arch.* files
+cd IOIPSL
+cp -f ../LMDZ.COMMON/arch/arch-${arch}.env arch
+cp -f ../LMDZ.COMMON/arch/arch-${arch}.path arch
+cp -f ../LMDZ.COMMON/arch/arch-${arch}.fcm arch
+
+## 3. build ioipsl:
+./makeioipsl_fcm -arch ${arch} -job 8 > makeioipsl.out 2>&1
+
+## 4. Check if the library was indeed built:
+whereami=`pwd -P`
+if [[ -f lib/libioipsl.a ]]
+  then
+  echo "OK: ioipsl library is in ${whereami}/lib"
+else
+  echo "Something went wrong... check messages in ${whereami}/makeioipsl.out"
+  exit
+fi
+
+## 5. Comply with old setup and make appropriate links
+cd ../LMDZ.COMMON/ioipsl
+mkdir modipsl
+cd modipsl
+# lib + module files
+mkdir lib
+cd lib
+ln -s ../../../../IOIPSL/lib/libioipsl.a .
+ln -s ../../../../IOIPSL/inc/* .
+cd ..
+# rebuild utility
+mkdir bin
+cd bin
+ln -s ../../../../IOIPSL/bin/* .
