#!/bin/sh
#############################################################################
# This script excfs_cdas_vrfyfits.sh.sms processes fits to obs
# and generates the model verification statistis for CDAS/CFS
# Author:   Suranjana Saha -- Original Script
#           Shrinivas Moorthi -- Second version
#############################################################################
set -x

##################################################
# Define input variables
##################################################
#export CDATE=${1:-$PDY$cyc}
#export COMDIR=${2:-/com/${NET}/$envir}
#export DATA=${3:-/tmpnwprd/${job}.${pid}}
export CDUMPPREP=${CDUMPPREP:-gdas}
export CDUMPFCST=${CDUMPFCST:-gfs}
export CDUMPANAL=${CDUMPANAL:-$CDUMPPREP}
export cfsp=${cfsp:-cfs_}
export cfsd=${cfsd:-cfs_cdas_}
export POSTEVENTSSH=${POSTEVENTSSH:-/nwprod/ush/global_postevents.sh}
export PREEVENTSSH=${PREEVENTSSH:-/nwprod/ush/prepobs_prevents.sh}
export BUFRPOSTSH=${BUFRPOSTSH:-$USHcfs/${cfsp}bufr_post.sh}
export FITSSH=${FITSSH:-$USHcfs/${cfsd}fits.sh}
export HORZSH=${HORZSH:-$USHcfs/${cfsd}horizn.sh}
export PREX=${PREX:-/nwprod/exec/prepobs_prevents}
export PREC=${PREC:-/nwprod/parm/prepobs_prevents.cdas.parm}
export PRVT=${PRVT:-/nwprod/fix/prepobs_errtable.global}
export PSTX=${PSTX:-/nwprod/exec/global_postevents}

export CHGRP_RSTPROD=${CHGRP_RSTPROD:-YES}

#################################################################

msg="JOB $job HAS BEGUN"
postmsg "$jlogfile" "$msg"
cd $DATA

# make postevents for analysis only...
fh1=06
fh2=00
hh=$(echo $CDATE | cut -c9-10)
yyyymmdd=$(echo $CDATE | cut -c1-8)

if [ $RUN_ENVIR = prod -o $RUN_ENVIR = devpara ] ; then
  COMLOC=$COMDIR/cdas.$yyyymmdd
  export PRPI=$COMLOC/cdas1.t${hh}z.prepbufr
  export PRPO=$COMLOC/cdas1.t${hh}z.prepqa
  export SANL=$COMLOC/cdas1.t${hh}z.sanl
  export CSTAT=${CSTAT:-$COMLOC/cdas1.t${hh}z.cnvstat}
else
  COMLOC=$COMDIR
  export PRPI=$COMLOC/prepqc.$CDUMPPREP.$CDATE
  export PRPO=$COMLOC/prepqa.$CDUMPPREP.$CDATE
  export SANL=$COMLOC/siganl.$CDUMPANAL.$CDATE
  export CSTAT=${CSTAT:-$COMLOC/cnvstat.$CDUMPPREP.$CDATE}
fi

export SANLA=${SANLA:-/dev/null}

$BUFRPOSTSH $SANL $CSTAT $PRPI $PRPO $CDATE

$FITSSH     $CDATE $PRPO $COMLOC $DATA $fh1 $fh2
$HORZSH     $CDATE $PRPO $COMLOC $DATA anl

if [ "$CHGRP_RSTPROD" = 'YES' ]; then
  chgrp rstprod $PRPO
  errch=$?
  if [ $errch -eq 0 ]; then
      chmod 640 $PRPO
  fi
fi

#################################################################
# make prepqf file containing forecasts
if [[ $hh = "00" ]] ; then
  fh1=24
  fh2=48
elif [[ $hh = "12" ]] ; then
  fh1=12
  fh2=36
else
  exit
fi

export NDATE=${NDATE:-/nwprod/util/exec/ndate}
CDATEfh1=$($NDATE -$fh1 $CDATE)
hh1=$(echo $CDATEfh1 | cut -c9-10)
if [ $RUN_ENVIR = prod -o $RUN_ENVIR = devpara ] ; then
  yyyymmdd=$(echo $CDATEfh1 | cut -c1-8)
  COMLOC1=$COMDIR/cdas.$yyyymmdd
  COMLOCF=$COMDIR/cfs/cfs.$yyyymmdd/$hh1/6hrly_grib_01
  export PRPI=$COMLOC/cdas1.t${hh}z.prepbufr
  export SGES=$COMLOCF/sigf${CDATE}.01.$CDATEfh1
else
  export PRPI=$COMLOC/prepqc.$CDUMPPREP.$CDATE
  export SGES=$COMLOC/sigf$fh1.$CDUMPFCST.$CDATEfh1
fi
export SGESA=${SGESA:-/dev/null}
## interim file
#export PRPO=${PRPO:-$DATA/prepqm$CDATE.fcs}
export PRPO=$DATA/prepqm$CDATE.fcs
${NCP:-cp} $PRPI $PRPO||exit 2
$PREEVENTSSH $PRPO $CDATE||exit 2

CDATEfh2=$($NDATE -$fh2 $CDATE)
hh2=$(echo $CDATEfh2 | cut -c9-10)
#export PRPI=${PRPI:-$DATA/prepqm$CDATE.fcs}
export PRPI=$DATA/prepqm$CDATE.fcs
if [ $RUN_ENVIR = prod -o $RUN_ENVIR = devpara ] ; then
  yyyymmdd=$(echo $CDATEfh2 | cut -c1-8)
  COMLOC2=$COMDIR/cdas.$yyyymmdd
  COMLOCF=$COMDIR/cfs/cfs.$yyyymmdd/$hh2/6hrly_grib_01
  export SANL=$COMLOCF/sigf${CDATE}.01.$CDATEfh2
  export PRPO=$COMLOC/cdas1.t${hh}z.prepqf
else
  export SANL=$COMLOC/sigf$fh2.$CDUMPFCST.$CDATEfh2
  export PRPO=$COMLOC/prepqf.$CDUMPPREP.$CDATE
fi
export SANLA=${SANLA:-/dev/null}
${NCP:-cp} $PRPI $PRPO
$POSTEVENTSSH $PRPO $CDATE

if [ "$CHGRP_RSTPROD" = 'YES' ]; then
  chgrp rstprod $PRPO
  errch=$?
  if [ $errch -eq 0 ]; then
      chmod 640 $PRPO
  fi
fi

$FITSSH       $CDATE $PRPO $COMLOC $DATA $fh1 $fh2
$HORZSH       $CDATE $PRPO $COMLOC $DATA fcs

########################################################

msg='ENDED NORMALLY.'
postmsg "$jlogfile" "$msg"

################## END OF SCRIPT #######################

