#!/bin/sh

####################################################
#  Eta Model post job for Eta ensemble run
#  Programmer: Jun Du
#
#  Log: 
#    J. Du, 04/18/2001, initial program 
#    J. Du, 04/04/2002, grid104 added 
#    J. Du, 10/20/2003, (1) added fix file eta_micro_lookup.dat;
#                       (2) resolution changed from 48km to 32km;
#                       (3) included Ferrier's new cloud fields
#                           in etapost; 
#                       (4) nearest neighbor fix in PRDGEN.f
#    J. Du, 06/16/2005: (1) add 221 (large NA domain), 216 (Alaksa) and 
#                       243 (Hawaii) output grids; (2) extend fcst length 
#                       from 63hr to 87hr
#    J. Du, 01/25/2005, change to use a unified version of prdgen
#
####################################################

############################################################
#  Define Variables:
#  -----------------
#  SHOUR        is the starting forecast hour. normally 0 except for restarts.
#  ENDHOUR        is the ending forecast hour.
#  FHINC        is the increment hour for each forecast steps.
###########################################################################

set -x
cd $DATA

msg="$job HAS BEGUN FOR ctl"
postmsg "$jlogfile" "$msg"

export tmmark=tm00

fhr=$SHOUR
if test $fhr -lt 10 -a $fhr -gt 0
then
   fhr="0$fhr"
fi

while test $fhr -le $ENDHOUR
do
  icnt=1
  while [ $icnt -lt 1000 ]
  do
    if [ -s $FCSTDIR/fcstdone${fhr}.${tmmark} ]
    then
      break
    else
      icnt=$((icnt + 1))
      sleep 5
    fi
    if [ $icnt -ge 360 ]
    then
      msg="ABORTING after 30 minutes of waiting for Eta FCST F${fhr} to end."
      err_exit $msg
    fi
  done

  postmsg "$jlogfile" "Starting post for ctl at F${fhr}"

  nposts=01
  incpst=01

  cp $FCSTDIR/restrt${fhr}.${tmmark} restrt${fhr}.${tmmark}
  cp $FCSTDIR/nhb$RES nhb$RES

  export pgm=eta32k_etapost
  . prep_step
  export XLFUNIT_11=$PARMsref/eta32k_fta.tm00.parm
  export XLFUNIT_12=$DATA/nhb$RES
  export XLFUNIT_13=$DATA/restrt${fhr}.${tmmark}
  export XLFUNIT_14=$PARMsref/eta32k_cntrl.parm
  cp /nwprod/fix/nam_micro_lookup.dat eta_micro_lookup.dat

  startmsg
  $EXECsref/eta32k_etapost << ioEOF >> $pgmout 2>errfile
  $fhr $nposts $incpst
ioEOF
  export err=$?;err_chk

  echo done > $FCSTDIR/etapost.done${fhr}.${tmmark}

  postmsg "$jlogfile" "ETA POST done for F${fhr}"

  #
  # Run the prdgen code for the PAIR here, since both post and prdgen
  # run quickly.
  #
  postmsg "$jlogfile" "Starting prdgen for ctl at F${fhr}"

  #------------------------------------------------------
  export COMSP=$DATA/

# input native grid data to be interperated into other grids
# such as 212, 104:
cat >input$fhr.prd <<EOF5
EGDAWP$fhr.tm00
EOF5

  export pgm=sref_prdgen
  . prep_step

  export XLFUNIT_10="$PARMsref/eta32k_master.ctl"
  export XLFUNIT_21="$FIXsref/sref_eta_wgt_3260_104"
  export XLFUNIT_22="$FIXsref/sref_eta_wgt_3260_212"
  export XLFUNIT_23="$FIXsref/sref_eta_wgt_3260_216"
  export XLFUNIT_24="$FIXsref/sref_eta_wgt_3260_221"
  export XLFUNIT_25="$FIXsref/sref_eta_wgt_3260_243"
  export XLFUNIT_41="$PARMeta/nam_kwbx.tbl"
  export XLFUNIT_42="$PARMeta/nam_time.tbl"
  export XLFUNIT_43="$PARMeta/nam_parm.tbl"
  export XLFUNIT_44="$PARMeta/nam_grid.tbl"
  export XLFUNIT_45="$PARMeta/nam_levl.tbl"

  startmsg
  $EXECsref/sref_prdgen < input$fhr.prd >> $pgmout 2>errfile
  export err=$?;err_chk

  if [ $SENDCOM = "YES" ]
  then 
   $utilexec/grbindex nam.AWIP32 nam.AWIP32i
   export err=$?;err_chk
   mv nam.AWIP32 $COMOUT/etamos.$cycle.pgrb221.f$fhr
   mv nam.AWIP32i $COMOUT/etamos.$cycle.pgrb221i.f$fhr
   

    if [ $fhr -lt 10 ]; then
      pad="0"
    else
      pad=""
    fi
    echo "$PDY$cyc$pad$fhr" > $COMOUT/${RUN}.t${cyc}z.control
#

#    if [ "$SENDDBN" = "YES" ]
#    then 
#       $DBNROOT/bin/dbn_alert MODEL SREF_ETA_221_PGB $job $COMOUT/etamos.$cycle.pgrb221.f$fhr
#    fi
  fi
  fhr=`expr $fhr + $FHINC`
  if test $fhr -lt 10
    then
      fhr="0$fhr"
  fi

done
echo EXITING $0
exit

