Skip to content
Snippets Groups Projects
configure 23.7 KiB
Newer Older
#MNH_LIC Copyright 1994-2023 CNRS, Meteo-France and Universite Paul Sabatier
#MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
#MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
#MNH_LIC for details. version 1.
#set -x
#set -e
if [ "x$XYZ" = "x" ]
then
export VERSION_MASTER=${VERSION_MASTER:-MNH-V5-5-OPENACC-FFT}
export VERSION_BUG=${VERSION_BUG:-1}
export VERSION_XYZ=${VERSION_XYZ:-${VERSION_MASTER}-${VERSION_BUG}${VER_OASIS:+-${VER_OASIS}}}
export VERSION_DATE=${VERSION_DATE:-"19/03/2021"}
export VERSION_LIBAEC=${VERSION_LIBAEC:-"1.1.2"}
export VERSION_HDF=${VERSION_HDF:-"1.14.2"}
export VERSION_CDFC=${VERSION_CDFC:-"4.9.2"}
export VERSION_CDFCXX=${VERSION_CDFCXX:-"4.3.1"}
export VERSION_CDFF=${VERSION_CDFF:-"4.6.1"}
export VERSION_GRIBAPI=${VERSION_GRIBAPI:-"1.26.0-Source"}
export VERSION_ECCODES=${VERSION_ECCODES:-"2.18.0"}
export ECCODES_DEFINITION_PATH=${ECCODES_DEFINITION_PATH:-${SRC_MESONH}/src/LIB/eccodes-${VERSION_ECCODES}"/definitions/"}
export MNH_INT=${MNH_INT:-"4"}
export LFI_INT=${LFI_INT:-8}
export MNH_REAL=${MNH_REAL:-"8"}
export MNH_IOCDF4=${MNH_IOCDF4:-1}

export VERSION_OASIS=${VERSION_OASIS:-"mct_v3"}
export VERSION_TOY=${VERSION_TOY:-"v1-0"}
export VERSION_NCL=${VERSION_NCL:-"ncl-6.4.0"}
export VERSION_ECRAD=${VERSION_ECRAD:-"1.4.0"}
#
#  Install MNH_EXPAND if VER_MNHEXP=MNHEXPAUTO
#
export VER_MNHEXP=${VER_MNHEXP:-"MNHEXPAUTO"}
export VERSION_MNHEXP=${VERSION_MNHEXP:-"MNH_EXPAND_1-2-2"}
export VERSION_FILEPP=${VERSION_FILEPP:-"1.8.0"}

export LEN_HREC=${LEN_HREC:-16}

#
export NEED_TOOLS=YES
#
export LOCAL=${PWD%/src}
RACINE=$(basename $LOCAL )
#
cd ${LOCAL}/conf
#
TARG=$(uname -s -n)
#
case "$TARG" in
'Linux turpan'*)  # Turpa, A100
                export ARCH=${ARCH:-LXnvhpc2202}
                export VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-OPENACCO2}
                export MVWORK=${MVWORK:-NO}
                export VER_CDF=${VER_CDF:-CDFAUTO}
 case "${ARCH}" in
*LXnvhpc*) # NVIDIA Compiler		    
export MNHENV=${MNHENV:-"
module purge
module load nvidia
module load nvhpc/22.11
module load cmake/3.25.1 

export CUDALEVEL=cuda11.8
export OPT_CPTCAP=cc80

module list
"}
  ;;
*LXarm*) # ARM Compiler
# No true OpenACC ->     
[[ "${OPTLEVEL}" =~ "OPENACCO2" ]] && OPTLEVEL=OPENACCDEFONLY   
export MNHENV=${MNHENV:-"
module purge
module load arm 
module load binutils/11.2.0 
module load acfl/23.04 
module load openmpi/arm/4.1.4-cpu
module load cmake/3.25.1 

module list
"}
  ;;
  esac
 ;;
'Linux login'*leonardo*)  # Leonardo A100
                export ARCH=${ARCH:-LXnvhpc2202}
                export VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-OPENACCO2}
                export MVWORK=${MVWORK:-NO}
                export VER_CDF=${VER_CDF:-CDFAUTO}
	
