Forked from
Méso-NH / Méso-NH code
4326 commits behind the upstream repository.
configure 12.82 KiB
#!/bin/ksh
#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-1}
export VERSION_BUG=${VERSION_BUG:-3}
export VERSION_XYZ=${VERSION_XYZ:-${VERSION_MASTER}-${VERSION_BUG}}
export VERSION_DATE=${VERSION_DATE:-"20/11/2014"}
export VERSION_CDF=${VERSION_CDF-"3.6.3"}
export VERSION_GRIBAPI=${VERSION_GRIBAPI-"1.9.9"}
export MNH_INT=${MNH_INT-"I4"}
#
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 compute'*)
export ARCH=${ARCH:-LXifort}
export VER_MPI=${VER_MPI:-MPIINTEL}
export OPTLEVEL=${OPTLEVEL:-O3}
export MVWORK=${MVWORK:-NO}
export MNH_NCWRIT=${MNH_NCWRIT:-MNH_NCWRIT}
export VER_CDF=${VER_CDF:-CDFBFIX}
export NEED_TOOLS=NO
export MNHENV=${MNHENV:-"
module rm intel ; module load intel/13.1.4.183 ;
module rm intelmpi ; module load intelmpi/4.1.1.036 ;
module rm netcdf ; module load netcdf/4.3.0 ;
module load grib_api/1.9.16 ;
export GRIBAPI_PATH=/opt/softs/libraries/ICC13.1.4.183/grib_api-1.9.16_libtool
"}
;;
'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 tori'*|'Linux yuki'*)
export ARCH=${ARCH:-SX8}
export VER_MPI=${VER_MPI:-MPIAUTO}
export OPTLEVEL=${OPTLEVEL:-O4}
export MVWORK=${MVWORK:-NO}
export MNH_NCWRIT=${MNH_NCWRIT:-MNH_NCWRIT}
export VER_CDF=${VER_CDF:-CDFMFSX}
export NEED_NCARG=${NEED_NCARG:-NO}
export VERSION_GRIBAPI="1.9.9"
export MNHENV=${MNHENV:-"
export GRIBAPI_PATH=/usr/local/SX/grib_api/
"}
;;
'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/V1R2M0/14.01.0000.0002/gcc.legacy
export VER_GA=ga-mpi-5-0-3
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 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*)
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
;;
*)
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}${MNH_INT}-${VERSION_XYZ}${VER_USER:+-${VER_USER}}-${VER_MPI}-${OPTLEVEL}
cp profile_mesonh profile_mesonh-${XYZ}
#
# Do some post-install stuff
#
if [ ${MVWORK} == "YES" ] ; 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 ncl_ncarg-5.2.1.Linux_x86_64 ] && tar xvfz ncl_ncarg-5.2.1.Linux_x86_64.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 )
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 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