#!/bin/sh
#######################################################################
#  Job Name: exnammos.sh.sms
#  Purpose: To run all steps necessary to create new NAM MOS FCSTS
#  Remarks: 
#  HISTORY: Jan 08, 2002  JCM - created script for NAM MOS
#           Mar 11, 2002  RLC - added warm/cool temps, and warm wind, 
#                               cig/cld
#           Jun 12, 2002  RLC - added dbnet alerts to get files to TGFTP   
#           Aug     2002  JCM - changed mdl_grids to mdl_gridlst for new
#                               version of grb2mdlp
#           Aug 20, 2002 RC/ME- added tsvr processing to script, including
#                               GRIB processing of tsvr
#           Aug 20, 2002  CM  - added cool season cigcld
#           Mar 31, 2003 KKH  - added spring season tsvr
#           Dec 04, 2003 RLC  - changed predtofcst to nampredtofcst for
#                               GFS cloud implementation
#           Jan 07, 2004 RLC  - implemented 32-km Eta for non-tstm portion.
#                               Changed back to using predtofcst.  Added
#                               Eta-32km archive step in.  Will keep 
#                               running Eta-90km for the tstm.
#           Jan 30, 2004 RLC  - For timing reasons, we are going to run
#                               this script after the 60-h model fields
#                               are done.  Hopefully in April we'll
#                               advance to 84-h.  Also changed script
#                               to use pgrb221 GRIB files directly in
#                               grb2mdlp because it saved time.
#           Apr 05, 2004 RLC  - Added in the 66 - 84 hour forecasts from
#                               the 1/2004 implementation.
#           Jan 12, 2005 RLC  - Set the script to run all 4 cycles, but
#                               at 6/18Z it only archives the model data.
#           Jan 13, 2005 RAT  - Added the marine message and new Eta BUFR.
#           Jul 25, 2005 RLC  - Went back to having a separate Eta
#                               gridded constant file because of id issues.
#           Aug 05, 2005 JSG  - Added visibility, obvis, and popc. 
#           Fall    2005 RLC  - Changed text alerts to go NTC
#           June 13,2006 RLC  - With the WRF replacing the Eta, the Eta MOS
#                               will continue to run on a 32km version of
#                               the Eta that will be run for the MOS for
#                               6 months.  We're changing the tstms to
#                               run off the 32km instead of the 90km grbgrd 
#                               files.  We're also dropping the coop job
#                               that just did coop snowfall.
#
#######################################################################
#
echo MDLLOG: `date` - Begin job exnammos.sh.sms
set -x

cd $DATA

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

export DAT="$PDY$cyc"

#######################################################################
# RUN THE 32KM ARCHIVE AT ALL 4 CYCLES - 00/06/12/18
# LOOP THROUGH PROJECTIONS 00-84; COPY FILES AND INDICES TO $DATA 
#######################################################################
for tau in 00 03 06 09 12 15 18 21 24 27 30 33 36\
           39 42 45 48 51 54 57 60 63 66 69 72 75\
           78 81 84
do
  cp $COMIN/etamos.$cycle.pgrb221.f${tau} etamos.$cycle.pgrb221.f${tau}
  cp $COMIN/etamos.$cycle.pgrb221i.f${tau} etamos.$cycle.pgrb221i.f${tau}
done

#######################################################################
# GRB2MDLP
# CONVERT GRIB TO MDL_PACK  -- NAM 32 KM ARCHIVE
#######################################################################