export MNHENV=${MNHENV:-"
module purge
module load git-lfs
module load nvhpc/23.1
module load openmpi/4.1.4--nvhpc--23.1-cuda-11.8
module load cuda/11.8

export CUDALEVEL=cuda11.8
export OPT_CPTCAP=cc80

export NVHPC_CUDA_HOME=\$CUDA_HOME

module list
"}
;;
'Linux uan'*)  # LUMI MI250
                export ARCH=${ARCH:-LXcray}
                export VER_MPI=${VER_MPI:-MPICRAY}
                export OPTLEVEL=${OPTLEVEL:-OPENACCO2}
                export MVWORK=${MVWORK:-YES}
                export VER_CDF=${VER_CDF:-CDFAUTO}
	
export MNHENV=${MNHENV:-"
module purge
module load LUMI/23.09  partition/G
module load craype-x86-trento craype-accel-amd-gfx90a
module load PrgEnv-cray/8.4.0
module load craype/2.7.23
module load cce/16.0.1
module load craype-network-ofi
module load cray-mpich/8.1.27
module load libfabric/1.15.2.0
module load rocm/5.2.3
module rm cray-libsci

module load EasyBuild-user 
module load git-lfs/3.4.0 

export CCE_ALIAS_NONE=:on
export CCE_NO_PTR_TO_PTR_ALIAS=:on

export LD_LIBRARY_PATH=\${CRAY_LD_LIBRARY_PATH}:\${LD_LIBRARY_PATH}

module list
"}
              ;;
                export ARCH=${ARCH:-LXcray}
                export VER_MPI=${VER_MPI:-MPICRAY}
                export MVWORK=${MVWORK:-NO}
                export VER_CDF=${VER_CDF:-CDFAUTO}
export MNHENV=${MNHENV:-"
module purge
module load craype-x86-trento
module load craype-network-ofi
module load PrgEnv-cray/8.3.3
module load cce/16.0.0
module load craype/2.7.21
module load cray-mpich/8.1.26

if ! ( [[ \"\${OPTLEVEL}\" =~ \"DEFONLY\" ]] ) ; then

export CCE_ALIAS_NONE=:on
export CCE_NO_PTR_TO_PTR_ALIAS=:on

export LD_LIBRARY_PATH=\${CRAY_LD_LIBRARY_PATH}:\${LD_LIBRARY_PATH}
                export ARCH=${ARCH:-LXifort}
                export VER_MPI=${VER_MPI:-MPIINTEL}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-NO}
                export VER_CDF=${VER_CDF:-CDFAUTO}
                export MNHENV=${MNHENV:-"
module purge
module load intel-compilers/19.1.3
module load intel-mpi/2019.9
ulimit -s unlimited
export SLURM_CPU_BIND=none
export I_MPI_PIN_PROCESSOR_LIST=all:map=spread
module load imagemagick/7.0.8-7
module load anaconda-py3/2020.11
conda activate climate_science

'Linux'*'occigen'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIINTEL}
                export OPTLEVEL=${OPTLEVEL:-O2}
		export VER_CDF=${VER_CDF:-CDFAUTO}
                export   MNHENV=${MNHENV:-"
ulimit -s unlimited
module purge
export SLURM_CPU_BIND=none
export I_MPI_PIN_PROCESSOR_LIST=all:map=spread
# force CC=gcc , for HDF5 divide by zero problem with icc !!!
export CC=gcc
export I_MPI_CC=gcc
'Linux service'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIICE}
		export NEED_NCARG=${NEED_NCARG:-YES}
                export MVWORK=${MVWORK:-NO}
	        domain=$(grep .fr /etc/hosts | head -1 )
                case "${domain}" in
*cines*) # jade
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFICE}
		export NEED_NCARG=${NEED_NCARG:-YES}
                export MNHENV=${MNHENV:-"
module rm netcdf ; module load netcdf/4.0
module rm MPT    ; module load MPT/2.02
module rm intel  ; module load intel/12.0.13
export MPI_DSM_CPULIST=0-7:allhosts
"}
;;
*cict*)  # hyperion
                export OPTLEVEL=${OPTLEVEL:-DEBUG}
		export VER_CDF=${VER_CDF:-CDFAUTO}
                export MNHENV=${MNHENV:-"
. /usr/share/modules/init/bash
module purge
module load intel-fc-10/10.1.017
module load sgi-mpt/1.26
export MPI_DSM_CPULIST=0-7:allhosts
"}
              ;;
                esac
              ;;
'Linux platine'*|'Linux titane'*|'Linux curie'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFAUTO}
                export MNHENV=${MNHENV:-"
module load ncl_ncarg/6.3.0
"}
	        MODEL_NAME=`lscpu  | grep 'Model name' `
		case ${MODEL_NAME} in 
*Intel*) # Irene Intel core
                export MNH_ARCH=`echo $ARCH | grep LX`
                export     ARCH=${MNH_ARCH:-LXifort}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFAUTO}
                export MNHENV=${MNHENV:-"
module purge
module load cmake/3.18.1
module load intel/19.0.5.281 
module load mpi/openmpi/4.0.2
;;
*AMD*) # Irene AMD core
                export MNH_ARCH=`echo $ARCH | grep LX`
                export     ARCH=${MNH_ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFAUTO}
		export VERSION_XYZ="${VERSION_XYZ}-AMD"
                export MNHENV=${MNHENV:-"
module purge
module load cmake/3.18.1
module load intel/19.0.5.281 
module load mpi/openmpi/4.0.2
# Set some openmpi variable for pb with nb of cores >> 1024
export OMPI_MCA_coll_hcoll_enable=0
export HCOLL_ENABLE_MCAST_ALL=0
export OMPI_MCA_coll_tuned_barrier_algorithm=2 
# For GA version set GA/ARMCI variables
export ARMCI_VERBOSE=1
export ARMCI_STRIDED_METHOD=IOV ARMCI_IOV_METHOD=BATCHED
export ARMCI_SHR_BUF_METHOD=COPY
"}
;;
		esac
'Linux belenos'*|'Linux taranis'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-O3}
                export MVWORK=${MVWORK:-NO}
                export VER_CDF=${VER_CDF:-CDFAUTO}
                export NEED_TOOLS=YES
                export MNHENV=${MNHENV:-"
module purge
module load intel/2019.5.281
module load openmpi/intel/4.0.2.2
'Linux beaufix'*|'Linux prolix'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIINTEL}
                export OPTLEVEL=${OPTLEVEL:-O3}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFBFIX}
                export NEED_NCARG=${NEED_NCARG:-NO}
		export NEED_TOOLS=NO
                export MNHENV=${MNHENV:-"
module rm intel    ; module load intel/16.1.150 ;
module rm intelmpi ; module load intelmpi/5.1.2.150 ;
module rm netcdf ; module load netcdf/4.4.0 ;
module rm grib_api ; module load grib_api/1.14.5 ;
export GRIBAPI_PATH=/opt/softs/libraries/ICC16.1.150/grib_api-1.14.5
"}
              ;;
'Linux login0'*|'Linux compute'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-O3}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFBULL}
                export MNHENV=${MNHENV:-"
module rm intel    ; module load intel/13.0.1.117 ;
module rm intelmpi ; module load intelmpi/4.1.0 ;
module rm intel-itac ; module load intel-itac/8.0.3
"}
              ;;
'Linux brodie'*|'Linux mercure'*)
                export     ARCH=${ARCH:-SX8}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-O4}
                export MVWORK=${MVWORK:-YES}
		export VER_CDF=${VER_CDF:-CDFSX}
                export MNHENV=${MNHENV:-"
module rm sxf90  ; module load sxf90/400 ;
module rm sxmpi  ; module load sxmpi/8.0.10 ;
module rm netcdf ; module load netcdf/3.6.3
"}
              ;;
'Linux babel'*)
                export     ARCH=${ARCH:-BGQ}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-YES}
                export MNHENV=${MNHENV:-"
module load netcdf/3.6.3
"}
               ;;
'Linux turing'*)
                export     ARCH=${ARCH:-BGQ}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-O2NAN}
                export MVWORK=${MVWORK:-YES}
		export VER_CDF=${VER_CDF:-CDFBGQ}
                export MNHENV=${MNHENV:-"
source /bglocal/fe/pub/Modules/default/init/bash
export MODULEPATH=/bghome/rech/mnh/rmnh007/my_modules:\$MODULEPATH
module purge
#module load ibmcmp/V1R2M2/14.01.0000.0011/gcc.legacy
module load mpi/gcc.legacy
export VER_GA=ga-mpi-5-0-3-v1r2m2-gcc-legacy
module load ga/\${VER_GA}
"}
              ;;
'Linux ada'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIINTEL}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-YES}
                export VER_CDF=${VER_CDF:-CDFAUTO}
                export MNHENV=${MNHENV:-"
"}
              ;;
AIX*)
                export MNH_ARCH=`echo $ARCH | grep AIX`
                export     ARCH=${MNH_ARCH:-AIX64}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFAIX}
                case "$(hostname)" in
                      vargas*)
                      export MNHENV=${MNHENV:-"
module rm fortran ; module load fortran/13.1.0.7
module rm netcdf  ; module load netcdf/3.6.3
"}
                      ;;
                      c1a*)
		      export VERSION_GRIBAPI="1.9.9"
                      export MNHENV=${MNHENV:-"
. /usr/local/apps/module/init/sh.in
module rm fortran ; module load fortran/xlf/13.1.0.7
module rm netcdf  ; module load netcdf/3.6.3
export CDF_PATH=/usr/local/apps/netcdf/3.6.3/LP64
export GRIBAPI_PATH=/usr/local/lib/metaps/lib/grib_api/${VERSION_GRIBAPI}
export LIB_GRIBAPI='${GRIB_API_LIB}'
"}
                      ;;
                      c2a*)
		      export VERSION_GRIBAPI="2.0.0"
                      export MNHENV=${MNHENV:-"
. /usr/local/apps/module/init/sh.in
module rm fortran ; module load fortran/xlf/13.1.0.9
module rm netcdf  ; module load netcdf/3.6.3
export CDF_PATH=/usr/local/apps/netcdf/3.6.3/LP64
export GRIBAPI_PATH=/usr/local/lib/metaps/lib/grib_api/${VERSION_GRIBAPI}
export LIB_GRIBAPI='${GRIB_API_LIB}'
"}
                      ;;
                 esac
              ;;
'Linux cc'*) # ECMWF Cray plateforme
                export MNH_ARCH=`echo $ARCH | grep LX`
                export  VER_MPI=${VER_MPI:-MPICRAY}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export MVWORK=${MVWORK:-NO}
                export VER_CDF=${VER_CDF:-CDFAUTO}
                if [ "${ARCH}" == "LXcray" ] 
                then
                export MNHENV=${MNHENV:-"
. /opt/modules/default/init/bash
module rm craype-broadwell
export CRAY_CPU_TARGET=ivybridge
module swap cdt/1.15_8.2.7
module use /opt/cray/craype/default/modulefiles
"}
                else
                if [ "${ARCH}" == "LXifort" ]
                then
                export MNHENV=${MNHENV:-"
. /opt/modules/default/init/bash
'Linux sxmnh1') #CNRM ifort sur sxmnh1 (diff mandriva)
                export    OMPI_FC=ifort
                export       ARCH=${ARCH:-LXifort}
                export    VER_MPI=${VER_MPI:-MPIAUTO}
                export   OPTLEVEL=${OPTLEVEL:-DEBUG}
                export     MVWORK=${MVWORK:-NO}
                export    VER_CDF=${VER_CDF:-CDFCTI}
                export NEED_NCARG=${NEED_NCARG:-NO}
                export NEED_TOOLS=NO
              ;;
'Linux lx'*|'Linux sx'*|'Linux px'*) #CNRM
                export MNH_ARCH=`echo $ARCH | grep LX`
                export     ARCH=${MNH_ARCH:-LXgfortran}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export OPTLEVEL=${OPTLEVEL:-DEBUG}
                export MVWORK=${MVWORK:-NO}
                export VER_CDF=${VER_CDF:-CDFCTI}
		export NEED_TOOLS=NO
              ;;
