#!/usr/bin/env bash
########################################################################
#
#  JOB NAME:  JLMP_CIGVIS_MOSFCST   
#             (ADAPTED FROM JLMP_POP_MOSFCST)
#
#  HISTORY:   JUN 25 2019             SHAFER      CREATED
#             SEP 08 2021 lamp.v2.4.0 SAMPLATSKY  MODIFIED FOR WCOSS2 UPDATES
#             JAN 13 2023 lmp.v2.5.0  SHAFER      ADDRESSING BUGZILLA - CHECK FOR
#                                                 EXISTENCE OF $pgmout BEFORE CATTING
#
########################################################################

###########################################################
# SET SHELL PROCESSING VARIABLES
###########################################################

date
export PS4=' $SECONDS + '
set -x

###########################################################
# OBTAIN UNIQUE PROCESS ID (PID) AND CREATE TEMP DIRECTORY
###########################################################
export DATA=${DATA:-${DATAROOT:?}/${jobid:?}}

mkdir -p $DATA
cd $DATA

export cycle=t${cyc}z
export HOUR=$cyc

###########################################################
# SPECIFY NET AND MODEL VARIABLES
###########################################################
export NET=${NET:-lmp}
export RUN=${RUN:-lmp}

###########################################################
# DETERMINE JOB OUTPUT NAME (USED IN $DATA WHILE JOB IS
# RUNNING)
###########################################################
export pgmout="OUTPUT.$$"

###########################################################
# SENDECF  - Flag Events on ECF
# SENDCOM  - Copy Files From TMPDIR to $com
# SENDDBN  - Send files to OSO
###########################################################
export SENDECF=${SENDECF:-YES}
export SENDCOM=${SENDCOM:-YES}
export SENDDBN=${SENDDBN:-YES}

###########################################################
# SPECIFY DIRECTORIES WHERE JOB-RELATED FILES RESIDE
###########################################################
export USHlmp=${USHlmp:-${HOMElmp}/ush}
export EXEClmp=${EXEClmp:-${HOMElmp}/exec}
export FIXlmp=${FIXlmp:-${HOMElmp}/fix}
export PARMlmp=${PARMlmp:-${HOMElmp}/parm}
export SCRlmp=${SCRlmp:-${HOMElmp}/scripts}

###########################################################
# SET DATE AND TIME VARIABLES
###########################################################
export PDY=$PDY
setpdy.sh
. ./PDY

############################################################
# SET DATE AND TIME VARIABLES.
############################################################
export DAT=${PDY}${HOUR}
export PDYm1=`$NDATE -24 ${PDY}${HOUR} | cut -c 1-8`

# Offset for GFS MOS
case ${HOUR} in
  00 | 06 | 12 | 18 ) export offset=06;;
  01 | 07 | 13 | 19 ) export offset=07;;
  02 | 08 | 14 | 20 ) export offset=08;;
  03 | 09 | 15 | 21 ) export offset=09;;
  04 | 10 | 16 | 22 ) export offset=04;;
  05 | 11 | 17 | 23 ) export offset=05;;
esac

export MOSDAT=`$NDATE -${offset} ${DAT}`
export MOSPDY=`echo ${MOSDAT} | cut -c1-8`
export MOSCYC=`echo ${MOSDAT} | cut -c9-10`
export COMINgfsmos=${COMINgfsmos:-$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$MOSPDY)}

export MOSDATm1=`$NDATE -6 ${MOSDAT}`
export MOSPDYm1=`echo ${MOSDATm1} | cut -c1-8`
export MOSCYCm1=`echo ${MOSDATm1} | cut -c9-10`
export COMINgfsmos_m1=${COMINgfsmos_m1:-$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$MOSPDYm1)}

###########################################################
# SET UP DIRECTORY PATHS DEPENDENT ON DATE VARIABLES
###########################################################

export COMIN=${COMIN:-$(compath.py ${envir}/com/${NET}/${lmp_ver})/${RUN}.${PDY}}
export COMINobs=${COMINobs:-$(compath.py ${envir}/com/${NET}/${lmp_ver})/${RUN}.${PDY}}
export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${lmp_ver})/${RUN}.${PDY}}
export COMOUTm1=${COMOUTm1:-$(compath.py -o ${NET}/${lmp_ver})/${RUN}.${PDYm1}}

mkdir -p ${COMOUT} ${COMOUTm1}

env

#############################################################
# execute the script
$SCRlmp/exlmp_cigvis_mosfcst_subh.sh
export err=$?; err_chk
#############################################################

if [ -f $pgmout ]; then cat $pgmout; fi

cd $DATAROOT

if [ "${KEEPDATA^^}" != "YES" ]; then
   rm -rf $DATA
fi

date