#######################################################################
#  Job Name: exgfsmos_station_prdgen.sh.sms 
#  Purpose: To run all steps necessary to create short range GFS-based
#           MOS station-based products.  It creates all of our text,
#           BUFR, and GRIB1 products for the METAR, Pacific, coop, and
#           rfc sites.
#  Remarks: This script is kicked off when all 5 of the forecast jobs
#           have completed (METAR, GOE, COOPMESO, TSTM, PACIFIC). 
#
#  HISTORY: Jun 13, 2005      - new job for Gridded MOS
#           Feb  7, 2006      - changed text product alerts to go NTC
#           Mar  2, 2006      - added the 40km tstm forecasts so
#                               right now there's one run of U910
#                               to get 40km tstm forecasts @ sites
#                               and another to get 48km svr @ sites
#           Jul  7, 2006      - Removed old BUFR products
#           Mar  5, 2008      - Added steps to get 47km AK thunderstorms
#                               set to stations and merged into text
#                               and BUFR files
#           Dec 10, 2009      - Changed steps to put 80km svr @ sites
#                               as 48km tsvr is discontinued; changed
#                               tstm GRIB1 to use 40/80km instead of
#                               48km.
#
#######################################################################
#
echo MDLLOG: `date` - Begin job exgfsmos_station_prdgen.sh.sms

set -x

cd $DATA

echo $PDY $cyc: Date and Cycle - echo PDY and cyc

export DAT="$PDY$cyc"

#######################################################################
#  COPY THE MDL FORECAST FILES FROM COM
#    6/2005 - We need the METAR, COOPRFCMESO, TSVR and PACIFIC files
#    3/2008 - Also need the 47 km AK thunderstorms
#######################################################################
cp $COMIN/mdl_gfsmos.$cycle mdl_gfsmos.$cycle
cp $COMIN/mdl_gfscpmos.$cycle mdl_gfscpmos.$cycle
cp $COMIN/mdl_gfstsvr80.$cycle mdl_gfstsvr80.$cycle
cp $COMIN/mdl_gfstsvr40.$cycle mdl_gfstsvr40.$cycle
cp $COMIN/mdl_gfstsvrak47.$cycle mdl_gfstsvrak47.$cycle
if [ $cyc -eq '00' -o $cyc -eq '12' ]
then
cp $COMIN/mdl_pacgfsmos.$cycle mdl_pacgfsmos.$cycle
fi

#######################################################################
#
#    PROGRAM FCSTPOST - USED TO COMBINE TSVR & MOS FORECASTS
#      3/2006 - THIS STEP GETS THE 40KM TSTM TO THE MOS SITES
#               FOR 6-, 12-, AND 24-HR TSTM FORECASTS.
#
#######################################################################

echo MDLLOG: `date` - begin job FCSTPOST - COMBINE TSVR and MOS
export pgm=mdl_fcstpost
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_mos2grd_40.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfstsvr40comb.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_48="mdl_gfstsvr40.$cycle"
export XLFUNIT_49="mdl_gfsmos.$cycle"
startmsg
$EXECmdl/mdl_fcstpost < $PARMmdl/mdl_gfspostcomb.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  FCSTPOST ended

#######################################################################
#
#    PROGRAM FCSTPOST - USED TO COMBINE TSVR & MOS FORECASTS
#      3/2006 - THIS STEP GETS THE 48KM SVR TO THE MOS SITES
#               FOR 6- AND 12-HR (C/U)SVR FORECASTS.
#     12/2009 - CHANGED TO PUT THE 80KM SVR TO THE MOS SITES
#               FOR 6- AND 12-HR (C/U)SVR FORECASTS.
#
#######################################################################

echo MDLLOG: `date` - begin job FCSTPOST - COMBINE TSVR and MOS
export pgm=mdl_fcstpost
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_mos2grd_80.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfsposttsvraw.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_48="mdl_gfstsvr80.$cycle"
export XLFUNIT_49="mdl_gfsmos.$cycle"
startmsg
$EXECmdl/mdl_fcstpost < $PARMmdl/mdl_gfspostcomb.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  FCSTPOST ended