export pgm=mdl_grb2mdlp
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_30="$FIXmdl/mdl_gridlst"
export XLFUNIT_11="etamos.$cycle.pgrb221.f00"
export XLFUNIT_12="etamos.$cycle.pgrb221i.f00"
export XLFUNIT_13="etamos.$cycle.pgrb221.f03"
export XLFUNIT_14="etamos.$cycle.pgrb221i.f03"
export XLFUNIT_15="etamos.$cycle.pgrb221.f06"
export XLFUNIT_16="etamos.$cycle.pgrb221i.f06"
export XLFUNIT_17="etamos.$cycle.pgrb221.f09"
export XLFUNIT_18="etamos.$cycle.pgrb221i.f09"
export XLFUNIT_19="etamos.$cycle.pgrb221.f12"
export XLFUNIT_20="etamos.$cycle.pgrb221i.f12"
export XLFUNIT_21="etamos.$cycle.pgrb221.f15"
export XLFUNIT_22="etamos.$cycle.pgrb221i.f15"
export XLFUNIT_23="etamos.$cycle.pgrb221.f18"
export XLFUNIT_24="etamos.$cycle.pgrb221i.f18"
export XLFUNIT_25="etamos.$cycle.pgrb221.f21"
export XLFUNIT_26="etamos.$cycle.pgrb221i.f21"
export XLFUNIT_27="etamos.$cycle.pgrb221.f24"
export XLFUNIT_28="etamos.$cycle.pgrb221i.f24"
export XLFUNIT_29="etamos.$cycle.pgrb221.f27"
export XLFUNIT_31="etamos.$cycle.pgrb221i.f27"
export XLFUNIT_32="etamos.$cycle.pgrb221.f30"
export XLFUNIT_33="etamos.$cycle.pgrb221i.f30"
export XLFUNIT_34="etamos.$cycle.pgrb221.f33"
export XLFUNIT_35="etamos.$cycle.pgrb221i.f33"
export XLFUNIT_36="etamos.$cycle.pgrb221.f36"
export XLFUNIT_37="etamos.$cycle.pgrb221i.f36"
export XLFUNIT_38="etamos.$cycle.pgrb221.f39"
export XLFUNIT_39="etamos.$cycle.pgrb221i.f39"
export XLFUNIT_40="etamos.$cycle.pgrb221.f42"
export XLFUNIT_41="etamos.$cycle.pgrb221i.f42"
export XLFUNIT_42="etamos.$cycle.pgrb221.f45"
export XLFUNIT_43="etamos.$cycle.pgrb221i.f45"
export XLFUNIT_44="etamos.$cycle.pgrb221.f48"
export XLFUNIT_45="etamos.$cycle.pgrb221i.f48"
export XLFUNIT_46="etamos.$cycle.pgrb221.f51"
export XLFUNIT_47="etamos.$cycle.pgrb221i.f51"
export XLFUNIT_48="etamos.$cycle.pgrb221.f54"
export XLFUNIT_49="etamos.$cycle.pgrb221i.f54"
export XLFUNIT_80="etamos.$cycle.pgrb221.f57"
export XLFUNIT_81="etamos.$cycle.pgrb221i.f57"
export XLFUNIT_82="etamos.$cycle.pgrb221.f60"
export XLFUNIT_83="etamos.$cycle.pgrb221i.f60"
export XLFUNIT_84="etamos.$cycle.pgrb221.f63"
export XLFUNIT_85="etamos.$cycle.pgrb221i.f63"
export XLFUNIT_86="etamos.$cycle.pgrb221.f66"
export XLFUNIT_87="etamos.$cycle.pgrb221i.f66"
export XLFUNIT_88="etamos.$cycle.pgrb221.f69"
export XLFUNIT_89="etamos.$cycle.pgrb221i.f69"
export XLFUNIT_90="etamos.$cycle.pgrb221.f72"
export XLFUNIT_91="etamos.$cycle.pgrb221i.f72"
export XLFUNIT_92="etamos.$cycle.pgrb221.f75"
export XLFUNIT_93="etamos.$cycle.pgrb221i.f75"
export XLFUNIT_66="etamos.$cycle.pgrb221.f78"
export XLFUNIT_67="etamos.$cycle.pgrb221i.f78"
export XLFUNIT_68="etamos.$cycle.pgrb221.f81"
export XLFUNIT_69="etamos.$cycle.pgrb221i.f81"
export XLFUNIT_70="etamos.$cycle.pgrb221.f84"
export XLFUNIT_71="etamos.$cycle.pgrb221i.f84"
export XLFUNIT_51="pknam32raw.$DAT"
export XLFUNIT_52="grb2mdlp32.lst"
echo MDLLOG: `date` - Program grb2mdlp has begun.
$EXECmdl/mdl_grb2mdlp < $PARMmdl/mdl_nam32grbcnv.cn.$cycle >> $pgmout 2>errfile 
err=$?; export err

