#!/bin/sh 
date
export PS4=' $SECONDS + '
set -x

####################################
# obtain unique process id (pid) and make temp directory
####################################
export jobid=${jobid:-$job.o$$}
export DATA=${DATA:-${DATAROOT:?}/${jobid}}
mkdir -p $DATA
cd $DATA
export cycle=t${cyc}z

####################################
# File To Log Msgs
####################################
export jlogfile=${jlogfile:-${COMROOT}/logs/jlogfiles/jlogfile.${jobid}}

####################################
# Specify NET and RUN Name and model
####################################
export NET=${NET:-ens_tracker}
export RUN=${RUN:-ecme}

####################################
# Determine Job Output Name on System
####################################
export pgmout="OUTPUT.$$"
export pgmerr=errfile

####################################
# SENDECF  - Flag Events on ecFLOW
# SENDCOM  - Copy Files From TMPDIR to $COMOUT
# SENDDBN  - Issue DBNet Client Calls
####################################
export SENDECF=${SENDECF:-YES}
export SENDCOM=${SENDCOM:-YES}
export SENDDBN=${SENDDBN:-YES}

####################################
# Specify Execution Areas
####################################
export HOMEens_tracker=${HOMEens_tracker:-${NWROOT:?}/ens_tracker.${ens_tracker_ver}}
export EXECens_tracker=${EXECens_tracker:-$HOMEens_tracker/exec}
export FIXens_tracker=${FIXens_tracker:-$HOMEens_tracker/fix}
export USHens_tracker=${USHens_tracker:-$HOMEens_tracker/ush}

##############################
# Run setpdy and initialize PDY variables
##############################
setpdy.sh
. PDY

##############################################
# Define COM directories
##############################################
export COMIN=${COMIN:-${COMROOT:?}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/pgrba}
export COMINgfs=${COMINgfs:-$(compath.py gfs/prod/gfs.$PDY)}
export COMINsyn=${COMINsyn:-$(compath.py arch/prod/syndat)}

export COMOUT=${COMOUT:-${COMROOT:?}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/tctrack}
export COMOUThur=${COMOUThur:-${COMROOT:?}/${NET}/${envir}/global}
export COMOUTatcf=${COMOUTatcf:-${COMROOT:?}/${NET}/${envir}/atcf}
mkdir -m 775 -p $COMOUT $COMOUThur $COMOUTatcf

msg="HAS BEGUN on `hostname`"
postmsg "$jlogfile" "$msg"

env

#############################################################
# Execute the script
export cmodel=eens
export ymdh=${PDY}${cyc}

export ecedir=${COMIN}

mkdir ${DATA}/${cmodel}
cd ${DATA}/${cmodel}

pertstring="p01 p02 p03 p04 p05 p06 p07 p08 p09 p10
            p11 p12 p13 p14 p15 p16 p17 p18 p19 p20
            p21 p22 p23 p24 p25
            n01 n02 n03 n04 n05 n06 n07 n08 n09 n10
            n11 n12 n13 n14 n15 n16 n17 n18 n19 n20
            n21 n22 n23 n24 n25 c00"

>trkr.cmdfile
for pert in ${pertstring}; do
  pertdir=${DATA}/${cmodel}/${pert}
  mkdir -p $pertdir
  outfile=${pertdir}/trkr.${cmodel}.${pert}.${ymdh}.out
  echo "${USHens_tracker}/extrkr_g1.sh ${ymdh} ${cmodel} ${pert} ${pertdir} 2>&1 >${outfile}" >>trkr.cmdfile
done

chmod u+x trkr.cmdfile
export MP_PGMMODEL=mpmd
export MP_CMDFILE=${DATA}/${cmodel}/trkr.cmdfile

mac=`echo ${SITE}`
if [ $mac = TIDE -o $mac = GYRE ] ; then # For WCOSS
  machine=wcoss
  mpirun.lsf
elif [ $mac = LUNA -o $mac = SURGE ] ; then # For CRAY
  machine=cray
  ${APRUNTRACK} cfp ${MP_CMDFILE}
fi

#if [ ${SENDCOM} = 'NO' ]; then
#  for pert in ${pertstring}; do
#    pertdir=${DATA}/${cmodel}/${pert}
#    cp ${pertdir}/trak.e${pert}.atcfunix.${PDY}${cyc} ${COMOUT}/e${pert}.t${cyc}z.cyclone.trackatcfunix
#  done
#fi

cd $DATA
#rm -rf ${DATA}/${cmodel}

${USHens_tracker}/ens_trak_ave.sh
export err=$?; err_chk

#if [ ${SENDCOM} = 'NO' ]; then
#  cp ${DATA}/eemn.trkprob.* ${COMOUT}/
#  cp ${DATA}/trak.eemn.atcfunix.* ${COMOUT}/eemn.t${cyc}z.cyclone.trackatcfunix
#  cp ${DATA}/trak.eemn.mode.* ${COMOUT}/eemn.t${cyc}z.cyclone.trackmode
#  cp ${DATA}/trak.eemn.spread.* ${COMOUT}/eemn.t${cyc}z.cyclone.trackspread
#fi
#############################################################

msg="JOB COMPLETED NORMALLY"
postmsg "$jlogfile" "$msg"

##############################
# Remove the Temporary working directory
##############################
if [[ $KEEPDATA != "YES" ]]; then
  rm -rf $DATA
fi

date