#######################################################################
#
#  PROGRAM RAINIT - INITIALIZES RANDOM ACCESS MOS FORECAST
#                   FILE WITH STATION CALL LETTERS,
#                   ELEVATION, LATITUDE, AND LONGITUDE
#
#  COPY THE RANDOM ACCESS TEMPLATE FILE FROM FIX
#######################################################################
cp $FIXmdl/mdl_rafile_template mdl_gfsmergemos.$cycle

export pgm=mdl_rainit
. prep_step
echo MDLLOG: `date` - begin job RAINIT - INITIALIZE MOS FORECAST FILE
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_metarpacsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_49="mdl_gfsmergemos.$cycle"
startmsg
$EXECmdl/mdl_rainit < $PARMmdl/mdl_u351.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  RAINIT ended

#######################################################################
#  Make a copy of the station random access file created above.  We 
#  will then run fcstpost to assign the 47 km Alaska thunderstorms to
#  the Alaska stations
#######################################################################

cp mdl_gfsmergemos.$cycle mdl_gfstsvrak47atsta.$cycle

#######################################################################
#    PROGRAM FCSTPOST - USED TO COMBINE TSVR & MOS FORECASTS
#      3/2008 - THIS STEP GETS THE AK 47KM TSTM TO THE AK MOS SITES
#               FOR 6-, 12-, AND 24-HR TSTM FORECASTS.
#
#######################################################################

echo MDLLOG: `date` - begin job FCSTPOST - COMBINE TSVR and MOS
export pgm=mdl_fcstpost
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_metarpacsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_mos2grd_ak47.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfstsvrak47comb.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_48="mdl_gfstsvrak47.$cycle"
export XLFUNIT_49="mdl_gfstsvrak47atsta.$cycle"
startmsg
$EXECmdl/mdl_fcstpost < $PARMmdl/mdl_gfspostcomb.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  FCSTPOST ended

#######################################################################
#  CODE RAMERGE
#   COMBINE THE PACIFIC AND US SITES INTO 1 RANDOM ACCES FILE.
#   ALSO ADD IN THE ALASKA THUNDERSTORM STATIONS.
#    (THE 06/18Z RUNS DON'T HAVE THE PACIFIC FILE IN THEM)
#######################################################################
echo MDLLOG: `date` - begin job RAMERGE

export pgm=mdl_ramerge
. prep_step
startmsg
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_metarpacsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_28="$FIXmdl/mdl_pacramerge.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_46="mdl_gfsmos.$cycle"
export XLFUNIT_44="mdl_gfstsvrak47atsta.$cycle"
export XLFUNIT_48="mdl_pacgfsmos.$cycle"
export XLFUNIT_49="mdl_gfsmergemos.$cycle"
$EXECmdl/mdl_ramerge < $PARMmdl/mdl_ramergera.cn.$cycle >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  RAMERGE ended

#######################################################################
# COPY FILES TO COM 
#######################################################################
if test $SENDCOM = 'YES'
then
  cp mdl_gfsmos.$cycle $COMOUT
  cp mdl_gfsmergemos.$cycle $COMOUT
  cp mdl_gfstsvrak47atsta.$cycle $COMOUT
fi

#######################################################################
#  FIRST CREATE ALL OF OUR TEXT PRODUCTS, COPY THEM TO COM AND SEND
#  THEM OUT
#######################################################################

#######################################################################
# GFSMAVTX
# SHORT-RANGE GFS MOS MESSAGE CODE
# WITH HEADERS FOPA20, FOUS21-26, FOAK37-39 KWNO MAVXXX
#######################################################################

export pgm=mdl_gfsmavtx
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_48="mdl_gfsmergemos.$cycle"
export XLFUNIT_60="mdl_gfsmav.$cycle"
export XLFUNIT_65="mdl_gfsmav.tran"
startmsg
$EXECmdl/mdl_gfsmavtx < $PARMmdl/mdl_gfsmavtx.dat.$cycle >> $pgmout 2>errfile
export err=$?; err_chk