#######################################################################
# COPY ETA32 ARCHIVE FILE TO COM
#######################################################################

if test $SENDCOM = 'YES'
then
  cp pknam32raw.$DAT $COMOUT/mdl_nam32pkd.$cycle
fi


#######################################################################
#  FROM THIS POINT ON IN THE SCRIPT, ONLY RUN AT 0000/1200 Z CYCLES
#######################################################################

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

#######################################################################
# COPY MODEL FILES TO TEMP SPACE -- NAM-90 ARCHIVE  00/12Z ONLY
#   6/2006 - removed this archive step.  Used to read nam.$cycle.grbgrd
#            00 through 48 hour files
#######################################################################

#######################################################################
#    RUN OBSPREP 
#    EVEN IF OBS ARE MISSING, WE NEED TO PRODUCE PKOBS FILE
#######################################################################

if test $cyc -eq '00'
then
 obhr1=01
 cp $DCOM/sfctbl.$obhr1 sfctbl.$obhr1
elif test $cyc -eq '12'
then
 obhr1=13
 cp $DCOM/sfctbl.$obhr1 sfctbl.$obhr1
fi

if [ ! -f sfctbl.$obhr1 ]
  then touch sfctbl.$obhr1
fi

export pgm=mdl_obsprep
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_20="sfctbl.$obhr1"
export XLFUNIT_26="$FIXmdl/mdl_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_70="pkobs.$DAT"
startmsg
$EXECmdl/mdl_obsprep < $PARMmdl/mdl_namobsprep.cn >> $pgmout 2>errfile
export err=$?

#!!!NOTE: AN ERROR HERE IS OK; OBS ARE NOT ESSENTIAL TO MOS FORECASTS!!!

#
#######################################################################
#
# PROGRAM RACREATE - MOS-2000 PROGRAM WHICH 
#                   CREATES RANDOM ACCESS FILES; IN THIS CASE, THE
#                   CODE IS USED TO CREATE THE OPERATIONAL MOS
#                   FORECAST FILE.
#######################################################################
#
echo MDLLOG: `date` - begin job RACREATE - CREATE MOS FORECAST FILE
#
export pgm=mdl_racreate
. prep_step
export XLFUNIT_50="mdl_nammos.$cycle"
startmsg
$EXECmdl/mdl_racreate < $PARMmdl/mdl_u350.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  RACREATE ended 

cp mdl_nammos.$cycle mdl_namtsvr.$cycle

#
#######################################################################
#
#  PROGRAM RAINIT - INITIALIZES RANDOM ACCESS MOS FORECAST
#                   FILE WITH STATION CALL LETTERS,
#                   ELEVATION, LATITUDE, AND LONGITUDE
#
#######################################################################
#
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_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_49="mdl_nammos.$cycle"
startmsg
$EXECmdl/mdl_rainit < $PARMmdl/mdl_u351.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  RAINIT ended 

#
#######################################################################
#
#    FIRST EXECUTION OF PROGRAM MOSPRED 
#    MOSPRED - USED TO INTERPOLATE TO STATIONS FROM MDL GRID-POINT
#              ARCHIVE FILES AND TO PROCESS/COMBINE VECTOR DATA.
#  THIS USES THE NAM-32 KM MODEL DATA
#######################################################################

echo MDLLOG: `date` - begin job MOSPRED - INTERPOLATE MODEL DATA
export pgm=mdl_mospred
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_24="pknam32raw.$DAT"
export XLFUNIT_26="$FIXmdl/mdl_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_28="$FIXmdl/mdl_namprd.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_44="$FIXmdl/mdl_namgriddedconstants"
export XLFUNIT_45="$FIXmdl/mdl_conststa"
export XLFUNIT_60="nam32model.$DAT"
startmsg
$EXECmdl/mdl_mospred < $PARMmdl/mdl_nampredmdl.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  First use of MOSPRED ended 

