#!/bin/sh
######################################################################
#  Job Name:  exgfsmos_hrqpf_prep.sh          
#  Purpose:   To run all steps neccessary to create input gfs 
#             predictors and qpf interactive predictors, which will
#             be used to generate qpf forecasts.
#
echo "------------------------------------------------"
echo "JGFSMOS_HRQPF_PREP processing                   "
echo "------------------------------------------------"
#
#   History: Jul 1, 2011 - First implementation of this new script.
#
#
#######################################################################

msg="${job} has begun on `hostname` at `date`"
postmsg "${jlogfile}" "${msg}"

echo $PDY $cyc: Date and Cycle - echo PDY and cyc

######################################################################
#
#   SET PREVIOUS CYCLE DATE BASED ON CYCLE
#
######################################################################

case ${cyc} in
  00 )
    PDY_P1=$PDYm1
    CYC_P1=18
    PDY_P2=$PDYm1
    CYC_P2=12
    PDY_P3=$PDYm1
    CYC_P3=06;;
  12 )
    PDY_P1=$PDY
    CYC_P1=06
    PDY_P2=$PDY
    CYC_P2=00
    PDY_P3=$PDYm1
    CYC_P3=18;;
esac

######################################################################
#
#   DETERMINE SEASON BASED ON PDY
#
######################################################################

month=`echo ${PDY} | cut -c5-6`

case $month in
  04 | 05 | 06 | 07 | 08 | 09 ) season="04010930";;
  01 | 02 | 03 | 10 | 11 | 12 ) season="10010331";;
esac

######################################################################
#
#   COPY INPUT FILES FROM COM
#
######################################################################

cp ${COMIN}/gfs.${PDY}/mdl_hrqpf_gfspkd.t00z .
cp ${COMIN}/gfs.${PDY_P1}/mdl_hrqpf_gfspkd.t06z .
cp ${COMIN}/gfs.${PDY_P2}/mdl_hrqpf_gfspkd.t12z .
cp ${COMIN}/gfs.${PDY_P3}/mdl_hrqpf_gfspkd.t18z .

cp ${COMIN}/gfs.${PDY_P1}/mdl_hrqpf_gfsxpkd.t${CYC_P1}z .
cp ${COMIN}/gfs.${PDY_P2}/mdl_hrqpf_gfsxpkd.t${CYC_P2}z .
cp ${COMIN}/gfs.${PDY_P3}/mdl_hrqpf_gfsxpkd.t${CYC_P3}z .

######################################################################
#
#   FIRST EXECUTION OF PROGRAM MOSPRED
#   MOSPRED - USED TO COMPUTE AND INTERPOLATE GFS MODEL FORECAST.
#             THIS WILL BE USED AS INPUT INTO A SECOND RUN OF 
#             MOSPRED, AND LATER AS INPUT TO EQNEVAL.
#
######################################################################

echo QPFLOG: `date` - begin job MOSPRED - INTERPOLATE GFS MODEL DATA

msg="${job} begin 1st mospred at `date`"
postmsg "${jlogfile}" "${msg}"

. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_20="mdl_hrqpf_gfspkd.t00z"
export XLFUNIT_21="mdl_hrqpf_gfspkd.t06z"
export XLFUNIT_22="mdl_hrqpf_gfspkd.t12z"
export XLFUNIT_23="mdl_hrqpf_gfspkd.t18z"
export XLFUNIT_24="mdl_hrqpf_gfsxpkd.t${CYC_P1}z"
export XLFUNIT_25="mdl_hrqpf_gfsxpkd.t${CYC_P2}z"
export XLFUNIT_26="mdl_hrqpf_gfsxpkd.t${CYC_P3}z"
export XLFUNIT_44="${FIXmdl}/mdl_hrqpf_topo_grid.raf"
export XLFUNIT_45="${FIXmdl}/mdl_hrqpf_allclim.raf"
export XLFUNIT_60="mdl_hrqpf_preds.${PDY}.t${cyc}z"
export XLFUNIT_33="${FIXmdl}/mdl_hrqpf_stations.tbl"
export XLFUNIT_39="${FIXmdl}/mdl_hrqpf_idtable"
export XLFUNIT_35="${FIXmdl}/mdl_hrqpf_predlist.${season}.t${cyc}z"

startmsg
${EXECmdl}/mdl_hrqpf_mospred < ${PARMmdl}/mdl_hrqpf_preds.cn > $pgmout 2>errfile
export err=$?; err_chk

######################################################################
#
#   SECOND EXECUTION OF PROGRAM MOSPRED
#   MOSPRED - USED TO COMPUTE QPF INTERACTIVE PREDICTORS.
#             THIS WILL BE USED AS INPUT INTO EQNEVAL.
#
######################################################################

echo QPFLOG: `date` - begin job MOSPRED - CALCULATE INTERACTIVE PREDICTORS

msg="${job} begin 2nd mospred at `date`"
postmsg "${jlogfile}" "${msg}"

. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_80="mdl_hrqpf_preds.${PDY}.t${cyc}z"
export XLFUNIT_45="${FIXmdl}/mdl_hrqpf_allclim.raf"
export XLFUNIT_60="mdl_hrqpf_prods.${PDY}.t${cyc}z"
export XLFUNIT_33="${FIXmdl}/mdl_hrqpf_stations.tbl"
export XLFUNIT_39="${FIXmdl}/mdl_hrqpf_idtable"
export XLFUNIT_35="${FIXmdl}/mdl_hrqpf_prodlist.${season}.t${cyc}z"

startmsg
${EXECmdl}/mdl_hrqpf_mospred < ${PARMmdl}/mdl_hrqpf_prods.cn >> $pgmout 2>>errfile
export err=$?; err_chk

#######################################################################
# COPY FILES TO COM
#######################################################################

if test ${SENDCOM} = 'YES'
then
  cp mdl_hrqpf_preds.${PDY}.t${cyc}z ${COMOUT}
  cp mdl_hrqpf_prods.${PDY}.t${cyc}z ${COMOUT}
fi

#####################################################################
# GOOD RUN
set +x
echo "************** $job COMPLETED NORMALLY ON THE IBM SP"
set -x
#####################################################################

exit 0