#######################################################################
# SECOND RUN OF GFSMAVTX
# CREATE SHORT-RANGE AIR FORCE MOS MESSAGE
# WITH HEADERS FOPA30, FOUS30, FOAK30, FOCA30 KWNO MAVFXX
#######################################################################

export pgm=mdl_gfsmavtx
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_48="mdl_gfsmergemos.$cycle"
export XLFUNIT_60="mdl_gfsafmav.$cycle"
export XLFUNIT_65="mdl_gfsafmav.tran"
startmsg
$EXECmdl/mdl_gfsmavtx < $PARMmdl/mdl_gfsafmavtx.dat >> $pgmout 2>errfile
export err=$?; err_chk

#######################################################################
# THIRD RUN OF GFSMAVTX
# CREATE SHORT-RANGE PACIFIC MOS MESSAGE -- ONLY AT 00 & 12
# WITH HEADER FOPA21 KWNO MAVPA1
#######################################################################

if [ $cyc -eq '00' -o $cyc -eq '12' ]
then

export pgm=mdl_gfsmavtx
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_48="mdl_gfsmergemos.$cycle"
export XLFUNIT_60="mdl_gfspacmav.$cycle"
export XLFUNIT_65="mdl_gfspacmav.tran"
startmsg
$EXECmdl/mdl_gfsmavtx < $PARMmdl/mdl_gfspacmavtx.dat >> $pgmout 2>errfile
export err=$?; err_chk

fi

#######################################################################
# CREATE MARINE MOS GUIDANCE (MMG) MESSAGES
# WITH HEADERS FQPA20, FQUS21-26, FQAK37 KWNO MMGXXX
#######################################################################

export pgm=mdl_gfsmmgtx
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_48="mdl_gfsmos.$cycle"
export XLFUNIT_60="mdl_gfsmmg.$cycle"
export XLFUNIT_65="mdl_gfsmmg.tran"
startmsg
$EXECmdl/mdl_gfsmmgtx < $PARMmdl/mdl_gfsmmgtx.dat >> $pgmout 2>errfile
export err=$?; err_chk

#######################################################################
# GENERATE CANADIAN MAX/MIN BULLETIN AT 00 AND 12Z
# WITH HEADER FOCN20 KWNO 
#######################################################################

if [ $cyc -eq '00' -o $cyc -eq '12' ]
then

export pgm=mdl_focn20tx
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_48="mdl_gfsmos.$cycle"
export XLFUNIT_60="mdl_focn20.$cycle"
export XLFUNIT_65="mdl_focn20.tran"
startmsg
$EXECmdl/mdl_focn20tx < $PARMmdl/mdl_focn20tx.dat >> $pgmout 2>errfile
export err=$?; err_chk

fi

#######################################################################
# GFSMCGTX
# SHORT-RANGE GFS MOS COOP MESSAGE CODE
# HEADER: FOUS10 KWNO MCGUSA
#######################################################################

export pgm=mdl_gfsmcgtx
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_27="$FIXmdl/mdl_cooprfcmnsta.tbl"
export XLFUNIT_48="mdl_gfscpmos.$cycle"
export XLFUNIT_60="mdl_gfsmcg.$cycle"
export XLFUNIT_65="mdl_gfsmcg.tran"
startmsg
$EXECmdl/mdl_gfsmcgtx < $PARMmdl/mdl_gfsmcgtx.dat >> $pgmout 2>errfile
export err=$?; err_chk

#######################################################################
# RFCFTPTX - CREATES RFC TEXT AND TRANS FILES
# HEADER: FOUS12 KWNO FTPXXX
#  FOR THE 12Z CYCLE ONLY, RUN RFC TEXT MESSAGE.  AT 00Z IT RUNS IN
#  EXGFSMOS_STATION_EXTPRDGEN.SH.SMS
#######################################################################

if test $cyc -eq '12'
then

#  copy the 00Z gfsmos random access file and   
#  gfscpmos random access file here from /com

cp $COMIN/mdl_gfsmos.t00z mdl_gfsmos.t00z
cp $COMIN/mdl_gfscpmos.t00z mdl_gfscpmos.t00z

