#!/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:-cmce}

####################################
# 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 JYYYY=`echo ${PDY} | cut -c1-4`
#export COMIN=${COMIN:-$(compath.py ${NET}/prod/${RUN}.${PDY})/${cyc}}
export DCOM=${DCOM:-${DCOMROOT:?}/us007003/${PDY}/wgrbbul/cmcens_gb2}
export COMINgfs=${COMINgfs:-$(compath.py gfs/prod/gfs.$PDY)}

#export COMINgefs=${COMINgefs:-$(compath.py ${NET}/prod/gefs.${PDY})/${cyc}/tctrack}
export COMINgefs=${COMINgefs:-${COMROOT:?}/${NET}/${envir}/gefs.${PDY}/${cyc}/tctrack}

export COMINsyn=${COMINsyn:-$(compath.py arch/prod/syndat)}

#export COMINgenvit=${COMINgenvit:-${GESROOT:?}/${envir}/${NET}/genesis_vital_${JYYYY}}
export COMOUT=${COMOUT:-${COMROOT:?}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/tctrack}
# export COMOUThur=${COMOUThur:-${COMROOTp1:?}/hur/${envir}/global}
# export COMOUTatcf=${COMOUTatcf:-${COMROOTp1:?}/nhc/${envir}/atcf}
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=cens
export loopnum=1
export ymdh=${PDY}${cyc}

export ccedir=${DCOM}
# export ccedir=/gpfs/gp1/dcomdev/us007003/${PDY}/wgrbbul/cmcens_gb2
# JY export ccedir=${DCOMROOT}/../../dcomdev/us007003/${PDY}/wgrbbul/cmcens_gb2

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

pertstring="c00 p01 p02 p03 p04 p05 p06 p07 p08 p09 p10
                p11 p12 p13 p14 p15 p16 p17 p18 p19 p20"

#-----------input data checking -----------------
#${USHens_tracker}/data_check.sh
${USHens_tracker}/data_check_cens.sh
# exit code 6 = missing data of opportunity
if [ $? -eq 6 ]; then exit; fi
#------------------------------------------------

>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_g2.sh ${loopnum} ${cmodel} ${ymdh} ${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.c${pert}.atcfunix.${PDY}${cyc} ${COMOUT}/c${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}/cemn.trkprob.* ${COMOUT}/
#  cp ${DATA}/trak.cemn.atcfunix.* ${COMOUT}/cemn.t${cyc}z.cyclone.trackatcfunix
#  cp ${DATA}/trak.cemn.mode.* ${COMOUT}/cemn.t${cyc}z.cyclone.trackmode
#  cp ${DATA}/trak.cemn.spread.* ${COMOUT}/cemn.t${cyc}z.cyclone.trackspread
#fi

${USHens_tracker}/atcf_2_cxml.sh ${cmodel} ${ymdh} ${COMINgefs} ${DATA}
export err=$?; err_chk
#############################################################

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

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

date
