
##############################################################
# Gestion des modules
##############################################################

hostname=$(hostname)
echo "Setting up lmdz_env on $hostname"

case ${hostname:0:5} in
  jean-)
    ARCH="X64_JEANZAY"
    module purge
    compilo=19.0.4 # available 2013.0, 2017.2
    module load intel-compilers/$compilo
    #module load intel-mpi/$compilo
    module load intel-mkl/$compilo
    module load hdf5/1.10.5-mpi
    module load netcdf/4.7.2-mpi
    module load netcdf-fortran/4.5.2-mpi
    module load subversion/1.9.7
    #Pour module gcc, voir : https://trac.lmd.jussieu.fr/LMDZ/wiki/PortageJeanZay
    #module load gcc/6.5.0
    module load nco
    module load cdo
    # Imputation de la consommation sur le groupe (projet) actif par defaut,
    #   idrproj indique le groupe (projet) actif par defaut
    #   idrproj -d newproj   redefinit "newproj" en tant que  projet actif,
    #        alors $STORE, $WORK etc vont designer les espaces de "newproj")
    groupe=$(idrproj | grep active | awk '{ print $1}')
    submit="sbatch -A ${groupe}@cpu "
    run="srun --label -n "
    # Espaces suivants definis par defaut en fonction du groupe actif,
    #  par exemple : SCRATCHD=$SCRATCH is /gpfsstore/rech/$groupe/$login
                #    * On peut aussi ne pas installer les scripts a la racine de STORE,
                #        mais dans STORED=$STORE/your_folder
    STORED=$STORE
    SCRATCHD=$SCRATCH
    LMDZD=$WORK
    NB_MPI_MAX=2000
    NB_OMP_MAX=20
    #LMDZ_Init sur le $STORE du $groupe
    LMDZ_Init=$STORE/LMDZ_Init ;;
  *)  # TODO mettre clairement dans ce paragraphe une doc de chaque param
    ARCH="local-gfortran-parallel"
#    submit=". "
#    run="mpirun -np "
#    SCRATCHD="/tmp/SCRATCH"
#    STORED=~"/TMP/"
    LMDZD="./LMDZD"
    NB_MPI_MAX=999999
    NB_OMP_MAX=999999
#    LMDZ_Init=~"/LMDZ/LMDZ_Init"
esac


#echo LMDZ_Init dans lmdz_env $LMDZ_Init