export pgm=mdl_rfcftptx
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_27="$FIXmdl/mdl_cooprfcmnsta.tbl"
export XLFUNIT_35="mdl_gfsmos.t12z"
export XLFUNIT_36="mdl_gfsmos.t00z"
export XLFUNIT_37="mdl_gfscpmos.t12z"
export XLFUNIT_38="mdl_gfscpmos.t00z"
export XLFUNIT_60="mdl_rfcftp.$cycle"
export XLFUNIT_65="mdl_rfcftp.tran"
startmsg
$EXECmdl/mdl_rfcftptx < $PARMmdl/mdl_rfcftptx.dat >> $pgmout 2>errfile
export err=$?; err_chk

fi

#######################################################################
# COPY FILES TO COM & SEND OUT MESSAGE
#   NOTE:  FOCN20 and PACMAV ONLY GO OUT AT 00 AND 12Z
#######################################################################

if test $SENDCOM = 'YES'
then
  cp mdl_gfsmav.$cycle $COMOUT
  cp mdl_gfsmav.tran $pcom/gfsmav.tran.$job
  cp mdl_gfsafmav.$cycle $COMOUT
  cp mdl_gfsafmav.tran $pcom/gfsafmav.tran.$job
  cp mdl_gfsmmg.$cycle $COMOUT
  cp mdl_gfsmmg.tran $pcom/gfsmmg.tran.$job
  cp mdl_gfsmcg.$cycle $COMOUT
  cp mdl_gfsmcg.tran $pcom/gfsmcg.tran.$job
    if [ $cyc -eq '00' -o $cyc -eq '12' ]
     then
      cp mdl_focn20.$cycle $COMOUT
      cp mdl_focn20.tran $pcom/focn20.tran.$job
      cp mdl_gfspacmav.$cycle $COMOUT
      cp mdl_gfspacmav.tran $pcom/gfspacmav.tran.$job
    fi
    if [ $cyc -eq 12 ] ; then
     cp mdl_rfcftp.$cycle $COMOUT
     cp mdl_rfcftp.tran $pcom/rfcftp.tran.$job
    fi
fi

if test $SENDDBN = 'YES'
then
   $DBNROOT/bin/dbn_alert TEXT gfs $job $pcom/gfsmav.tran.$job
   $DBNROOT/bin/dbn_alert MDLFCST GFSMOSTXT $job $COMOUT/mdl_gfsmav.$cycle
   $DBNROOT/bin/dbn_alert TEXT gfs $job $pcom/gfsafmav.tran.$job
   $DBNROOT/bin/dbn_alert MDLFCST GFSMOSAFTXT $job $COMOUT/mdl_gfsafmav.$cycle
   $DBNROOT/bin/dbn_alert TEXT gfs $job $pcom/gfsmmg.tran.$job
   $DBNROOT/bin/dbn_alert MDLFCST MMGMOSTXT $job $COMOUT/mdl_gfsmmg.$cycle
   $DBNROOT/bin/dbn_alert TEXT gfs $job $pcom/gfsmcg.tran.$job
   $DBNROOT/bin/dbn_alert MDLFCST GFSCPMOS $job $COMOUT/mdl_gfsmcg.$cycle
    if [ $cyc -eq '00' -o $cyc -eq '12' ]
     then
       $DBNROOT/bin/dbn_alert TEXT gfs $job $pcom/gfspacmav.tran.$job
       $DBNROOT/bin/dbn_alert TEXT gfs $job $pcom/focn20.tran.$job
    fi
    if [ $cyc -eq 12 ] ; then
      $DBNROOT/bin/dbn_alert TEXT gfs $job $pcom/rfcftp.tran.$job
    fi
fi

#######################################################################
#  NOW CREATE ALL OF OUR BUFR PRODUCTS, COPY THEM TO COM AND SEND
#  THEM OUT
#######################################################################

#########################################################
#   Generate GFS MOS BUFR message 
#########################################################
export pgm="mdl_bufrmos2"
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_25="$FIXmdl/mdl_mavbufr.dat"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_40="mdl_gfsmergemos.$cycle"
export XLFUNIT_60="mdl_mavbufr.xtrn"
startmsg
$EXECmdl/mdl_bufrmos2 < $PARMmdl/mdl_mavbufr.cn.$cycle >> $pgmout 2>errfile
export err=$?;err_chk

