#!/bin/sh
#
# run douar, on the p690
#
# Author: Douglas Guptill
# 2009-05-25: new

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."
OUT=douar.out

# For poe
#
# set NLSPATH.
if test  "x${NLSPATH}" = x ; then
  export NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
  echo "setting NLSPATH=${NLSPATH}"
fi

# The PGPLOT routines need this.
# However Jean Braun has very kindly commented out the lines in douar
# that call the routines that need pgplot.
# export PGPLOT_DIR=/home/beaumnt1/software/pgplot-5.2.2

# For WSMP
#
# WSMP needs to know where its license file is.
# However the export doesn't seem to work.  
# export WSMPLICPATH=/home/beaumnt1/software/wsmp/wsmp.lic
# So copy wsmp.lic to the running directory.

# For WSMP on AIX
export SPINLOOPTIME=200
export YIELDLOOPTIME=200
export RT_GRQ=ON
export AIXTHREAD_COND_DEBUG=OFF
export AIXTHREAD_MUTEX_DEBUG=OFF
# these cause trouble from LoadLeveler
# export MP_EUILIB=us
# export MP_EUIDEVICE=css0
export MP_EUILIB=ip
# ignored if LoadLeveler not being used.
# export MP_EUIDEVICE=en0
export MP_CSS_INTERRUPT=yes
export MP_WAIT_MODE=nopoll
export_MP_PULSE=0

# douar needs some directories..
#
make_dir DEBUG
make_dir DEBUG/mpilogs
make_dir OUT
# define the binary of douar
BIN=/home/beaumnt1/software/DOUAR/bin/douar

# Here is the run command
COM="poe ${BIN} -procs ${PROCS} -hostfile ${HOME}/host.list"    
echo "COM is <${COM}>"

# ulimits
#
ulimit -d unlimited   >${OUT}
# ulimit -s 2000000    >>${OUT}
# Current runs on the p690 use this
ulimit -s 600000    >>${OUT}
ulimit -m unlimited  >>${OUT}
ulimit -a            >>${OUT}

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

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