Newer
Older
#!/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-4}
export VERSION_BUG=${VERSION_BUG:-1}

Juan Escobar
committed
export VERSION_XYZ=${VERSION_XYZ:-${VERSION_MASTER}-${VERSION_BUG}${VER_OASIS:+-${VER_OASIS}}}
export VERSION_DATE=${VERSION_DATE:-"dd/mm/yyyy"}

WAUTELET Philippe
committed
export VERSION_LIBAEC=${VERSION_LIBAEC:-"0.3.2"}
export VERSION_HDF=${VERSION_HDF:-"1.8.20"}
export VERSION_CDFC=${VERSION_CDFC:-"4.5.0"}
export VERSION_CDFF=${VERSION_CDFF:-"4.4.4"}
export VERSION_GRIBAPI=${VERSION_GRIBAPI:-"1.26.0-Source"}
export MNH_INT=${MNH_INT:-"4"}
export LFI_INT=${LFI_INT:-8}
export MNH_REAL=${MNH_REAL:-"8"}
export MNH_IOCDF4=${MNH_IOCDF4:-1}

Juan Escobar
committed
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.0.1"}
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

ESCOBAR MUNOZ Juan
committed
'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
module load intel/17.0 intelmpi/2017.2.174

ESCOBAR MUNOZ Juan
committed
export SLURM_CPU_BIND=none
export I_MPI_PIN_PROCESSOR_LIST=all:map=spread
"}
;;
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
'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
"}
'Linux irene'*)
export MNH_ARCH=`echo $ARCH | grep LX`
export ARCH=${MNH_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/18.0.3.222
module load mpi/intelmpi/2018.0.3.222
export SLURM_CPU_BIND=none
export I_MPI_PIN_PROCESSOR_LIST=all:map=spread
"}
;;
'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
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
"}
;;
'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

ESCOBAR MUNOZ Juan
committed
#module load ibmcmp/V1R2M2/14.01.0000.0011/gcc.legacy
module load mpi/gcc.legacy

WAUTELET Philippe
committed
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:-"
#export OBJDIR_PATH=$WORKDIR/DIR_OBJ_ADA
export MP_MPILIB=pempi
module purge
module load intel/2013.1
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
"}
;;
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:-LXifort}
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 eccodes
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
module rm grib_api eccodes
prgenvswitchto intel
module rm intel
module load intel/17.0.3.053
"}
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:-O2}
export MVWORK=${MVWORK:-NO}
export VER_CDF=${VER_CDF:-CDFAUTO}
export NEED_NCARG=${NEED_NCARG:-YES}
export MNHENV=${MNHENV:-"
. /home/tools/intel/psxe2017/bin/ifortvars.sh intel64
export MPI_ROOT=/usr/local/openmpi/1.6.5/ifort17.0.1.132
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:-"

Juan Escobar
committed
module purge
module load intel/17.0.4 intelmpi/2017.3.196 ncl/6.2.0

Juan Escobar
committed
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
module load intel/18.2 intelmpi/18.2
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}
;;
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
*)
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
;;
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
*)
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}-R${MNH_REAL}I${MNH_INT}-${VERSION_XYZ}${MNH_ECRAD:+-ECRAD}${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

WAUTELET Philippe
committed
( 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 )

WAUTELET Philippe
committed
( cd $LOCAL/src/LIB ; [ ! -d netcdf-${VERSION_CDFC} ] && tar xvfz netcdf-${VERSION_CDFC}.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

Juan Escobar
committed
( 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
#
# 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}
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
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