if test $SENDCOM = 'YES'
then
   cp mdl_mavbufr.xtrn $pcom/mavbufr.xtrn.$job
   cp mdl_mavbufr.xtrn $COMOUT/mdl_mavbufr.xtrn.$cycle
fi

if test $SENDDBN = 'YES'
then
   $DBNROOT/bin/dbn_alert GRIB_LOW gfs $job $pcom/mavbufr.xtrn.$job
fi

#########################################################
#   Generate GFS MOS BUFR message - For PACIFIC SITES
#    RUN AT 00 AND 12 ONLY
#########################################################

if [ $cyc -eq '00' -o $cyc -eq '12' ]
then

export pgm="mdl_bufrmos2"
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_25="$FIXmdl/mdl_mavpacbufr.dat"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_40="mdl_pacgfsmos.$cycle"
export XLFUNIT_60="mdl_mavpacbufr.xtrn"
startmsg
$EXECmdl/mdl_bufrmos2 < $PARMmdl/mdl_mavpacbufr.cn.$cycle >> $pgmout 2>errfile
export err=$?;err_chk

  if test $SENDCOM = 'YES'
  then
     cp mdl_mavpacbufr.xtrn $pcom/mavpacbufr.xtrn.$job
     cp mdl_mavpacbufr.xtrn $COMOUT/mdl_mavpacbufr.xtrn.$cycle
  fi

  if test $SENDDBN = 'YES'
  then
     $DBNROOT/bin/dbn_alert GRIB_LOW gfs $job $pcom/mavpacbufr.xtrn.$job
  fi
fi

#######################################################################
#  NOW CREATE ALL OF OUR GRIB PRODUCTS, COPY THEM TO COM. 
#  WE SEND THE METAR AND TSTM ONLY TO TGFTP.
#######################################################################

#########################################################
#   Generate GFS METAR MOS GRIB message - CONUS
#########################################################
export pgm="mdl_ra2grib"
. prep_step
  export XLFUNIT_10="ncepdate"
  export XLFUNIT_25="$FIXmdl/mdl_gfsgribin.$cycle"
  export XLFUNIT_26="$FIXmdl/mdl_station.lst"
  export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
  export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
  export XLFUNIT_35="$FIXmdl/mdl_gridlst"
  export XLFUNIT_36="$FIXmdl/mdl_landsea.cns"
  export XLFUNIT_45="$FIXmdl/mdl_conststa"
  export XLFUNIT_48="mdl_gfsmos.$cycle"
  export XLFUNIT_66="mdl_mavgribcns.$cycle"
startmsg
$EXECmdl/mdl_ra2grib < $PARMmdl/mdl_gfsgribcns.cn.$cycle >> $pgmout 2>errfile
export err=$?;err_chk

#########################################################
#   Generate GFS METAR MOS GRIB message - AK
#########################################################
export pgm="mdl_ra2grib"
. prep_step
  export XLFUNIT_10="ncepdate"
  export XLFUNIT_25="$FIXmdl/mdl_gfsgribin.$cycle"
  export XLFUNIT_26="$FIXmdl/mdl_aksta.lst"
  export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
  export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
  export XLFUNIT_35="$FIXmdl/mdl_gridlst"
  export XLFUNIT_36="$FIXmdl/mdl_landsea.ak"
  export XLFUNIT_45="$FIXmdl/mdl_conststa"
  export XLFUNIT_48="mdl_gfsmos.$cycle"
  export XLFUNIT_66="mdl_mavgribak.$cycle"
startmsg
$EXECmdl/mdl_ra2grib < $PARMmdl/mdl_gfsgribak.cn.$cycle >> $pgmout 2>errfile
export err=$?;err_chk

