#!/bin/ksh
################################################################################
####  UNIX Script Documentation Block
#                      .                                             .
# Script name:         exdgex_post.sh
# Script description:  Run dgex post jobs
#
# Author:        Eric Rogers       Org: NP22         Date: 2006-04-21
#
# Abstract: This script runs the WRF-NMM NAM post jobs for the DGEX
#

set -x

cd $DATA

#
# Get needed variables from exdgex_prelim.sh.sms
#
. $COMOUT/${RUN}_${REGION}.t${cyc}z.envir.sh

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

MODELTYPE=NMM
OUTTYP=binarympiio
tmmark=tm00

# post_times= the forecast hour (from SMS job)

FHR=$post_times

FHRINC=78
FHREND=114

######

sh $utilscript/setup.sh

export tmmark

echo $CYCLEnam > nmcdate
echo $CYCLEdgex > startdate.dgex

cp $FCSTDATA/namelist.input .

YYYY=`cut -c 1-4 startdate.dgex`
MM=`cut -c 5-6 startdate.dgex`
DD=`cut -c 7-8 startdate.dgex`
HHSTART=`cut -c 9-10 startdate.dgex`

startd=$YYYY$MM$DD
cycledate=`cut -c 1-10 nmcdate`

endtime=`/nwprod/util/exec/ndate +114 ${startd}${HHSTART}`

STARTDATE=${YYYY}-${MM}-${DD}_${HHSTART}:00:00

YYYY=`echo $endtime | cut -c1-4`
DD=`echo $endtime | cut -c7-8`
ehr=`echo $endtime | cut -c9-10`

typeset -Z2 ehr

echo "ehr now: " $ehr
FINALDATE=${YYYY}-${MM}-${DD}_${ehr}:00:00

wyr=`echo $STARTDATE | cut -c1-4`
wmn=`echo $STARTDATE | cut -c6-7`
wdy=`echo $STARTDATE | cut -c9-10`
whr=`echo $STARTDATE | cut -c12-13`

eyr=`echo $FINALDATE | cut -c1-4`
emn=`echo $FINALDATE | cut -c6-7`
edy=`echo $FINALDATE | cut -c9-10`
ehr=`echo $FINALDATE | cut -c12-13`

echo $STARTDATE
echo $FINALDATE

edate=$eyr$emn$edy$ehr
wdate=$wyr$wmn$wdy$whr

echo $wdate $edate

VALDATE=`/nwprod/util/exec/ndate ${FHR} ${CYCLEdgex}`

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"

yyy=`expr $FHR % 6`
export FHR

if [ $yyy -eq 0 ] ; then
    cp $PARMdgex/dgex_cntrl.parm ./wrf_cntrl.parm.${FHR}
else
    cp $PARMdgex/dgex_cntrl.parm_3h ./wrf_cntrl.parm.${FHR}
fi

echo "working on " $timeform

while [ ! -s $FCSTDATA/fcstdone${FHR}.tm00 ]
do
echo "waiting for desired forecast hour $FHR"
sleep 55
done

echo "making itag, here timeform is: " $timeform

cat > itag <<EOF
$FCSTDATA/wrfout_d01_${timeform}
$OUTTYP
$timeform
$MODELTYPE
EOF

export FHR

#-----------------------------------------------------------------------
#   Run etapost.

cp $PARMdgex/nam_micro_lookup.dat eta_micro_lookup.dat

export pgm=dgex_wrfpost
. prep_step

export XLFUNIT_14=wrf_cntrl.parm.${FHR}
                                                                                                  
startmsg
$EXECdgex/dgex_wrfpost < itag >> $pgmout 2> errfile
export err=$?;err_chk

# run special version of overdate to change start time to NAM cycle start time and increment forecast hour
# by 78-h

IFINCR=78
let "FHRDGEX=FHR+IFINCR"

cat > itag << EOF
$CYCLEnam
$IFINCR
EOF

export pgm=overdate.dgexgrib
 . prep_step

#export XLFUNIT_11=EGDAWP${FHR}.tm00
#export XLFUNIT_51=EGDAWP${FHRDGEX}.tm00
ln -sf EGDAWP${FHR}.tm00 fort.11
ln -sf EGDAWP${FHRDGEX}.tm00 fort.51

startmsg
/nw${envir}/util/exec/overdate.dgexgrib < itag >> $pgmout 2> errfile
export err=$?;err_chk

echo "done" > $FCSTDATA/dgexpost.done${FHRDGEX}
rm EGDAWP${FHR}.tm00
mv EGDAWP${FHRDGEX}.tm00 $COMOUT/dgex_${REGION}.${cycle}.egdawp${FHRDGEX}.tm00

exit
