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-3}
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:-"25/09/2017"}
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}

Juan Escobar
committed
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

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
"}
;;
52
53
54
55
56
57
58
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
'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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
"}
;;
'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 MNHENV=${MNHENV:-"
#export OBJDIR_PATH=$WORKDIR/DIR_OBJ_ADA
export MP_MPILIB=pempi
module purge
module load intel/2013.1
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
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:-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
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
prgenvswitchto intel
module rm intel
module load intel/16.0.3.210
"}
fi
fi
;;
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
'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:-"
. /home/tools/intel/composer_xe_2013_sp1.1.106/bin/ifortvars.sh intel64
export MPI_ROOT=/usr/local/OpenMPI/1.6.3/ifort13.0.0.079/
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

Juan Escobar
committed
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}
;;
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
*)
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
;;
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
*)
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 )
# 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 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}
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
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