#
#######################################################################
#
#    SECOND EXECUTION OF PROGRAM MOSPRED
#    MOSPRED - USED TO CREATE OBSERVED PREDICTORS FROM THE MDL  
#              OBSERVATIONAL TABLES.
#
#######################################################################
#
echo MDLLOG: `date` - begin job MOSPRED - CREATE OBSERVATIONAL PREDICTORS
export pgm=mdl_mospred
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_80="pkobs.$DAT"
export XLFUNIT_26="$FIXmdl/mdl_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_28="$FIXmdl/mdl_namprd.obs"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_61="mdl_namobs.$cycle"
startmsg
$EXECmdl/mdl_mospred < $PARMmdl/mdl_nampredobs.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  Second use of MOSPRED ended 

#
#######################################################################
#
#    PROGRAM EQNEVAL - CALCULATES MOS FORECASTS
#
#######################################################################

echo MDLLOG: `date` - begin job EQNEVAL - MAKE MOS FORECASTS
export pgm=mdl_eqneval
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_23="mdl_namobs.$cycle"
export XLFUNIT_24="nam32model.$DAT"
export XLFUNIT_26="$FIXmdl/mdl_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_28="$FIXmdl/mdl_predtofcst"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_30="$FIXmdl/mdl_namwind.04010930.$cycle"
export XLFUNIT_31="$FIXmdl/mdl_namwind.10010331.$cycle"
export XLFUNIT_32="$FIXmdl/mdl_nammxmntd.04010930.$cycle"
export XLFUNIT_33="$FIXmdl/mdl_nammxmntd.10010331.$cycle"
export XLFUNIT_34="$FIXmdl/mdl_namcigcld.04010930.$cycle"
export XLFUNIT_35="$FIXmdl/mdl_namcigcld.10010331.$cycle"
export XLFUNIT_36="$FIXmdl/mdl_nampopqpf.04010930.$cycle"
export XLFUNIT_37="$FIXmdl/mdl_nampopqpf.10010331.$cycle"
export XLFUNIT_38="$FIXmdl/mdl_namvisobv.04010930.$cycle"
export XLFUNIT_39="$FIXmdl/mdl_namvisobv.10010331.$cycle"
export XLFUNIT_41="$FIXmdl/mdl_namsnow.09010831.$cycle"
export XLFUNIT_42="$FIXmdl/mdl_nampopc.04010930.$cycle"
export XLFUNIT_43="$FIXmdl/mdl_nampopc.10010331.$cycle"
export XLFUNIT_49="mdl_nammos.$cycle"
startmsg
$EXECmdl/mdl_eqneval < $PARMmdl/mdl_nameval.cn.$cycle >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  EQNEVAL ended 

#######################################################################
#
#    PROGRAM FCSTPOST - POST-PROCESSES MOS FORECASTS
#
#######################################################################

echo MDLLOG: `date` - begin job FCSTPOST - POST PROCESS MOS FORECASTS
export pgm=mdl_fcstpost
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_28="$FIXmdl/mdl_nampost.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_47="$FIXmdl/mdl_threshold"
export XLFUNIT_45="$FIXmdl/mdl_conststa"
export XLFUNIT_49="mdl_nammos.$cycle"
startmsg
$EXECmdl/mdl_fcstpost < $PARMmdl/mdl_nampost.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  FCSTPOST ended 

#######################################################################
# COPY FILES TO COM
#######################################################################

if test $SENDCOM = 'YES'
then
  cp mdl_nammos.$cycle $COMOUT
  cp mdl_namobs.$cycle $COMOUT
fi

#######################################################################
#######################################################################
# NOW PROCESS TSTM/SVR EQNS
#######################################################################
#######################################################################
#
#######################################################################
#
#  PROGRAM RAINIT - INITIALIZES TSVR RANDOM ACCESS FORECAST FILE
#
#######################################################################
#
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_tsvrsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_tsvrsta.tbl"
export XLFUNIT_49="mdl_namtsvr.$cycle"
startmsg
$EXECmdl/mdl_rainit < $PARMmdl/mdl_u351.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  RAINIT for TSVR ended