#########################################################
#   Generate GFS TSTM MOS GRIB message 
#    3/2006 - as of now this is still reading the 48km
#             forecasts
#   12/2009 - do tstm @40km, svr @80km
#########################################################
export pgm="mdl_ra2grib"
  export XLFUNIT_10="ncepdate"
  export XLFUNIT_25="$FIXmdl/mdl_gfsgribintsvr40.$cycle"
  export XLFUNIT_26="$FIXmdl/mdl_tsvr40sta.lst"
  export XLFUNIT_27="$FIXmdl/mdl_tsvr40sta.tbl"
  export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
  export XLFUNIT_35="$FIXmdl/mdl_gridlst"
  export XLFUNIT_36="$FIXmdl/mdl_landsea.cns"
  export XLFUNIT_45="$FIXmdl/mdl_constgrd40"
  export XLFUNIT_48="mdl_gfstsvr40.$cycle"
  export XLFUNIT_66="tstm40grib.$cycle"
$EXECmdl/mdl_ra2grib < $PARMmdl/mdl_gfsgribcns.cn.$cycle >> $pgmout 2>errfile
export err=$?;

export pgm="mdl_ra2grib"
  export XLFUNIT_10="ncepdate"
  export XLFUNIT_25="$FIXmdl/mdl_gfsgribintsvr80.$cycle"
  export XLFUNIT_26="$FIXmdl/mdl_tsvr80sta.lst"
  export XLFUNIT_27="$FIXmdl/mdl_tsvr80sta.tbl"
  export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
  export XLFUNIT_35="$FIXmdl/mdl_gridlst"
  export XLFUNIT_36="$FIXmdl/mdl_landsea.cns"
  export XLFUNIT_45="$FIXmdl/mdl_constgrd80"
  export XLFUNIT_48="mdl_gfstsvr80.$cycle"
  export XLFUNIT_66="svr80grib.$cycle"
$EXECmdl/mdl_ra2grib < $PARMmdl/mdl_gfsgribcns.cn.$cycle >> $pgmout 2>errfile
export err=$?;

################################################################################
#  Cat the two thunderstorm GRIB files into one final file
################################################################################
  cat tstm40grib.$cycle svr80grib.$cycle > mdl_mavgribtsvr.$cycle

#########################################################
#   Generate GFS COOP MOS GRIB message - CONUS
#########################################################
export pgm="mdl_ra2grib"
. prep_step
  export XLFUNIT_10="ncepdate"
  export XLFUNIT_25="$FIXmdl/mdl_gfscpgribin.$cycle"
  export XLFUNIT_26="$FIXmdl/mdl_cooprfcmnsta.lst"
  export XLFUNIT_27="$FIXmdl/mdl_cooprfcmnsta.tbl"
  export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
  export XLFUNIT_35="$FIXmdl/mdl_gridlst"
  export XLFUNIT_36="$FIXmdl/mdl_landsea.cns"
  export XLFUNIT_45="$FIXmdl/mdl_constcooprfcmn"
  export XLFUNIT_48="mdl_gfscpmos.$cycle"
  export XLFUNIT_66="mdl_mcggribcns.$cycle"
startmsg
$EXECmdl/mdl_ra2grib < $PARMmdl/mdl_gfsgribcns.cn.$cycle >> $pgmout 2>errfile
export err=$?;err_chk


#######################################################################
# COPY FILES TO COM & SEND TO TGFTP
#######################################################################

if test $SENDCOM = 'YES'
then
   cp mdl_mavgribcns.$cycle $COMOUT
   cp mdl_mavgribak.$cycle $COMOUT
   cp mdl_mavgribtsvr.$cycle $COMOUT
   cp mdl_mcggribcns.$cycle $COMOUT
fi

if test $SENDDBN = 'YES'
then
   $DBNROOT/bin/dbn_alert MDLFCST GFSMOSGRIB $job $COMOUT/mdl_mavgribcns.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GFSMOSGRIB $job $COMOUT/mdl_mavgribak.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GFSMOSGRIB $job $COMOUT/mdl_mavgribtsvr.$cycle
fi


#######################################################################
#  ARCHIVING OF FORECASTS IS DONE IN GFSMOS_STATION_EXTPRDGEN
#######################################################################

echo MDLLOG: `date` - Job gfsmos_station_prdgen has ended.
#######################################################################