'Linux nuwa'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIAUTO}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFAUTO}
		export NEED_NCARG=${NEED_NCARG:-YES}
                      export MNHENV=${MNHENV:-"
. /home/tools/intel/psxe2018/bin/ifortvars.sh intel64
export MPI_ROOT=/usr/local/openmpi/3.1.4/ifort18.0.2.199
export PATH=\$MPI_ROOT/bin:\$PATH
export LD_LIBRARY_PATH=\$MPI_ROOT/lib64:\$LD_LIBRARY_PATH
export MANPATH=\$MPI_ROOT/share/man:\$MANPATH
# For python graphic
source /home/sila/miniconda3/etc/profile.d/conda.sh
conda activate mnh-env_nuwa
'Linux eos'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIINTEL}
                export OPTLEVEL=${OPTLEVEL:-O2}
		export VER_CDF=${VER_CDF:-CDFAUTO}
                export   MNHENV=${MNHENV:-"
module load intel/17.0.4 intelmpi/2017.3.196 ncl/6.2.0
export SLURM_CPU_BIND=none
export I_MPI_PIN_PROCESSOR_LIST=all:map=spread
'Linux olympe'*)
                export     ARCH=${ARCH:-LXifort}
                export  VER_MPI=${VER_MPI:-MPIINTEL}
                export OPTLEVEL=${OPTLEVEL:-O2}
                export VER_CDF=${VER_CDF:-CDFAUTO}
                export   MNHENV=${MNHENV:-"
module purge
export SLURM_CPU_BIND=none
export I_MPI_PIN_PROCESSOR_LIST=all:map=spread
"}
              ;; 
Linux*)
                export     ARCH=${ARCH:-LXgfortran}
                export  VER_MPI=${VER_MPI:-MPIVIDE}
                export OPTLEVEL=${OPTLEVEL:-DEBUG}
                export MVWORK=${MVWORK:-NO}
		#export VER_CDF=${VER_CDF:-CDFGFOR}
		export VER_CDF=${VER_CDF:-CDFAUTO}
		export NEED_NCARG=${NEED_NCARG:-YES}
              ;;
