#!/bin/ksh
################################################################################
####  UNIX Script Documentation Block
#                      .                                             .
# Script name:         exndas_post.sh
# Script description:  Run NDAS post jobs
#
# Author:        Eric Rogers       Org: NP22         Date: 1999-06-23
#
# Abstract: This script runs the NDAS/NAM post jobs and the NDAS sounding
#           post jobs
#
# Script history log:
# 1999-06-23  Eric Rogers
# 1999-08-02  Brent Gordon - Modified for production
# 2003-03-21  Eric Rogers - changed to do hourly output and add grid #110
# 2004-10-20  Julia Zhu   - Modified for CCS Phase II--ETA/EDAS-->NAM/NDAS name changes 
# 2006-01-13  Eric Rogers - Modified for WRF-NMM
# 2007-01-08  Eric Rogers - Added full grid #218 file for NDAS tm03 analysis for experimental SREF
# 2007-04-26  Eric Rogers - Make full grid #218 and #221 for all NDAS analysis times for
#                           SREF/NAM bias correction and downscaling

set -x
cd $DATA

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

#
# Get needed variables from exndas_prelim.sh.sms
#
. $GESDIR/ndas.t${cyc}z.envir.sh

export MODELTYPE=NMM
export OUTTYP=binarynemsio
export MP_I_BINDPROC=NO
export MP_BINDPROC=NO

tmval=`echo $tmmark | cut -c3-4`
export SDATE=`/nwprod/util/exec/ndate -$tmval $CYCLE`
export CYCLE

FHR="00 01 02 03"
for fhr in $FHR
do
   if [ $fhr -eq 03 ]
   then
      donefile=$GESDIR/ndas.t${cyc}z.fcstdone0${fhr}.${tmmark}
   else
      donefile=$FCSTDIR/fcstdone.0${fhr}h_00m_00.00s
   fi

   icnt=1
   while [ $icnt -lt 1000 ]
   do
      ferr=0
      if [ -f $donefile ]
      then
         break
      else
         icnt=$((icnt + 1))
         sleep 10
      fi
      if [ $icnt -ge 180 ]
      then
         msg="ABORTING after 30 minutes of waiting for F${fhr} from forecast."
         err_exit $msg
      fi
   done

   $USHnam/nam_ndaspost.sh $fhr $COMOUT

   mv AWP151${fhr}.${tmmark} $COMOUT/ndas.t${cyc}z.awp151${fhr}.${tmmark}

done

$USHnam/nam_ndaspost0.sh
$USHnam/nam_namsndp.sh

mv class1.bufr.${tmmark} $COMOUT/ndas.t${cyc}z.class1.bufr.${tmmark}

$USHnam/nam_ndasbfr2gpk.sh

FHR="00 01 02 03"
for fhr in $FHR
do
  if [ "$SENDCOM" = 'YES' ]; then
  /nwprod/util/exec/cnvgrib -g12 -p40 AWIP3D${fhr}.${tmmark} AWIP3D${fhr}.${tmmark}.grib2
  /nwprod/util/exec/wgrib2 AWIP3D${fhr}.${tmmark}.grib2 -s >AWIP3D${fhr}.${tmmark}.grib2.idx
  fi

  if [ $tmmark = tm03 -a $fhr -eq 00 ]
  then
    mv BGDAWP${fhr}.${tmmark} $COMOUT/ndas.t${cyc}z.bgdawp${fhr}.${tmmark}
  fi

  mv AWIP3D${fhr}.${tmmark} $COMOUT/ndas.t${cyc}z.awip3d${fhr}.${tmmark}
  mv AWIP12${fhr}.${tmmark} $COMOUT/ndas.t${cyc}z.awip12${fhr}.${tmmark}
  mv AWIP32${fhr}.${tmmark} $COMOUT/ndas.t${cyc}z.awip32${fhr}.${tmmark}
  mv AWLDAS${fhr}.${tmmark} $COMOUT/ndas.t${cyc}z.awldas${fhr}.${tmmark}
  mv GRBGRD${fhr}.${tmmark} $COMOUT/ndas.t${cyc}z.grbgrd${fhr}.${tmmark}
  mv BGRDSF${fhr}.${tmmark} $COMOUT/ndas.t${cyc}z.bgrdsf${fhr}.${tmmark}

  mv AWIP3D${fhr}.${tmmark}.grib2 $COMOUT/ndas.t${cyc}z.awip3d${fhr}.${tmmark}.grib2
  mv AWIP3D${fhr}.${tmmark}.grib2.idx $COMOUT/ndas.t${cyc}z.awip3d${fhr}.${tmmark}.grib2.idx

  if [ "$SENDDBN" = 'YES' ]; then
    $DBNROOT/bin/dbn_alert MODEL NDAS_AW3D $job $COMOUT/ndas.t${cyc}z.awip3d${fhr}.${tmmark}
    $DBNROOT/bin/dbn_alert MODEL NDAS_AW3D_GB2 $job $COMOUT/ndas.t${cyc}z.awip3d${fhr}.${tmmark}.grib2
    $DBNROOT/bin/dbn_alert MODEL NDAS_AW3D_GB2_WIDX $job $COMOUT/ndas.t${cyc}z.awip3d${fhr}.${tmmark}.grib2.idx
  fi

done

mv AWPHYS00.${tmmark} $COMOUT/ndas.t${cyc}z.awphys00.${tmmark}
mv AWP22100.${tmmark} $COMOUT/ndas.t${cyc}z.awp22100.${tmmark}

tile=1
typeset -Z2 tile
while [ $tile -le 54 ] ; do
  mv nam.AWPHYS00.${tmmark}.${tile} $COMOUT/ndas.t${cyc}z.awip21800.${tmmark}.${tile}
  let tile=tile+1
done

msg="JOB $job HAS COMPLETED NORMALLY."
postmsg "$jlogfile" "$msg"

echo EXITING $0