#######################################################################
#
#    THIRD EXECUTION OF PROGRAM MOSPRED -- FOR TSVR
#    MOSPRED - USED TO INTERPOLATE TO STATIONS FROM MDL GRID-POINT
#              ARCHIVE FILES AND TO PROCESS/COMBINE VECTOR DATA.
# THIS USES THE NAM-90 KM ARCHIVE
#  6/2006 - changed to use 32km input
#######################################################################

echo MDLLOG: `date` - begin job MOSPRED - INTERPOLATE MODEL DATA
export pgm=mdl_mospred
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_24="pknam32raw.$DAT"
export XLFUNIT_26="$FIXmdl/mdl_tsvrsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_tsvrsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_namtsvrprd"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_44="$FIXmdl/mdl_namgriddedconstants"
export XLFUNIT_45="$FIXmdl/mdl_constgrd"
export XLFUNIT_60="tsvrprd.$DAT"
startmsg
$EXECmdl/mdl_mospred < $PARMmdl/mdl_nampredmdl.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  First use of MOSPRED ended

#
#######################################################################
#
#    PROGRAM EQNEVAL - CALCULATES MOS FORECASTS - FOR TSVR
#
#######################################################################

echo MDLLOG: `date` - begin job EQNEVAL - MAKE MOS FORECASTS
export pgm=mdl_eqneval
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_24="tsvrprd.$DAT"
export XLFUNIT_26="$FIXmdl/mdl_tsvrsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_tsvrsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_nampredtofcst"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_30="$FIXmdl/mdl_namtsvr.07011015.$cycle"
export XLFUNIT_31="$FIXmdl/mdl_namtsvr.10160315.$cycle"
export XLFUNIT_32="$FIXmdl/mdl_namtsvr.03160630.$cycle"
export XLFUNIT_49="mdl_namtsvr.$cycle"
startmsg
$EXECmdl/mdl_eqneval < $PARMmdl/mdl_namevaltsvr.cn.$cycle >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  EQNEVAL ended

#######################################################################
#
#    PROGRAM FCSTPOST - POST-PROCESSES MOS FORECASTS - FOR TSVR
#
#######################################################################

echo MDLLOG: `date` - begin job FCSTPOST - POST PROCESS TSVR FORECASTS
export pgm=mdl_fcstpost
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_tsvrsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_tsvrsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_namposttsvr.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_49="mdl_namtsvr.$cycle"
startmsg
$EXECmdl/mdl_fcstpost < $PARMmdl/mdl_namposttsvr.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  FCSTPOST ended

#######################################################################
#
#    PROGRAM FCSTPOST - USED TO COMBINE TSVR & MOS 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.tbl"
export XLFUNIT_28="$FIXmdl/mdl_namposttsvraw.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_48="mdl_namtsvr.$cycle"
export XLFUNIT_49="mdl_nammos.$cycle"
startmsg
$EXECmdl/mdl_fcstpost < $PARMmdl/mdl_nampostcomb.cn >> $pgmout 2>errfile
export err=$?; 
echo MDLLOG: `date` -  FCSTPOST ended 


#######################################################################
# NAMMETTX
# NEW NAM MOS MESSAGE CODE
#######################################################################

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

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

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

#######################################################################
# COPY FILES TO COM & SEND OUT MESSAGE
#######################################################################

if test $SENDCOM = 'YES'
then
  cp mdl_nammet.$cycle $COMOUT
  cp mdl_nammet.tran $pcom/nammet.tran.$job
  cp mdl_nammos.$cycle $COMOUT
  cp mdl_namtsvr.$cycle $COMOUT
  cp mdl_nammme.$cycle $COMOUT
  cp mdl_nammme.tran $pcom/nammme.tran.$job
fi

if test $SENDDBN = 'YES'
then
   $DBNROOT/bin/dbn_alert TEXT nam $job $pcom/nammet.tran.$job
   $DBNROOT/bin/dbn_alert MDLFCST NAMMOSTXT $job $COMOUT/mdl_nammet.$cycle
   $DBNROOT/bin/dbn_alert TEXT nam $job $pcom/nammme.tran.$job
   $DBNROOT/bin/dbn_alert MDLFCST MMEMOSTXT $job $COMOUT/mdl_nammme.$cycle
