#!/bin/sh
#
# run douar, on mahone
#
# Author: Douglas Guptill
# 2009-06-03: new, from a copy of the one on p690

make_dir() {
  if ! test -d $1;  then mkdir $1; fi
}

if test $# -lt 1 ; then
  echo "Usage: $0 <number-of-processors>"
  exit
fi

PROCS=$1
echo "Will use ${PROCS} processes."

# For wsmp
export MALLOC_TRIM_THRESHOLD_=-1
export MALLOC_MMAP_MAX_=0
# WSMP needs to know where its license file is.
# But this doesn't seem to work yet....)
# It looks like the license must be where we start the job.
# When using the licemse from AIX, we get:
#        ERROR**:  This License is registered for an AIX system
# export WSMPLICPATH=/home/dguptill/software/wsmp/
# export WSMPLICPATH=/home/pfullsac/PROGRAMS2008/v0.1/run_test_all/pbwithlic/wsmp.lic
# The PGPLOT routines need this.
export PGPLOT_DIR=/home/dguptill/software/pgplot-5.2.2
export LD_LIBRARY_PATH=${PGPLOT_DIR}:${LD_LIBRARY_PATH}
echo  "LD_LIBRARY_PATH is ${LD_LIBRARY_PATH}"
# douar needs some directories..
make_dir DEBUG
make_dir DEBUG/mpilogs
make_dir OUT
# define the binary of douar
# BIN=/home/dguptill/software/douar/bin/douar.mpich.02
BIN=/home/dguptill/software/douar/douar

# Here is the run command
# COM="mpirun -np ${PROCS} --host localhost,localhost,localhost,localhost --byslot ${BIN}"
# for the head node and MPICH
# trouble:
#p0_15929:  p4_error: Child process exited while making connection to remote process on cl003: 0
#p0_15929: (6.230469) net_send: could not write to fd=5, errno = 32
#
# COM="/usr/local/mpich.pgi.64/bin/mpirun -machinefile /home/dguptill/douar/machinefile -np ${PROCS} ${BIN}"
COM="/usr/local/mpich.pgi.64/bin/mpirun -arch LINUX -machinefile /home/dguptill/douar/machinefile -np ${PROCS} ${BIN} /home/dguptill/douar/input.txt"
echo "COM is <${COM}>"

# start douar and go away....
#
# nohup ${COM} &
# echo "douar has been started.  Look in nohup.out ."

# start douar and watch it........
#
OUT=douar.out
${COM} 2>douar.err | tee -a ${OUT}