forked from parflow/parflow
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.LLNL
227 lines (159 loc) · 7.25 KB
/
README.LLNL
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
101
102
103
104
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
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
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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
-----------------------------------------------------------------------------
Checking out Parflow from the SVN repository
-----------------------------------------------------------------------------
The environmental variable PARFLOW_DIR should be set to the place to
install the parflow executables and libraries. See README.
-----------------------------------------------------------------------------
Checking out Parflow from the SVN repository
-----------------------------------------------------------------------------
cd <somewhere>
svn co svn+ssh://atlas/usr/gapps/thcs/subversion/parflow/trunk parflow
-----------------------------------------------------------------------------
Checking out WRF from the SVN repository
-----------------------------------------------------------------------------
cd <somewhere>
svn co svn+ssh://atlas/usr/gapps/thcs/subversion/wrf/trunk wrf
*****************************************************************************
ATLAS Build instructions
*****************************************************************************
-----------------------------------------------------------------------------
Environmental variables on Atlas
-----------------------------------------------------------------------------
SILO_DIR=/usr/gapps/silo/4.6.1/chaos_4_x86_64
HYPRE_DIR=/usr/casc/samrai/hypre/hypre-2.4.0b-atlas-gcc/
export SILO_DIR HYPRE_DIR
or use setenv if using csh/tcsh
setenv SILO_DIR /usr/gapps/silo/4.6.1/chaos_4_x86_64
setenv HYPRE_DIR /usr/casc/samrai/hypre/hypre-2.4.0b-atlas-gcc/
-----------------------------------------------------------------------------
Compiling Parflow on Atlas
-----------------------------------------------------------------------------
CC=gcc
F90=gfortran
F77=gfortran
export CC F90 F77
# Make Parflow
DIR=parflow
./configure \
--with-amps=mpi1 \
--with-silo=$SILO_DIR \
--with-hypre=$HYPRE_DIR \
--prefix=$PARFLOW_DIR
make -j 8 install
# Make pftools
DIR=pftools
./configure \
--with-amps=mpi1 \
--with-silo=$SILO_DIR \
--prefix=$PARFLOW_DIR
make -j 8 install
-----------------------------------------------------------------------------
Compiling WRF on Atlas
-----------------------------------------------------------------------------
cd <somewhere>/wrf
./configure
Select option 3 PGI with GNU
Select option 1 <basic - the default>
./compile wrf
*****************************************************************************
CASC Tux Cluster Build Instructions
*****************************************************************************
-----------------------------------------------------------------------------
Compiling Parflow on CASC Tux Cluster
-----------------------------------------------------------------------------
The system MPI is not compiled for F90 so a different MPI is used that
is compiled with F90 support.
# Setup the MPI environment
. /usr/casc/samrai/openmpi/openmpi-1.2.6/setup.sh
cd <somewhere>/parflow
sh misc/build_scripts/build.parflow.tux
-----------------------------------------------------------------------------
Compiling WRF on CASC Tux cluster
-----------------------------------------------------------------------------
cd <somewhere>/wrf
./configure
Select option 9 <gfortran compiler with gcc (dmpar)>
Select option 1 <basic - the default>
./compile wrf
*****************************************************************************
RA.MINES.EDU Build Instructions
*****************************************************************************
IMPORTANT NOTE:
Compiling with INTEL Compiler suite yielded an executable that
produced incorrect results. To use the GNU compiler suite follow the
instructions from Timothy Kaiser:
The way to switch mpi compilers is to
do
mpi-selector --list
then pick which one you want, most likely
openmpi_intel-1.2.5
Then
mpi-selector --set openmpi_intel-1.2.5
You must log out and log back in for this
to take effect. Sourcing your environment
will not do it.
-----------------------------------------------------------------------------
Environmental variables on RA
-----------------------------------------------------------------------------
If using bash:
export NETCDF=/usr/local/
export HYPRE_DIR=/lustre/scratch/projects/parflow/local/hypre/2.4.0b
export SILO_DIR=/lustre/scratch/projects/parflow/local/silo/4.6.1
PARFLOW_DIR should be set to where you want to install PF at:
export PARFLOW_DIR=$HOME/parflow/exe.ra
or use setenv if using csh/tcsh:
setenv NETCDF /usr/local/
setenv SILO_DIR /lustre/scratch/projects/parflow/local/silo/4.6.1
setenv HYPRE_DIR /lustre/scratch/projects/parflow/local/hypre/2.4.0b
setenv PARFLOW_DIR $HOME/parflow/exe.ra
-----------------------------------------------------------------------------
Compiling Parflow on RA
-----------------------------------------------------------------------------
cd to the parflow src directory:
export CC=mpicc
export CXX=mpiCC
export F77=mpif77
./configure \
--with-amps=mpi1 \
--prefix=$PARFLOW_DIR \
--with-silo=$SILO_DIR \
--with-hypre=$HYPRE_DIR
cd to the pftools src directory:
export CC=icc
./configure \
--prefix=$PARFLOW_DIR \
--with-silo=$SILO_DIR \
--with-amps=mpi1
-----------------------------------------------------------------------------
Compiling WRF on RA
-----------------------------------------------------------------------------
cd <somewhere>/wrf
./configure
Select option 31 <RA Intel compile with dmpar>
Select option 1 <basic - the default>
./compile wrf
<be prepared to wait a long time>
--------------------------------------
Compiling on Mac OSX 10.6.x Snow Leopard
--------------------------------------
SILO:
./configure CC=gcc -arch x86_64 CXX=g++ -arch x86_64 F77=gfortran -arch x86_64 FC=gfortran -arch x86_64 r_arch=x86_64 --disable-silex
HYPRE
./configure CC=gcc -arch x86_64 CXX=g++ -arch x86_64 F77=gfortran -arch x86_64 FC=gfortran -arch x86_64 r_arch=x86_64 --prefix=/APPS/hypre-2.4.0b/
PARFLOW
./configure CC='gcc -arch x86_64' F77='gfortran -arch x86_64' FC='gfortran -arch x86_64' --prefix=$PARFLOW_DIR --with-clm --enable-timing --with-silo=$SILO_DIR --with-hypre=$HYPRE_DIR --with-amps=mpi1
make install
it goes fine all the way to the very end, then errors out w/
ld: duplicate symbol start in /usr/lib/crt1.o and /usr/lib/crt1.10.6.o
cd config
manually edit Makefile.config to change crt1.o in LDLIBS to 10.6.o
cd ..
make install, works fine
in pftools
same thing, errors out on same linking step/error duplicate libraries
in config, change Makefile.config to reflect crt1.10.5.o to 10.6.o this time in two places in the LDLIBS line
make install now almost seems to work, but odd messages at the end
then it errors out on dynlib
Manually add the -arch x86_64 to the end of the tools linking step to link as:
ld -dylib pftappinit.o printdatabox.o readdatabox.o databox.o error.o velocity.o head.o flux.o diff.o stats.o tools_io.o axpy.o getsubbox.o enlargebox.o load.o usergrid.o grid.o region.o file.o pftools.o top.o water_balance.o water_table.o sum.o -o ./bin/parflow.dylib -L/usr/lib -L/Users/reed/parflow/parflow.9-09/lib -lparflow -L/opt/local/silo/silo-4.7/lib -lsilo -ltcl -lc -arch x86_64
from the command line. Then I can make again, it doesn't re-link but does install.