-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·100 lines (89 loc) · 2.46 KB
/
install.sh
File metadata and controls
executable file
·100 lines (89 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
91
92
93
94
95
96
97
98
99
100
#!/bin/bash
########################
# set up the environment
########################
# Load GNU compilers
echo "---------------------------------------"
if [[ $HOSTNAME == "quartz"* ]]; then
echo "Loading GNU compilers for Quartz (LLNL)"
module load gcc
module load mvapich2/2.2
export CC=$(which gcc)
export CXX=$(which g++)
export CPP=$(which cpp)
export F77=$(which gfortran)
export FC=$(which gfortran)
export MPICC=$(which mpicc)
export MPICXX=$(which mpicxx)
export MPIF77=$(which mpif77)
export MPIF90=$(which mpif90)
export MACHINE="quartz"
else
if [[ $NERSC_HOST == "perlmutter"* ]]; then
echo "Loading GNU compilers for Perlmutter (NERSC)"
export CC=$(which cc)
export CXX=$(which CC)
export CPP=$(which cpp)
export F77=$(which ftn)
export FC=$(which ftn)
export MPICC=$(which cc)
export MPICXX=$(which CC)
export MPIF77=$(which ftn)
export MPIF90=$(which ftn)
export MACHINE="nersc"
fi
fi
echo "CC is $CC"
echo "CXX is $CXX"
echo "CPP is $CPP"
echo "F77 is $F77"
echo "FC is $FC"
echo "MPICXX is $MPICXX"
echo "---------------------------------------"
# Load HDF5 libraries and set
# HDF5-related environment vars
H5DIFF_SUFFIX=/bin/h5diff
if [[ $HOSTNAME == "quartz"* ]]; then
echo "Loading HDF5-serial for Quartz (LLNL)"
module load hdf5-serial/1.8.18
H5DIFF_PATH=$(which h5diff)
echo "h5diff is $H5DIFF_PATH"
HDF5_DIR=${H5DIFF_PATH%$H5DIFF_SUFFIX}
export HDF5_DIR_SERIAL="${HDF5_DIR}"
echo "Serial HDF5: $HDF5_DIR_SERIAL"
echo "Loading HDF5-parallel for Quartz (LLNL)"
module load hdf5-parallel/1.8.18
H5DIFF_PATH=$(which h5diff)
echo "h5diff is $H5DIFF_PATH"
HDF5_DIR=${H5DIFF_PATH%$H5DIFF_SUFFIX}
export HDF5_DIR_PARALLEL="${HDF5_DIR}"
echo "Parallel HDF5: $HDF5_DIR_PARALLEL"
else
if [[ $NERSC_HOST == "perlmutter"* ]]; then
echo "Loading HDF5 for Cori/Edison (NERSC)"
export HDF5_DIR="/opt/cray/pe/hdf5-parallel/1.12.2.9/gnu/12.3"
echo "HDF5: $HDF5_DIR"
fi
fi
echo "---------------------------------------"
################
# Compile COGENT
################
CH_MAKEFILE_DIR=Chombo_Makefile
CH_MAKEFILE=Make.defs.$MACHINE
CH_LIB_DIR=Chombo/lib/mk
COGENT_DIR=COGENT
HYPRE_DIR=hypre
COGENT_EXEC_DIR=exec
ROOT_DIR=$PWD
#copy Chombo makefile
cp $CH_MAKEFILE_DIR/$CH_MAKEFILE $CH_LIB_DIR/Make.defs.local
# build Hypre
cd $COGENT_DIR/$HYPRE_DIR/
./doconfig-opt
./doinstall
cd $ROOT_DIR
# build COGENT
cd $COGENT_DIR/$COGENT_EXEC_DIR
make -j all OPT=TRUE DEBUG=FALSE
cd $ROOT_DIR