#!/bin/bash #MNH_LIC Copyright 1994-2014 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-3} export VERSION_BUG=${VERSION_BUG:-0} export VERSION_XYZ=${VERSION_XYZ:-${VERSION_MASTER}-${VERSION_BUG}${VER_OASIS:+-${VER_OASIS}}} export VERSION_DATE=${VERSION_DATE:-"23/06/2016"} export VERSION_CDF=${VERSION_CDF:-"4.1.3"} export VERSION_HDF=${VERSION_HDF:-"1.8.9"} export VERSION_GRIBAPI=${VERSION_GRIBAPI:-"1.13.1"} export MNH_INT=${MNH_INT:-"4"} export LFI_INT=${LFI_INT:-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.3.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 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} ;; '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 MNHENV=${MNHENV:-" #export OBJDIR_PATH=$WORKDIR/DIR_OBJ_ADA export MP_MPILIB=pempi module load netcdf/seq/4.1.3 "} ;; 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 ARCH=${MNH_ARCH:-LXcray} 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 grib_api "} else if [ "${ARCH}" == "LXifort" ] then export MNHENV=${MNHENV:-" . /opt/modules/default/init/bash module switch PrgEnv-cray PrgEnv-intel module rm grib_api "} fi fi ;; '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_NCARG=${NEED_NCARG:-NO} export NEED_TOOLS=NO ;; 'Linux nuwa'*) export ARCH=${ARCH:-LXifort} export VER_MPI=${VER_MPI:-MPIAUTO} export OPTLEVEL=${OPTLEVEL:-DEBUG} export MVWORK=${MVWORK:-NO} export VER_CDF=${VER_CDF:-CDFAUTO} export NEED_NCARG=${NEED_NCARG:-YES} export MNHENV=${MNHENV:-" . /opt/intel/fce/10.1.021/bin/ifortvars.sh export MPI_ROOT=/usr/local/OpenMPI/1.6.3/ifort10.1.021 export PATH=\$MPI_ROOT/bin:\$PATH export LD_LIBRARY_PATH=\$MPI_ROOT/lib64:\$LD_LIBRARY_PATH export MANPATH=\$MPI_ROOT/share/man:\$MANPATH "} ;; '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:-" export SLURM_CPU_BIND=none export I_MPI_PIN_PROCESSOR_LIST=all:map=spread "} ;; '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 load intel/15.0.3.187 module load intelmpi/5.0.1.035 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} ;; *) 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 # # Generate profile_mesonh # ${LOCAL}/bin/eval_dollar profile_mesonh.ihm > profile_mesonh chmod +x profile_mesonh XYZ=${ARCH}${MNH_REAL}I${MNH_INT}-${VERSION_XYZ}${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} for dir in MY_RUN exe pub do [ -d $LOCAL/${dir} ] && [ ! -L $LOCAL/${dir} ] \ && mv $LOCAL/${dir} ${WORK}/. \ && ln -s ${WORK}/${dir} $LOCAL/. 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 netcdf-${VERSION_CDF} ] && tar xvfz netcdf-${VERSION_CDF}.tar.gz ) ( cd $LOCAL/src/LIB ; [ ! -d hdf5-${VERSION_HDF} ] && tar xvfz hdf5-${VERSION_HDF}.tar.gz ) fi # # 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 ) fi # # Install GRIBAPI # 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 - ########################################################## # # # 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