#!/bin/sh
@@{PARTITION}
@@{CONSTRAINTS}
#SBATCH --nodes=@@{NNODES}-@@{NNODES}
#SBATCH --ntasks-per-node=@@{PPN}
#SBATCH --time=@@{WALLTIME}
#SBATCH -J JOB_@@{JOBID}_@@{INSTANCEID}
#SBATCH -o slurm_@@{RUNNAME}_@@{INSTANCEID}.stdout
#SBATCH -e slurm_@@{RUNNAME}_@@{INSTANCEID}.stderr
@@{REMOTEBATCHACCOUNT}

@@{ENVIRONMENT}

# RemoteBatchSLURM:makeMPITemplate
# SubmissionScripts/Distributor/Batch/SLURM/mpi

trap cleanup HUP INT QUIT ABRT TERM

cleanup()
{
   echo "Abnormal termination by signal"
   if [ ! -s @@{TS_FINISH} ] ; then
      date +"%s" > @@{TS_FINISH}
   fi
   exit 1
}

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

@@{QUOTA}

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

if [ "x${SLURM_NPROCS}" = "x" ] ; then
   if [ "x${SLURM_NTASKS_PER_NODE}" = "x" ] ; then
      SLURM_NTASKS_PER_NODE=1
   fi
   SLURM_NPROCS=`expr ${SLURM_JOB_NUM_NODES} \* ${SLURM_NTASKS_PER_NODE}`
fi

@@{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]*
