#!/bin/ksh
################################################################################
####  UNIX Script Documentation Block
#                      .                                             .
# Script name:         exnam_post.sh
# Script description:  Run nam post jobs
#
# Author:        Eric Rogers       Org: NP22         Date: 1999-06-23
#
# Abstract: This script runs the Nam post jobs for the 48-h Nam forecast
#
# Script history log:
# 1999-06-23  Eric Rogers
# 1999-08-17  Brent Gordon  -- Modified for production.
# 2007-10-03  Bradley Mabe  -- Implemented latest changes
#

set -xa
cd $DATA 

msg="$job HAS BBGUN"
postmsg $jlogfile "$msg"

export SDATE=$CYCLE
export MODELTYPE=NMM
export OUTTYP=binarynemsio

export MP_I_BINDPROC=NO
export MP_BINDPROC=NO

for fhr in $post_times
do
  icnt=1
  while [ $icnt -lt 1000 ]
  do
    if [ -s $FCSTDIR/fcstdone.${numdomain}.0${fhr}h_00m_00.00s ]
    then
      break
    else
      icnt=$((icnt + 1))
      sleep 5
    fi
    if [ $icnt -ge 360 ]
    then
      msg="ABORTING after 30 minutes of waiting for Nam FCST F${fhr} to end."
      err_exit $msg
    fi
  done

  cp $FIXnam/nam_micro_lookup.dat eta_micro_lookup.dat

  nposts=01
  incpst=01

  y=`expr $fhr % 3`

    if [ $fhr -eq 00 ]
    then
      if [ $domain = firewx ] 
      then
        cp $PARMnam/nam_cntrl_nest.parm_00h_firewx nam_${domain}nest.cntrl.parm.${fhr}
      else
        cp $PARMnam/nam_cntrl_nest.parm_00h nam_${domain}nest.cntrl.parm.${fhr}
      fi
    fi

    if [ $fhr -gt 00 ] 
    then
#
      if [ $fhr -le 36 ]
      then
        if [ $domain = firewx ]
        then
          cp $PARMnam/nam_cntrl_nest.parm_firewx nam_${domain}nest.cntrl.parm.${fhr}
        else
          cp $PARMnam/nam_cntrl_nest.parm nam_${domain}nest.cntrl.parm.${fhr}
        fi
      fi
#
      if [ $fhr -gt 36 -a $fhr -le 49 ] 
      then
        if [ $y -eq 0 ] 
        then
           cp $PARMnam/nam_cntrl_nest.parm nam_${domain}nest.cntrl.parm.${fhr}
        else
           cp $PARMnam/nam_cntrl_nest_cmaqonly.parm nam_${domain}nest.cntrl.parm.${fhr}
        fi
      fi
#
      if [ $fhr -gt 49 ]
      then
        if [ $y -eq 0 ]
        then
          cp $PARMnam/nam_cntrl_nest.parm nam_${domain}nest.cntrl.parm.${fhr}
        else
          cp $PARMnam/nam_cntrl_nest_bsmart_hourly.parm nam_${domain}nest.cntrl.parm.${fhr}
        fi
      fi
    fi

  VALDATE=`/nwprod/util/exec/ndate ${fhr} ${SDATE}`

  valyr=`echo $VALDATE | cut -c1-4`
  valmn=`echo $VALDATE | cut -c5-6`
  valdy=`echo $VALDATE | cut -c7-8`
  valhr=`echo $VALDATE | cut -c9-10`

  timeform=${valyr}"-"${valmn}"-"${valdy}"_"${valhr}":00:00"

cat > itag <<EOF
$FCSTDIR/nmm_b_history.${numdomain}_nemsio.0${fhr}h_00m_00.00s
$OUTTYP
$timeform
$MODELTYPE
EOF

  export pgm=nam_ncep_post
  . prep_step
  export XLFUNIT_14=nam_${domain}nest.cntrl.parm.${fhr}

  startmsg
  $EXECnam/nam_ncep_post < itag >> $pgmout 2>errfile
  export err=$?;err_chk

  if [ $fhr -le 49 ]
  then
    mv BGRD3D${fhr}.tm00 $COMOUT/nam.${cycle}.${domain}nest.bgrd3d${fhr}.tm00
  fi

  if [ $fhr -gt 49 -a $y -eq 0 ]
  then
    mv BGRD3D${fhr}.tm00 $COMOUT/nam.${cycle}.${domain}nest.bgrd3d${fhr}.tm00
  fi

  if [ $domain != firewx ]
  then
    mv BSMART${fhr}.tm00 $COMOUT/nam.${cycle}.${domain}nest.bsmart${fhr}.tm00
  fi

  if [ $fhr -le 36 ] 
  then
    mv BGDAWP${fhr}.tm00 $COMOUT/nam.${cycle}.${domain}nest.bgdawp${fhr}.tm00
  fi

  if [ $fhr -gt 36 -a $y -eq 0 ]
  then
    mv BGDAWP${fhr}.tm00 $COMOUT/nam.${cycle}.${domain}nest.bgdawp${fhr}.tm00
  fi

  echo done > $FCSTDIR/nampost.done${fhr}_${numdomain}.${tmmark}

  postmsg $jlogfile "NAM ${domain}nest POST done for F${fhr}"

  if [ $domain = firewx ] 
  then
     cp latlons_corners.txt $COMOUT/nam.t${cyc}z.latlons_corners_firewxnest.txt.f${fhr}
  fi

done

echo EXITING $0
exit
#