Darwin*)
                echo "WARNING:: Darwin for Mac not tested "
                export     ARCH=${ARCH:-LXgfortran}
                export  VER_MPI=${VER_MPI:-MPIVIDE}
                export OPTLEVEL=${OPTLEVEL:-DEBUG}
                export MVWORK=${MVWORK:-NO}
		export VER_CDF=${VER_CDF:-CDFAUTO}
		export NEED_NCARG=${NEED_NCARG:-NO}
              ;;
*)
                echo "WARNING ; system not yet tested "
                echo "WARNING ; edit profile_mesonh & set correct variables ARCH , VER_MPI & OPTLEVEL "

                export     ARCH=${ARCH}
                export  VER_MPI=${VER_MPI:-MPIVIDE}
                export OPTLEVEL=${OPTLEVEL:-DEBUG}
              ;;
esac
##
## Environnement for scandollar
##

if [ "x${CONF_DOLLAR}" = "x" ] ; then
# set default value for CONF_DOLLAR file
case "$(hostname)" in
  tori*|yuki*)
        export POSTCONF=confdollar_dsinec_default
        ;;

  lx*|px*|sx*)
        export POSTCONF=confdollar_cnrmpc_default
        ;;

  aeropc*)
        export POSTCONF=confdollar_aeropc_default

        ;;

  brodie*)
        export POSTCONF=confdollar_brodie_default

        ;;

  vargas*)
        export POSTCONF=confdollar_vargas_default
        ;;

  c1a*)
        export POSTCONF=confdollar_c1a_default
        ;;

  service*)
        export POSTCONF=confdollar_jade_default
        ;;

  babel*)
        export POSTCONF=confdollar_babel_default
        ;;
  turing*)
        export POSTCONF=confdollar_turing_default
        ;;
 titane*|curie*)
        export POSTCONF=confdollar_titane_default
        ;;

  eos*)
        export POSTCONF=confdollar_eos_default
        ;;

  occigen*)
        export POSTCONF=confdollar_occigen_default
        ;;

  *)
        export POSTCONF=confdollar_aeropc_default
        ;;
