#!/bin/bash
#SBATCH -o %x.e%j
#SBATCH -e %x.e%j.err
#SBATCH -N 1        ## --nodes=
#SBATCH -c 32       ## --cpus-per-task=
#SBATCH -t 36:00:00
#SBATCH --ntasks-per-node=1
#SBATCH -p CPU_Std32

ulimit -s unlimited
ulimit -t unlimited

echo 'JOB_NAME' $SLURM_JOB_NAME
echo 'JOB_ID' $SLURM_JOB_ID
echo 'JOB_CPUS_PER_NODE' $SLURM_JOB_CPUS_PER_NODE
hostname
date

#module load gaussian/g16
export g16root=/sw/linux/gaussian/g16
. $g16root/g16/bsd/g16.profile

export GAUSS_PDEF=${SLURM_CPUS_PER_TASK}
export GAUSS_SCRDIR=/usr/scratch/$SLURM_JOB_USER/$SLURM_JOB_ID
echo 'GAUSS_PDEF' $GAUSS_PDEF
echo 'GAUSS_SCRDIR' $GAUSS_SCRDIR

export LOCAL_DIR=~/gaussian

mkdir -p $GAUSS_SCRDIR
rsync -a $LOCAL_DIR/$SLURM_JOB_NAME.* $GAUSS_SCRDIR
rsync -a ~/bin/readdump $GAUSS_SCRDIR
cd $GAUSS_SCRDIR

g16 < $SLURM_JOB_NAME.gau >> $SLURM_JOB_NAME.out

./readdump $SLURM_JOB_NAME.rwf $SLURM_JOB_NAME.evla evla
./readdump $SLURM_JOB_NAME.rwf $SLURM_JOB_NAME.evlb evlb
./readdump $SLURM_JOB_NAME.rwf $SLURM_JOB_NAME.evca evca
./readdump $SLURM_JOB_NAME.rwf $SLURM_JOB_NAME.evcb evcb
./readdump $SLURM_JOB_NAME.rwf $SLURM_JOB_NAME.s1e s1e

rsync -a $GAUSS_SCRDIR/$SLURM_JOB_NAME.out $LOCAL_DIR
rsync -a $GAUSS_SCRDIR/$SLURM_JOB_NAME.evla $LOCAL_DIR
rsync -a $GAUSS_SCRDIR/$SLURM_JOB_NAME.evlb $LOCAL_DIR
rsync -a $GAUSS_SCRDIR/$SLURM_JOB_NAME.evca $LOCAL_DIR
rsync -a $GAUSS_SCRDIR/$SLURM_JOB_NAME.evcb $LOCAL_DIR
rsync -a $GAUSS_SCRDIR/$SLURM_JOB_NAME.s1e $LOCAL_DIR
rm -rf $GAUSS_SCRDIR
date
if [[ ! -s ~/$SLURM_JOB_NAME.e$SLURM_JOB_ID.err ]]; then rm -f ~/$SLURM_JOB_NAME.e$SLURM_JOB_ID.err; fi
