source: BOL/script_install/install_xios.bash @ 4639

Last change on this file since 4639 was 4410, checked in by lguez, 21 months ago

Import install_xios.bash

We need it in install_lmdz.sh and the directory
<https://lmdz.lmd.jussieu.fr/pub/import> is going to disappear.

File size: 5.4 KB
Line 
1#!/bin/bash
2#########################################################################
3# Defaults
4#########################################################################
5hostname=`hostname`
6install_dir=$(pwd)
7netcdf_home="/usr/local/netcdf"
8hdf5_home="/usr/local/hdf5"
9if [ -d /usr/lib64/openmpi ] ; then
10  mpi_home="/usr/lib64/openmpi"
11else
12  mpi_home="/usr"
13fi
14arch="local"
15xios_rev="1786"
16#########################################################################
17#  Options
18#########################################################################
19while (($# > 0))
20   do
21   case $1 in
22     "-h") cat <<........fin
23    $0 [ -prefix path ]       where (path) to install
24                              (default: $install_dir)
25       [ -netcdf path ]       top directory of the netcdf library
26                              (default: $netcdf_home)
27       [ -hdf5 path ]         top directory of the hdf5 library
28                              (default: $hdf5_home)
29       [ -MPI path ]          top directory of the MPI library
30                              (default: $mpi_home)
31       [ -rev number ]        XIOS revision
32                              (default: $xios_rev)
33       [ -arch ARCH ]         Use ARCH file (provided by XIOS)
34                              (default: make/use a local arch file)
35........fin
36     exit ;;
37     "-prefix") install_dir=$2 ; shift ; shift ;;
38     "-netcdf") netcdf_home=$2 ; shift ; shift ;;
39     "-hdf5" ) hdf5_home=$2 ; shift ; shift ;;
40     "-MPI") mpi_home=$2 ; shift ; shift ;;
41     "-rev") xios_rev=$2 ; shift ; shift ;;
42     "-arch") arch=$2 ; shift ; shift ;;
43     *) echo "Error, bad argument $1" ; $0 -h ; exit
44   esac
45done
46
47# Install directory (get full path)
48mkdir -p $install_dir
49install_dir=$(cd $install_dir ; pwd -P )
50
51# Download XIOS
52cd $install_dir
53#svn co --revision $xios_rev http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/trunk XIOS
54#XIOS 2.5 branch
55#svn co --revision $xios_rev http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.5 XIOS
56svn co --revision $xios_rev http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS2/branches/xios-2.5 XIOS
57
58# Make arch files, if necesary:
59if [ "$arch" = "local" ] ; then
60cd $install_dir/XIOS/arch
61# arch-local.env
62echo 'export MPI_LIB="-L'${mpi_home}'/lib -lmpi"'     > arch-local.env
63echo ''                                              >> arch-local.env
64echo 'export NETCDFC='${netcdf_home}                 >> arch-local.env
65echo 'export NETCDFC_LIB=$NETCDFC/lib'               >> arch-local.env
66echo 'export NETCDFC_INC=$NETCDFC/include'           >> arch-local.env
67echo ''                                              >> arch-local.env
68echo 'export NETCDFF='${netcdf_home}                 >> arch-local.env
69echo 'export NETCDFF_LIB=$NETCDFF/lib'               >> arch-local.env
70echo 'export NETCDFF_INC=$NETCDFF/include'           >> arch-local.env
71echo ''                                              >> arch-local.env
72echo 'export NETCDFCXX='${netcdf_home}               >> arch-local.env
73echo 'export NETCDFCXX_LIB=$NETCDFCXX/lib'           >> arch-local.env
74echo 'export NETCDFCXX_INC=$NETCDFCXX/include'       >> arch-local.env
75
76# arch-local.fcm
77echo '%CCOMPILER      '${mpi_home}'/bin/mpicc'             > arch-local.fcm
78echo '%FCOMPILER      '${mpi_home}'/bin/mpif90'           >> arch-local.fcm
79echo '%LINKER         '${mpi_home}'/bin/mpif90'           >> arch-local.fcm
80echo ''                                                   >> arch-local.fcm
81if [ ${hostname:0:5} = cicla ] ; then
82echo '%BASE_CFLAGS    -w -ansi'                >> arch-local.fcm
83else
84echo '%BASE_CFLAGS    -w -ansi -std=c++03'                >> arch-local.fcm
85fi
86echo '%PROD_CFLAGS    -O3 -D BOOST_DISABLE_ASSERTS'       >> arch-local.fcm
87echo '%DEV_CFLAGS     -g -O2'                             >> arch-local.fcm
88echo '%DEBUG_CFLAGS   -g -DBZ_DEBUG'                      >> arch-local.fcm
89echo ''                                                   >> arch-local.fcm
90echo '%BASE_FFLAGS    -D__NONE__ -ffree-line-length-none' >> arch-local.fcm
91echo '%PROD_FFLAGS    -O3'                                >> arch-local.fcm
92echo '%DEV_FFLAGS     -g -O2'                             >> arch-local.fcm
93echo '%DEBUG_FFLAGS   -g'                                 >> arch-local.fcm
94echo ''                                                   >> arch-local.fcm
95echo '%BASE_INC       -D__NONE__'                         >> arch-local.fcm
96echo '%BASE_LD        -lstdc++ -Wl,-rpath='${mpi_home}'/lib' >> arch-local.fcm
97echo ''                                                   >> arch-local.fcm
98echo '%CPP            '${mpi_home}'/bin/mpicc -EP'        >> arch-local.fcm
99echo '%FPP            cpp -P'                             >> arch-local.fcm
100echo '%MAKE           make'                               >> arch-local.fcm
101
102# arch-local.path
103echo 'NETCDF_INCDIR="-I${NETCDFC_INC} -I${NETCDFF_INC} -I${NETCDFCXX_INC} "'  > arch-local.path
104echo 'NETCDF_LIBDIR="-L${NETCDFC_LIB} -L${NETCDFF_LIB} -L${NETCDFCXX_LIB} "' >> arch-local.path
105echo 'NETCDF_LIB="-lnetcdf -lnetcdff -lnetcdf_c++4"'                         >> arch-local.path
106echo 'HDF5_INCDIR="-I'${hdf5_home}'/include"'                                >> arch-local.path
107echo 'HDF5_LIBDIR="-L'${hdf5_home}'/lib"'                                    >> arch-local.path
108echo 'HDF5_LIB="-lhdf5_hl -lhdf5 -lhdf5 -lz -lcurl"'                         >> arch-local.path
109fi
110
111# make XIOS
112cd $install_dir/XIOS
113./make_xios --arch $arch --job 8 2>&1 | tee make_xios.out
114
Note: See TracBrowser for help on using the repository browser.