esac

export CONF_DOLLAR=${LOCAL}/conf/post/${POSTCONF}

fi

#
#  Install 32/64 mesonh tools
#
if [ "x${NEED_TOOLS}" == "xYES" ] ; then
  case "$(uname -m)" in
  'x86_64')
	  export BIN_TOOLS=${BIN_TOOLS:-X86_64}
	   ;;
  'x86'|'i'*'86')
          export BIN_TOOLS=${BIN_TOOLS:-X86}
	   ;;
  esac
fi
#
#  Install MNH_EXPAND if VER_MNHEXP=MNHEXPAUTO
#
if [ "x${VER_MNHEXP}" == "xMNHEXPAUTO" ] ;then
    (
	cd $LOCAL/pub/FILEPP
	if [ ! -d MNH_Expand_Array-${VERSION_MNHEXP} ] ; then
	    tar xvf  ${VERSION_MNHEXP}.tar.gz
	    tar xvf  filepp-${VERSION_FILEPP}.tar.gz
	    cd filepp-${VERSION_FILEPP}
	    FILEPP=$LOCAL/pub/FILEPP
	    ./configure --prefix=${FILEPP}/FILEPP-${VERSION_FILEPP}
	    make install
	fi
    )
fi 
#
# Generate profile_mesonh
#
${LOCAL}/bin/eval_dollar  profile_mesonh.ihm > profile_mesonh
chmod +x profile_mesonh
XYZ=${ARCH}-R${MNH_REAL}I${MNH_INT}-${VERSION_XYZ}${MNH_ECRAD:+-ECRAD${VER_ECRAD}}${MNH_FOREFIRE:+-FF}${VER_USER:+-${VER_USER}}-${VER_MPI}-${OPTLEVEL}
cp profile_mesonh profile_mesonh-${XYZ}
#
#  Do some post-install stuff
#
if [ "x${MVWORK}" == "xYES" ] ; then
   if [ "x${WORKDIR}" == "x" ] ; then
     echo "ATTENTION :: configure !!!!!"
     echo
     echo '  ---> vous n avez pas initialiser la variable $WORKDIR '
     echo '  ---> ou seront stoké les binaires et cas tests '
     echo '  ---> initialisez la et relance "./configure"'
     exit 1
   fi
   if [ -d ${WORKDIR} ] && [ ${LOCAL} == ${LOCAL##/work} ] ; then
#  if we are not allready in the workdir --> move stuff
      WORK=$WORKDIR/${RACINE}_WORKDIR
      mkdir -p ${WORK}
         if [ -d ${LOCAL}/${dir} ] && [ ! -L ${LOCAL}/${dir} ] ; then
          DIR=$( dirname ${WORK}/${dir} )                
          mkdir -p ${DIR}  
          mv ${LOCAL}/${dir} ${DIR}/. 
          ln -fs ${WORK}/${dir} ${LOCAL}/${dir}
         fi 
      done
   fi
fi
if [ "x${NEED_NCARG}" != "xNO" ] ; then
( cd $LOCAL/pub ; [ ! -d ${VERSION_NCL} ] && ( tar xvfz ${VERSION_NCL}.tar.gz ) )
fi

#
#  Install CDF if VER_CDF=CDFAUTO
#
if [ "x${VER_CDF}" == "xCDFAUTO" ] ;then
( cd $LOCAL/src/LIB ; [ ! -d libaec-${VERSION_LIBAEC} ] && tar xvfz libaec-${VERSION_LIBAEC}.tar.gz )
( cd $LOCAL/src/LIB ; [ ! -d hdf5-${VERSION_HDF} ] && tar xvfz hdf5-${VERSION_HDF}.tar.gz )
( cd $LOCAL/src/LIB ; [ ! -d netcdf-c-${VERSION_CDFC} ] && tar xvfz netcdf-c-${VERSION_CDFC}.tar.gz )
( cd $LOCAL/src/LIB ; [ ! -d netcdf-cxx4-${VERSION_CDFCXX} ] && tar xvfz netcdf-cxx4-${VERSION_CDFCXX}.tar.gz )
( cd $LOCAL/src/LIB ; [ ! -d netcdf-fortran-${VERSION_CDFF} ] && tar xvfz netcdf-fortran-${VERSION_CDFF}.tar.gz )
#  Install OASIS if VER_OASIS=OASISAUTO
#
if [ "x${VER_OASIS}" == "xOASISAUTO" ] ; then
( cd $LOCAL/src/LIB ; [ ! -d oasis3-${VERSION_OASIS} ] && tar xvfz oasis3-${VERSION_OASIS}.tar.gz ; [ ! -d toy_${VERSION_TOY} ] && tar xvfz toy_${VERSION_TOY}.tar.gz )
#  Install MEGAN if MNH_MEGAN=1
#
if [ "x${MNH_MEGAN}" == "x1" ] ; then
( cd $LOCAL/src/LIB ; [ ! -d MEGAN ] && tar xvfz megan.tar.gz )
fi
#
if [ "x${MNH_GRIBAPI}" == "xyes" ] ; then
( cd $LOCAL/src/LIB ; [ ! -d grib_api-${VERSION_GRIBAPI} ] && [ -f grib_api-${VERSION_GRIBAPI}.tar.gz ] && gunzip -c grib_api-${VERSION_GRIBAPI}.tar.gz |tar -xvf - )
else
( cd $LOCAL/src/LIB ; [ ! -d eccodes-${VERSION_ECCODES}-Source ] && [ -f eccodes-${VERSION_ECCODES}-Source.tar.gz ] && gunzip -c eccodes-${VERSION_ECCODES}-Source.tar.gz |tar -xvf - )
fi
#
#  Install ECRAD 1.4.0 if MNH_ECRAD=1 & VERSION_ECRAD=1.4.0
#
if [ "x${MNH_ECRAD}" == "x1" ] && [ "x${VERSION_ECRAD}" == "x1.4.0" ] ; then
( cd $LOCAL/src/LIB/RAD ; [ ! -d ecrad-1.4.0 ] && tar xvfz ecrad-1.4.0.tar.gz )
fi
##########################################################
#                                                        #
#      RESUME                                            #
#                                                        #
##########################################################

echo  ARCH=${ARCH}
echo  VER_MPI=${VER_MPI}
echo  VER_USER=${VER_USER-" pas de version user ..."}
echo  OPTLEVEL=${OPTLEVEL}
echo  CONF_DOLLAR=${CONF_DOLLAR}
echo  VER_CDF=${VER_CDF}
echo  VER_OASIS=${VER_OASIS}
echo  BIN_TOOLS=${BIN_TOOLS}
echo
echo  "---> XYZ=${XYZ}"
echo
echo "création du fichier -->  ../conf/profile_mesonh-${XYZ}"
echo
##########################################################
#                                                        #
# ENVIRONEMENT MESONH ALLREADY SET                       #
#                                                        #
##########################################################
else
clear
echo
echo "ATTENTION :: configure !!!!!"
echo
echo '  ---> vous avez déjà initialisé votre environnement MESONH sur cette version'
echo '  ---> $XYZ="'$XYZ'"'
echo
echo "Vérifiez votre fichier '.profile'" ou "'.bashrc'"  !!!
echo
echo "  ---> mettez en commentaire la ligne '. ../profile_mesonh...' "
echo "  ---> relogger vous sur une autre session et relancer ./configure "
echo
echo "Fichier 'profile_mesonh' non modifié !!! "
echo
exit 1
fi