#!/bin/sh
#$ -S /bin/sh
#$ -cwd
#$ -pe @@{PARALLELENVIRONMENT} @@{NPROCESSORS}
#$ -l h_rt=@@{WALLTIME}
#$ -N JOB_@@{JOBID}_@@{INSTANCEID}
#$ -o sge_@@{RUNNAME}_@@{INSTANCEID}.stdout
#$ -e sge_@@{RUNNAME}_@@{INSTANCEID}.stderr
#$ -m n
@@{REMOTEBATCHACCOUNT}
@@{QUEUE}

@@{ENVIRONMENT}

# RemoteBatchSGE:makeMPITemplate
# SubmissionScripts/Distributor/Batch/SGE/mpi

trap cleanup HUP INT QUIT ABRT TERM

cleanup()
{
   echo "Abnormal termination by signal"
   if [ ! -s @@{TS_FINISH} ] ; then
      date +"%s" > @@{TS_FINISH}
   fi
   if [ ! -s @@{TIME_RESULTS} ] ; then
      cat > @@{TIME_RESULTS} << EOF
Command terminated by signal 3
real 0.00
user 0.00
sys 0.00
EOF
   fi
   exit 1
}

export PATH=${SGE_O_WORKDIR}:${PATH}
# Change to directory where job was submitted.
cd ${SGE_O_WORKDIR}

@@{QUOTA}

chmod +x @@{APPSCRIPTNAME}
date +"%s" > @@{TS_START}

@@{PREMANAGERCOMMANDS}
@@{MANAGERCOMMAND} `pwd`/@@{APPSCRIPTNAME} > @@{RUNNAME}_@@{INSTANCEID}.stdout 2> @@{RUNNAME}_@@{INSTANCEID}.stderr
@@{POSTMANAGERCOMMANDS}

date +"%s" > @@{TS_FINISH}

touch @@{TIME_RESULTS}-0
cat @@{TIME_RESULTS}-[0-9]* >> @@{TIME_RESULTS}
rm -f @@{TIME_RESULTS}-[0-9]*
