###################################################################
echo "----------------------------------------------------"
echo "exnawips - convert NCEP GRIB files into GEMPAK Grids"
echo "----------------------------------------------------"
echo "History: Mar 2000 - First implementation of this new script."
echo "S Lilly: May 2008 - add logic to make sure that all of the "
echo "                    data produced from the restricted ECMWF"
echo "                    data on the CCS is properly protected."
echo "         Apr 2012 - Modified version for estofs grids only"
#####################################################################

set -xa

cd $DATA

msg="Begin job for $job"
postmsg "$jlogfile" "$msg"

yymmdd=`echo $PDY | cut -c 3-8`
#
NAGRIB_TABLE=/nwprod/gempak/fix/nagrib.tbl
NAGRIB=nagrib2
GDDIAG=gddiag
#

#set default gempak variables
cpyfil=gds
garea=dset
gbtbls=
maxgrd=4999
kxky=
grdarea=
proj=
output=T
pdsext=no
gpack=none
glevel=0
gvcord=none
grdtyp=s
cpyfil=gds
anlyss="4/2;2;2;2"
proj_region=mer

for fhr in `seq 0 180`; do
   if [ $fhr -lt 10 ]; then
      fhr=f00${fhr}
   elif [ $fhr -lt 100 ]; then
      fhr=f0${fhr}
   else
      fhr=f${fhr}
   fi

   cp ${COMIN}/estofs.atl.${cycle}.${domain}.${fhr}.grib2 estofs.atl.${cycle}.${domain}.${fhr}.grib2

   GRIBIN=estofs.atl.${cycle}.${domain}.${fhr}.grib2

   if [ $domain == "conus" ]; then
      GEMGRD=estofsatl_${PDY}${cyc}${fhr}
   elif [ $domain == "puertori" ]; then
      GEMGRD=estofspr_${PDY}${cyc}${fhr}
   fi

   cp $GRIBIN grib${domain}.${fhr}

$GEMEXE/$NAGRIB << EOF
   GBFILE   = grib${domain}.${fhr}
   INDXFL   = 
   GDOUTF   = $GEMGRD
   PROJ     = $proj
   GRDAREA  = $grdarea
   KXKY     = $kxky
   MAXGRD   = $maxgrd
   CPYFIL   = $cpyfil
   GAREA    = $garea
   OUTPUT   = $output
   G2TBLS   = $gbtbls
   G2DIAG   = 
   PDSEXT   = $pdsext
  l
  r
EOF
  export err=$?;err_chk

  if [ $domain == "conus" ]; then
    for region in se ne gom; do
       if [ $region == "se" ]; then
          grdarea_region="21;-85;35;-73"
          kxky_region="462;538"
       elif [ $region == "ne" ]; then
          grdarea_region="33;-80;54;-60"
          kxky_region="769;730"
       elif [ $region == "gom" ]; then
          grdarea_region="19;-131;32;-80"
          kxky_region="1960;500"
       fi

       GRIBIN_region=${GEMGRD}
       GEMGRD_region=estofs${region}_${PDY}${cyc}${fhr}

        for elem in cwl swl htp; do
          if [ $elem == "cwl" ]; then
             gfunc=etcwl
             parm=
          elif [ $elem == "swl" ]; then
             gfunc=etsrg
             parm=surge_
          elif [ $elem == "htp" ]; then
             gfunc=elev
             parm=tides_
          fi

$GEMEXE/$GDDIAG <<EOFGDDIAG
    GDFILE   = ${GRIBIN_region}
    GDOUTF   = ${GEMGRD_region}
    GFUNC    = $gfunc
    GDATTIM  = ${yymmdd}/${cyc}00${fhr}
    GLEVEL   = $glevel
    GVCORD   = $gvcord
    GRDNAM   = $gfunc^${yymmdd}/${cyc}00${fhr}
    GRDTYP   = $grdtyp
    GPACK    = $gpack
    GRDHDR   =
    PROJ     = $proj_region
    GRDAREA  = $grdarea_region
    KXKY     = $kxky_region
    MAXGRD   = $maxgrd
    CPYFIL   =
    ANLYSS   = $anlyss
 l
 r

EOFGDDIAG
        done
      if [ $SENDCOM = "YES" ] ; then
          cp $GEMGRD_region $COMOUT/$GEMGRD_region
      fi

      if [ $SENDDBN = "YES" ] ; then
         $DBNROOT/bin/dbn_alert MODEL ${DBN_ALERT_TYPE} $job \
           $COMOUT/$GEMGRD_region
      else
         echo "##### DBN_ALERT_TYPE is: ${DBN_ALERT_TYPE} - $COMOUT/$GEMGRD_region #####"
      fi

    done

    if [ $SENDCOM = "YES" ] ; then
       cp $GEMGRD $COMOUT/$GEMGRD
    fi

  else
    if [ $SENDCOM = "YES" ] ; then
       cp $GEMGRD $COMOUT/$GEMGRD
    fi

    if [ $SENDDBN = "YES" ] ; then
      $DBNROOT/bin/dbn_alert MODEL ${DBN_ALERT_TYPE} $job \
        $COMOUT/$GEMGRD
    else
      echo "##### DBN_ALERT_TYPE is: ${DBN_ALERT_TYPE} - $COMOUT/$GEMGRD #####"
    fi

  fi
done
gpend
#####################################################################
# GOOD RUN
set +x
echo "**************JOB $RUN NAWIPS COMPLETED NORMALLY ON THE IBM"
echo "**************JOB $RUN NAWIPS COMPLETED NORMALLY ON THE IBM"
echo "**************JOB $RUN NAWIPS COMPLETED NORMALLY ON THE IBM"
set -x
#####################################################################

msg='Job completed normally.'
echo $msg
postmsg "$jlogfile" "$msg"

############################### END OF SCRIPT #######################
