43 |
# need to be on one computer node, |
# need to be on one computer node, |
44 |
# and with the correct module loaded (i.e, one of the 3): |
# and with the correct module loaded (i.e, one of the 3): |
45 |
# > module load mpich/gnu |
# > module load mpich/gnu |
46 |
|
# export MPI_INC_DIR='/usr/local/pkg/mpich/mpich-gcc/include' |
47 |
# > module load mpich/intel netcdf/3.6.1/icc |
# > module load mpich/intel netcdf/3.6.1/icc |
48 |
# export MPI_INC_DIR='/usr/local/pkg/mpich/mpich-intel/include/' |
# export MPI_INC_DIR='/usr/local/pkg/mpich/mpich-intel/include' |
49 |
# > module load mpich/pgi |
# > module load mpich/pgi |
50 |
|
# export MPI_INC_DIR='/usr/local/pkg/mpich/mpich-pgi/include' |
51 |
|
# export NETCDF_ROOT='/usr/local/pkg/pgi/pgi-5.2/linux86/5.2' |
52 |
|
|
53 |
if test 'dummy'$PBS_NODEFILE = 'dummy' |
if test 'dummy'$PBS_NODEFILE = 'dummy' |
54 |
then |
then |
55 |
echo ' $PBS_NODEFILE not defined' |
echo ' $PBS_NODEFILE not defined' |
94 |
module list -t >& tmp_compiler |
module list -t >& tmp_compiler |
95 |
compiler=`sed -n 's/mpich.*\///p' tmp_compiler` |
compiler=`sed -n 's/mpich.*\///p' tmp_compiler` |
96 |
case $compiler in |
case $compiler in |
97 |
'gnu') OPTFILE="../../tools/build_options/linux_ia32_g77+mpi_aces" ;; |
'gnu') OPTFILE="../../tools/build_options/linux_ia32_g77" ;; |
98 |
'intel') OPTFILE="../../tools/build_options/linux_ia32_ifort+mpi_aces" ;; |
'intel') OPTFILE="../../tools/build_options/linux_ia32_ifort" ;; |
99 |
'pgi') OPTFILE="../../tools/build_options/linux_ia32_pgf77+mpi_aces" ;; |
'pgi') OPTFILE="../../tools/build_options/linux_ia32_pgf77" ;; |
100 |
*) echo 'ERROR: cannot use compiler:' $compiler ; |
*) echo 'ERROR: cannot use compiler:' $compiler ; |
101 |
echo ""; cat tmp_compiler ; exit 7 ;; |
echo ""; cat tmp_compiler ; exit 7 ;; |
102 |
esac |
esac |
229 |
if [ $nc -le $NpOc ] ; then dd1=ocn ; else dd1=atm ; fi |
if [ $nc -le $NpOc ] ; then dd1=ocn ; else dd1=atm ; fi |
230 |
nn=1 |
nn=1 |
231 |
done |
done |
232 |
|
NpAt=`expr $Npr - 1 - $NpOc` |
233 |
|
RunOpt="-np 1 ./build_cpl/mitgcmuv" |
234 |
|
RunOpt="$RunOpt : -np $NpOc ./build_ocn/mitgcmuv" |
235 |
|
RunOpt="$RunOpt : -np $NpAt ./build_atm/mitgcmuv" |
236 |
|
|
237 |
cd $ROOTDIR |
cd $ROOTDIR |
238 |
if test "x$MTH" != x ; then |
if test "x$MTH" != x ; then |
245 |
fi |
fi |
246 |
echo "" |
echo "" |
247 |
fi |
fi |
248 |
# /usr/local/pkg/mpi/mpi-1.2.4..8a-gm-1.5/pgi/bin/mpirun.ch_gm -pg pr_group -wd $ROOTDIR --gm-kill 5 -v ./build_cpl/mitgcmuv > std_outp 2>&1 |
mpich=`which mpirun` |
249 |
#- with mpich-1 (on danton, ACES): |
echo $mpich | grep 'mpich-mx' > /dev/null 2>&1 |
250 |
mpirun -p4pg pr_group -v ./build_cpl/mitgcmuv > std_outp 2>&1 |
mpichmx=$? |
251 |
#- with mpich-mx (on beagle): |
echo $mpich | grep 'mpich2' > /dev/null 2>&1 |
252 |
# mpirun -pg pr_group -v ./build_cpl/mitgcmuv > std_outp 2>&1 |
mpich2=$? |
253 |
|
if test $mpich2 == 0 ; then |
254 |
|
#- with Hydra mpich2 (on baudelaire): |
255 |
|
echo "execute 'mpirun $RunOpt' :" |
256 |
|
mpirun $RunOpt > std_outp 2>&1 |
257 |
|
elif test $mpichmx == 0 ; then |
258 |
|
#- with mpich-mx (on beagle): |
259 |
|
echo "execute 'mpirun -pg pr_group -v ./build_cpl/mitgcmuv' :" |
260 |
|
mpirun -pg pr_group -v ./build_cpl/mitgcmuv > std_outp 2>&1 |
261 |
|
else |
262 |
|
# /usr/local/pkg/mpi/mpi-1.2.4..8a-gm-1.5/pgi/bin/mpirun.ch_gm -pg pr_group -wd $ROOTDIR --gm-kill 5 -v ./build_cpl/mitgcmuv > std_outp 2>&1 |
263 |
|
#- with mpich-1 (on danton, ACES): |
264 |
|
echo "execute 'mpirun -p4pg pr_group -v ./build_cpl/mitgcmuv' :" |
265 |
|
mpirun -p4pg pr_group -v ./build_cpl/mitgcmuv > std_outp 2>&1 |
266 |
|
fi |
267 |
tail -20 std_outp |
tail -20 std_outp |
268 |
ls -l rank_$rnkO/pickup*.ckptA.001.001.data |
ls -l rank_$rnkO/pickup*.ckptA.001.001.data |
269 |
ls -l rank_$rnkA/pickup*.ckptA.001.001.data |
ls -l rank_$rnkA/pickup*.ckptA.001.001.data |
272 |
|
|
273 |
if test $kpr = 4 |
if test $kpr = 4 |
274 |
then |
then |
275 |
|
CompRes="$HOME/bin/comp_res" |
276 |
|
|
277 |
if test -f rank_$rnkO/STDOUT.0000 |
if test -f rank_$rnkO/STDOUT.0000 |
278 |
then echo '==> check Ocean output:' |
then echo '==> check Ocean output:' |
279 |
/home/jmc/bin/comp_res rank_$rnkO/STDOUT.0000 results/ocnSTDOUT.0000 |
$CompRes rank_$rnkO/STDOUT.0000 results/ocnSTDOUT.0000 |
280 |
mv -f comp_res.log comp_res.ocn |
mv -f comp_res.log comp_res.ocn |
281 |
echo ' ' |
echo ' ' |
282 |
else echo "No Ocean output file in rank_$rnkO" ; fi |
else echo "No Ocean output file in rank_$rnkO" ; fi |
284 |
if test -f rank_$rnkA/STDOUT.0000 |
if test -f rank_$rnkA/STDOUT.0000 |
285 |
then |
then |
286 |
echo '==> check Atmos output:' |
echo '==> check Atmos output:' |
287 |
/home/jmc/bin/comp_res rank_$rnkA/STDOUT.0000 results/atmSTDOUT.0000 |
$CompRes rank_$rnkA/STDOUT.0000 results/atmSTDOUT.0000 |
288 |
mv -f comp_res.log comp_res.atm |
mv -f comp_res.log comp_res.atm |
289 |
echo '==> check Land output:' |
echo '==> check Land output:' |
290 |
/home/jmc/bin/comp_res rank_$rnkA/STDOUT.0000 results/atmSTDOUT.0000 L |
$CompRes rank_$rnkA/STDOUT.0000 results/atmSTDOUT.0000 L |
291 |
mv -f comp_res.log comp_res.land |
mv -f comp_res.log comp_res.land |
292 |
echo '==> check thSIce output:' |
echo '==> check thSIce output:' |
293 |
/home/jmc/bin/comp_res rank_$rnkA/STDOUT.0000 results/atmSTDOUT.0000 I |
$CompRes rank_$rnkA/STDOUT.0000 results/atmSTDOUT.0000 I |
294 |
mv -f comp_res.log comp_res.sice |
mv -f comp_res.log comp_res.sice |
295 |
echo ' ' |
echo ' ' |
296 |
else echo "No Atmos output file in rank_$rnkA" ; fi |
else echo "No Atmos output file in rank_$rnkA" ; fi |