########################################################################
# Job Name: exekd_catakgb2.sh.sms
# Purpose:  Cats together the grib2 files for tmp, dew, max, and min for 
#           each probability level and the mean
# Remarks: This script is kicked off when all instances of 
#           exekd_akgridded.sh.sms have completed
#
#  HISTORY: June      2010    JLW  - new job for EKD MOS
#
#######################################################################
echo EKDLOG: `date` - Begin job exekd_catakgb2.sh.sms
set -x
#######################################################################
#                SETTING DATE AND CYCLE TIMES
#######################################################################
cp /com/date/$cycle $DATA/ncepdate

PDY=`cut -c 7-14 $DATA/ncepdate`
echo $PDY $cyc : Date and Cycle - echo PDY and cyc

export PDY

###################################################################
# CAT THE GRIB2 FILES TOGETHER
###################################################################
if [[ -f $COMOUT/naefs_akgekdgb2.$cycle ]]; then
   rm -f $COMOUT/naefs_akgekdgb2.$cycle
fi

for elem in tmp dew max min; do
   for thresh in 05 10 20 30 40 50 60 70 80 90 95; do
     if [[ -f $COMOUT/naefs_akgekdgb2${elem}${thresh}.$cycle ]]; then
         rm -f $COMOUT/naefs_akgekdgb2${elem}${thresh}.$cycle
     fi
     if [[ $elem == "tmp" || $elem == "dew" ]];then
         for step in 1 2 3 4 5 6;do
            cat $COMOUT/naefs_akgekdgb2${elem}${thresh}_${step}.$cycle >> $COMOUT/naefs_akgekdgb2${elem}${thresh}.$cycle
            cat $COMOUT/naefs_akgekdgb2${elem}${thresh}_${step}.$cycle >> $COMOUT/naefs_akgekdgb2.$cycle
         done
     else
         for step in 1 2;do
            cat $COMOUT/naefs_akgekdgb2${elem}${thresh}_${step}.$cycle >> $COMOUT/naefs_akgekdgb2${elem}${thresh}.$cycle
            cat $COMOUT/naefs_akgekdgb2${elem}${thresh}_${step}.$cycle >> $COMOUT/naefs_akgekdgb2.$cycle                   
         done
     fi
   done
   if [[ -f $COMOUT/naefs_akgekdgb2${elem}_mean.$cycle ]]; then
      rm -f $COMOUT/naefs_akgekdgb2${elem}_mean.$cycle
   fi
   for step in 1 2;do
      if [[ -f $COMOUT/naefs_akgekdgb2${elem}_mean_${step}.$cycle ]]; then
         cat $COMOUT/naefs_akgekdgb2${elem}_mean_${step}.$cycle >> $COMOUT/naefs_akgekdgb2.$cycle
         cat $COMOUT/naefs_akgekdgb2${elem}_mean_${step}.$cycle >> $COMOUT/naefs_akgekdgb2${elem}_mean.$cycle
      else
         echo "$COMOUT/naefs_akgekdgb2${elem}_mean_${step}.$cycle does not exist"
      fi
   done
done
###################################################################
# Make a grib2 index file for the large grib2 file
###################################################################

$EXECutil/grb2index $COMOUT/naefs_akgekdgb2.$cycle $COMOUT/naefs_akgekdgb2i.$cycle

#######################################################################
#   RUN AQM_SMOKE TO PUT SUPER HEADERS AND WMO HEADERS ON THE FILES.
#   EVENTUALLY AQM_SMOKE WILL BE RENAMED.
#######################################################################

#for tp in 001_003 004_007 008_450
for tp in 001 002 003 004 005_007 008_450
do
  if [[ $tp == "005_007" ]]; then
     tp2=005-007
  elif [[ $tp == "008_450" ]]; then
     tp2=008-450
  else
     tp2=$tp
  fi
  for elem in temp td maxt mint
  do
    for plevel in mn p05 p10 p20 p30 p40 p50 p60 p70 p80 p90 p95
    do

      #########################
      # CALL AQM_SMOKE TWICE
      #########################
      rm -f ds.ak.${elem}${plevel}.${tp2}.temporary.bin
      rm -f $COMOUT/ds.ak.${elem}${plevel}.${tp2}.bin
      if [[ -f $PARMekd/mdl_akekdmosgb2head.${elem}${plevel}.${tp}.${cycle} ]]; then
         echo 0 > filesize
         export XLFRTEOPTS="unit_vars=yes"
         export XLFUNIT_11="$COMOUT/naefs_akgekdgb2.$cycle"
         export XLFUNIT_12="filesize"
         export XLFUNIT_31="$COMOUT/naefs_akgekdgb2i.$cycle"
         export XLFUNIT_51="ds.ak.${elem}${plevel}.${tp2}.temporary.bin"
         $EXECutil/tocgrib2super <$PARMekd/mdl_akekdmosgb2head.${elem}${plevel}.${tp}.${cycle} 1>> $pgmout 2>> errfil


         echo `ls -l ds.ak.${elem}${plevel}.${tp2}.temporary.bin | awk '{print $5} '` > filesize
         export XLFRTEOPTS="unit_vars=yes"
         export XLFUNIT_11="ds.ak.${elem}${plevel}.${tp2}.temporary.bin"
         export XLFUNIT_12="filesize"
         export XLFUNIT_31=
         export XLFUNIT_51="$COMOUT/mdl_gekdgb2head.ak.${elem}${plevel}.${tp2}.bin"
         $EXECutil/tocgrib2super <$PARMekd/mdl_akekdmosgb2head.${elem}${plevel}.${tp}.${cycle} 1>> $pgmout 2>> errfile
 
         cp $COMOUT/mdl_gekdgb2head.ak.${elem}${plevel}.${tp2}.bin $pcom/mdl_gekdgb2head.ak.${elem}${plevel}.${tp2}.bin

#
# Send the file to the tgftp server
#
         if [[ $SENDDBN = "YES" ]]; then
#        PCOM ALERT IS COMMENTED OUT UNTIL OKAY GIVEN BY DATAFLOW/TOC
#            $DBNROOT/bin/dbn_alert MDLFCST EKDMOS $job $pcom/mdl_gekdgb2head.ak.${elem}${plevel}.${tp2}.bin

            $DBNROOT/bin/dbn_alert MDLFCST EKDMOS $job $COMOUT/mdl_gekdgb2head.ak.${elem}${plevel}.${tp2}.bin
         fi
         rm -f ds.ak.${elem}${plevel}.${tp2}.temporary.bin
       fi
    done
  done
done