fi

#########################################################
#   Generate NAM MOS BUFR message
#########################################################
export pgm="mdl_bufrmos2"
. prep_step

export XLFUNIT_10="ncepdate"
export XLFUNIT_25="$FIXmdl/mdl_metbufr.dat"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_40="mdl_nammos.$cycle"
export XLFUNIT_60="mdl_metbufr.xtrn"

$EXECmdl/mdl_bufrmos2 < $PARMmdl/mdl_metbufr.cn.$cycle >> $pgmout 2>errfile
export err=$?

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

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

#########################################################
#   Generate NAM MOS GRIB message - CONUS
#########################################################
export pgm="mdl_ra2grib"
. prep_step

  export XLFUNIT_10="ncepdate"
  export XLFUNIT_25="$FIXmdl/mdl_namgribin.$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_nammos.$cycle"
  export XLFUNIT_66="mdl_metgribcns.$cycle"

startmsg
$EXECmdl/mdl_ra2grib < $PARMmdl/mdl_namgribcns.cn.$cycle >> $pgmout 2>errfile
export err=$?;err_chk


#########################################################
#   Generate NAM MOS GRIB message - AK
#########################################################
export pgm="mdl_ra2grib"
. prep_step

  export XLFUNIT_10="ncepdate"
  export XLFUNIT_25="$FIXmdl/mdl_namgribin.$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_nammos.$cycle"
  export XLFUNIT_66="mdl_metgribak.$cycle"

startmsg
$EXECmdl/mdl_ra2grib < $PARMmdl/mdl_namgribak.cn.$cycle >> $pgmout 2>errfile
export err=$?;err_chk


#########################################################
#   Generate NAM MOS GRIB message - TSTM
#########################################################
export pgm="mdl_ra2grib"
. prep_step

  export XLFUNIT_10="ncepdate"
  export XLFUNIT_25="$FIXmdl/mdl_namgribintsvr.$cycle"
  export XLFUNIT_26="$FIXmdl/mdl_tsvrsta.lst"
  export XLFUNIT_27="$FIXmdl/mdl_tsvrsta.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_constgrd"
  export XLFUNIT_48="mdl_namtsvr.$cycle"
  export XLFUNIT_66="mdl_metgribtsvr.$cycle"

startmsg
$EXECmdl/mdl_ra2grib < $PARMmdl/mdl_namgribcns.cn.$cycle >> $pgmout 2>errfile
export err=$?;err_chk

################################################################################
#  Send the two GRIB messages to /com, and dbnet alert them for the ftp server
################################################################################

if test $SENDCOM = 'YES'
then
   cp mdl_metgribcns.$cycle $COMOUT
   cp mdl_metgribak.$cycle $COMOUT
   cp mdl_metgribtsvr.$cycle $COMOUT
fi

if test $SENDDBN = 'YES'
then
   $DBNROOT/bin/dbn_alert MDLFCST NAMMOSGRIB $job $COMOUT/mdl_metgribcns.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST NAMMOSGRIB $job $COMOUT/mdl_metgribtsvr.$cycle
fi

#######################################################################
# RA2MDLP
# CONVERT NAMMOS RANDOM ACCESS TO MDL_PACK
#######################################################################

export pgm="mdl_ra2mdlp"
. prep_step

export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_station.lst"
export XLFUNIT_27="$FIXmdl/mdl_station.tbl"
export XLFUNIT_28="$FIXmdl/mdl_namarch.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_38="mdl_nammos.$cycle"          
export XLFUNIT_66="mdl_nammossq.$cycle"

startmsg
$EXECmdl/mdl_ra2mdlp < $PARMmdl/mdl_ra2mdlp.cn >> $pgmout 2>errfile
export err=$?;err_chk

if test $SENDCOM = 'YES'
then
   cp mdl_nammossq.$cycle $COMOUT
fi

#########################################################
#  next fi is for 00/12Z only if test
#########################################################
fi

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