##########################################################################
#  Job Name: exgfs_gmos.sh.sms 
#  Purpose: To run all steps necessary to create extended-range GFS-based
#           gridded MOS fcsts on the NDFD grid
#  Remarks: This script is kicked off when all 5 of the forecast jobs
#           have completed (METAR, GOE, COOPMESO, TSTM, PACIFIC)
#
#  HISTORY: Mar 20, 2005      - new job for Gridded MOS
#           Sep  7, 2005      - added RH and POP, and went to version
#                               2 of U155.  Put in gridarch for 
#                               archiving gridded forecasts.
#           Oct  4, 2005      - added tgftp alert for RH 
#           Oct 17, 2005      - added tgftp alert for PoP
#           Feb 27, 2006      - put in version 3 of U155.  We're now
#                               using a separate gridded constant file
#                               for U155 than we use for eqns.
#           Mar 29, 2006      - added winds
#           Apr 13, 2006      - added tocgrib2 to put headers on GRIB2
#           May 10, 2006      - added thunderstorms
#           Jun 19, 2006      - added u140 run to get wind goes on grid
#           Jun 29, 2006      - expanded to cover the full CONUS
#                             - added alert for GRIB products to Gateway
#           Jul 19, 2006      - commented out POP tgftp alerts
#           Aug 02, 2006      - Put back POP alerts.  Got rid of goe
#                               archiving.  We'll now save the U140
#                               output.   Added v4 of U155 including the 
#                               use of last cycle's forecasts.  Added
#                               check where short-range file must
#                               exist or the job will die.
#           Apr 30, 2007      - Added snow, qpf, sky, wind gusts.
#                               v5 of U155
#           Nov 26, 2007      - Modified to do 2-step QPF analysis
#           Dec 14, 2009      - Modified name of station table to
#                               mdl_granlsta.tbl to better reflect file
#                               contents. Added snow to 1200 UTC extended
#                               cycle to match 0000 UTC guidance.
#           Feb 18, 2010      - Modified TOCGRIB2 section to broadcast
#                               1200 UTC extended-range snow over the SBN.
#
##########################################################################
#
echo MDLLOG: `date` - Begin job exgfsx_gmos.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
#    3/2005 - Right now we need the METAR, COOPRFCMESO, GOE, and
#             short-range gmos files
#    5/2006 - Added cp of 40km thunderstorm file
#    6/2006 - Added cp of goe u201 predictors
#    8/2006 - Added cp of sr and ex merged forecast files from previous
#             day.
#######################################################################
cp $COMIN/mdl_gfsmos.$cycle mdl_gfsmos.$cycle
cp $COMIN/mdl_gfscpmos.$cycle mdl_gfscpmos.$cycle
cp $COMIN/mdl_goemos.$cycle mdl_goemos.$cycle
cp $COMIN/mdl_gfstsvr40.$cycle mdl_gfstsvr40.$cycle
cp $COMIN/mdl_goemosxmodel.$cycle mdl_goemosxmodel.$cycle
cp $COMIN/mdl_gfsmergesta.$cycle gfsmergesta.$cycle

###########################################################################
#
#    THIS JOB USES THE RANDOM ACCESS FILE FIRST CREATED IN THE
#    EXECUTION OF GFSMOS_GRIDDED_PRDGEN.  CHECK IF THE FILE MDL_GFSGMOS.TXXZ
#    EXISTS IN COM/GFS.  IF IT DOES, COPY THE FILE TO THE WORK SPACE.
#    IF IT DOES NOT EXIST, THE SCRIPT WILL ABORT.  GFSMOS_GRIDDED_EXTPRDGEN
#    WILL NOT WORK UNLESS GFSMOS_GRIDDED_PRDGEN HAS ALREADY RUN SUCCESSFULLY.
#
############################################################################
#
if [ ! -f $COMIN/mdl_gfsgmos.$cycle ]
     then echo 'need successful run of gfsmos_gridded_prdgen to run properly' >> $pgmout
             export err=1;err_chk
fi

cp $COMIN/mdl_gfsgmos.$cycle .


if test $cyc -eq '00'
then
   prevcyc=12
   cp $COMINm1/mdl_gfsmergesta.t${prevcyc}z gfsmergesta.last$prevcyc
   cp $COMINm1/mdl_gfsxmergesta.t${prevcyc}z gfsxmergesta.last$prevcyc
else
   prevcyc=00
   cp $COMIN/mdl_gfsmergesta.t${prevcyc}z gfsmergesta.last$prevcyc
   cp $COMIN/mdl_gfsxmergesta.t${prevcyc}z gfsxmergesta.last$prevcyc
fi

#######################################################################
#
# PROGRAM RAMERGE - MERGES TWO VECTOR TDLPACK FILES INTO ONE.  IN THIS
#                   CASE MERGE THE METAR AND COOPRFCMESO FILES.
#######################################################################
echo MDLLOG: `date` - begin job RAMERGE

export pgm=mdl_ramerge
. prep_step
startmsg
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_granlsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_granlsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfsxramerge.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_46="mdl_gfsmos.$cycle"
export XLFUNIT_48="mdl_gfscpmos.$cycle"
export XLFUNIT_60="mdl_gfsxmergesta.$cycle"
$EXECmdl/mdl_ramerge < $PARMmdl/mdl_ramerge.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  RAMERGE ended 

#######################################################################
#
# PROGRAM VECT2GRID - CONVERTS SEQUENTIAL "GRIDPOINT STATION" FILE TO
#                     TRUE GRIDDED RECORDS.THIS RUN PUTS THE GOES
#                     ON A 5 KM GRID.
#######################################################################
echo MDLLOG: `date` - begin job vect2grid

export pgm=mdl_vect2grid
. prep_step
startmsg
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_ndfdtrimsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_ndfdsta.tbl"
export XLFUNIT_31="$FIXmdl/mdl_gfsxvect2grid.in.$cycle"
export XLFUNIT_32="$FIXmdl/mdl_gfsxvect2grid.out.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_48="mdl_goemos.$cycle"
export XLFUNIT_60="mdl_goexmosgrsq.$cycle"
$EXECmdl/mdl_vect2grid < $PARMmdl/mdl_vect2grid.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  VECT2GRID ended 

#######################################################################
#
# PROGRAM VECT2GRID - CONVERTS SEQUENTIAL "GRIDPOINT STATION" FILE TO
#                     TRUE GRIDDED RECORDS.  THIS RUN PUTS THE WIND
#                     DMO GOES ON A 5 KM GRID. 
#######################################################################
echo MDLLOG: `date` - begin job vect2grid

export pgm=mdl_vect2grid
. prep_step
startmsg
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_ndfdtrimsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_ndfdsta.tbl"
export XLFUNIT_31="$FIXmdl/mdl_gfsxvect2grid_wnd.in.$cycle"
export XLFUNIT_32="$FIXmdl/mdl_gfsxvect2grid_wnd.out.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_61="mdl_goemosxmodel.$cycle"
export XLFUNIT_60="mdl_goexwndgrsq.$cycle"
$EXECmdl/mdl_vect2grid < $PARMmdl/mdl_vect2grid_wnd.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  VECT2GRID ended 



#######################################################################
#
# PROGRAM GRANALYSIS - PERFORMS THE ANALYSIS OF THE MOS FORECASTS 
#                      ONTO A GRID.
#   THIS USES THE RANDOM ACCESS FILE FROM THE SHORT-RANGE RUN
#######################################################################

echo MDLLOG: `date` - begin job GRANALYSIS

export pgm=mdl_granalysis
. prep_step
startmsg
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_granlsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_granlsta.tbl"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_30="mdl_goexmosgrsq.$cycle"
export XLFUNIT_31="mdl_goexwndgrsq.$cycle"
export XLFUNIT_37="$FIXmdl/mdl_granlstation_pairs"
export XLFUNIT_38="$FIXmdl/mdl_gfsxgranlids.$cycle"
export XLFUNIT_44="$FIXmdl/mdl_analysisgrconst"
export XLFUNIT_51="$FIXmdl/mdl_u405adewcn"
export XLFUNIT_53="$FIXmdl/mdl_u405atmpcn"
export XLFUNIT_54="$FIXmdl/mdl_u405amaxcn"
export XLFUNIT_55="$FIXmdl/mdl_u405amincn"
export XLFUNIT_56="$FIXmdl/mdl_u405apopcn"
export XLFUNIT_57="$FIXmdl/mdl_u405awspcn"
export XLFUNIT_58="$FIXmdl/mdl_u405awuvcn"
export XLFUNIT_59="$FIXmdl/mdl_u405awspxcn"
export XLFUNIT_60="$FIXmdl/mdl_u405awuvxcn"
export XLFUNIT_61="$FIXmdl/mdl_u405awgstcn"
export XLFUNIT_62="$FIXmdl/mdl_u405awgstxcn"
export XLFUNIT_63="$FIXmdl/mdl_u405aqpfcn"
export XLFUNIT_64="$FIXmdl/mdl_u405asnwcn"
export XLFUNIT_65="$FIXmdl/mdl_u405askycn"
export XLFUNIT_66="$FIXmdl/mdl_u405aqpf1cn"
export XLFUNIT_80="gfsmergesta.$cycle"
export XLFUNIT_81="mdl_gfsxmergesta.$cycle"
export XLFUNIT_82="gfsmergesta.last$prevcyc"
export XLFUNIT_83="gfsxmergesta.last$prevcyc"
export XLFUNIT_42="mdl_gfsgmos.$cycle"
$EXECmdl/mdl_granalysis < $PARMmdl/mdl_granalysis.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  GRANALYSIS ended 

#######################################################################
#
# PROGRAM VECT2GRID - CONVERTS SEQUENTIAL "GRIDPOINT STATION" FILE 
#         (U140)      TO TRUE GRIDDED RECORDS.  THIS RUN PUTS THE 40KM
#                     TSTMS INTO GRIDDED FORMAT.
#######################################################################
echo MDLLOG: `date` - begin job vect2grid

export pgm=mdl_vect2grid
. prep_step
startmsg
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_tsvr40sta.lst"
export XLFUNIT_27="$FIXmdl/mdl_tsvr40sta.tbl"
export XLFUNIT_31="$FIXmdl/mdl_gfsxvect2grid_tsvr40km.in.$cycle"
export XLFUNIT_32="$FIXmdl/mdl_gfsxvect2grid_tsvr40km.out.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_48="mdl_gfstsvr40.$cycle"
export XLFUNIT_60="mdl_gfsxtsvr40grd.sq.$cycle"
$EXECmdl/mdl_vect2grid < $PARMmdl/mdl_vect2grid_tsvr40km.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  VECT2GRID ended 

#######################################################################
# PROGRAM GRD2GRD - INTERPOLATE DATA FROM 40KM GRID TO 5KM NDFD GRID
#         (U365)
#######################################################################
echo MDLLOG: `date` - begin job GRD2GRD - INTERPOLATE TO NDFD GRID

export pgm=mdl_grd2grd
. prep_step
startmsg
export XLFUNIT_10="ncepdate"
export XLFUNIT_25="mdl_gfsxtsvr40grd.sq.$cycle"
export XLFUNIT_28="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_27="$FIXmdl/mdl_gfsxgrd2grd_tsvr40.ids.$cycle"
export XLFUNIT_42="mdl_gfsgmos.$cycle"
$EXECmdl/mdl_grd2grd < $PARMmdl/mdl_grd2grd.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` - GRD2GRD ended

#######################################################################
#
# PROGRAM GRIDPOST - PERFORMS POST-PROCESSING OF THE GRIDDED MOS 
#                    FORECASTS. 
#######################################################################
echo MDLLOG: `date` - begin job GRIDPOST - POST PROCESS MOS FORECASTS
export pgm=mdl_gridpost
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_granlsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_granlsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfsxgrpost.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_42="mdl_gfsgmos.$cycle"
startmsg
$EXECmdl/mdl_gridpost < $PARMmdl/mdl_gridpost.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  GRIDPOST ended 

#######################################################################
# PROGRAM RA2GRIB2 - CODES TDLPACK MOS FORECASTS INTO GRIB2. 
#######################################################################
#   WE'LL LOOP THROUGH THE FOLLOWING ELEMENTS, CREATING SEPARATE
#   GRIB2 FILES FOR EACH ELEMENT (PACKAGING NEEDED FOR TGFTP) 
#
#    TEMP = 2M SURFACE TEMPERATURE    DEWP = 2M SURFACE DEWPOINT
#    MAX  = MAXIMUM TEMPERATURE       MIN  = MINIMUM TEMPERATURE
#    RH   = 2M RELATIVE HUMIDITY      POP6 = 6HR POP
#   POP12 = 12HR POP                  WSPD = 10M WIND SPEED
#    WDIR = 10M WIND DIRECTION     PTSTM03 = 3HR THUNDERSTORM PROB (00Z ONLY)
# PTSTM06 = 6HR THUNDERSTORM PROB  PTSTM12 = 12HR THUNDERSTORM PROB
#   QPF06 = 6HR QPF                  QPF12 = 12HR QPF
#     SKY = OPAQUE SKY COVER         SNW24 = 24HR SNOWFALL 
#    WGST = WIND GUST 
#
#######################################################################
for element in temp dewp max min rh pop6 pop12 wspd wdir ptstm06 ptstm12 qpf06 qpf12 sky wgst snw24
do

echo MDLLOG: `date` - begin job RA2GRIB2 
export pgm=mdl_ra2grib2
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_31="$FIXmdl/mdl_gmosgb2sect0-1"
export XLFUNIT_32="$FIXmdl/mdl_gmosgb2sect3"
export XLFUNIT_33="$FIXmdl/mdl_gmosxgb2sect4${element}.$cycle"
export XLFUNIT_34="$FIXmdl/mdl_gmosxgb2sect5${element}.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_44="mdl_gfsgmos.$cycle"
export XLFUNIT_60="mdl_gmosxgb2${element}.$cycle"
startmsg
$EXECmdl/mdl_ra2grib2 < $PARMmdl/mdl_ra2grib2.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  RA2GRIB2 ended 

done

#######################################################################
#  3H TSTMS ONLY AVAILABLE AT 00Z IN EXTENDED CYCLE
#######################################################################

if test $cyc -eq '00'
then

for element in ptstm03
do

echo MDLLOG: `date` - begin job RA2GRIB2
export pgm=mdl_ra2grib2
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_31="$FIXmdl/mdl_gmosgb2sect0-1"
export XLFUNIT_32="$FIXmdl/mdl_gmosgb2sect3"
export XLFUNIT_33="$FIXmdl/mdl_gmosxgb2sect4${element}.$cycle"
export XLFUNIT_34="$FIXmdl/mdl_gmosxgb2sect5${element}.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_44="mdl_gfsgmos.$cycle"
export XLFUNIT_60="mdl_gmosxgb2${element}.$cycle"
startmsg
$EXECmdl/mdl_ra2grib2 < $PARMmdl/mdl_ra2grib2.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  RA2GRIB2 ended

done

fi

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

if test $SENDCOM = 'YES'
then
  cp mdl_gfsgmos.$cycle $COMOUT
  cp mdl_gfsxmergesta.$cycle $COMOUT
  cp mdl_goexmosgrsq.$cycle $COMOUT
  cp mdl_goexwndgrsq.$cycle $COMOUT
  cp mdl_gmosxgb2temp.$cycle $COMOUT
  cp mdl_gmosxgb2dewp.$cycle $COMOUT
  cp mdl_gmosxgb2max.$cycle $COMOUT
  cp mdl_gmosxgb2min.$cycle $COMOUT
  cp mdl_gmosxgb2rh.$cycle $COMOUT
  cp mdl_gmosxgb2pop6.$cycle $COMOUT
  cp mdl_gmosxgb2pop12.$cycle $COMOUT
  cp mdl_gmosxgb2wspd.$cycle $COMOUT
  cp mdl_gmosxgb2wdir.$cycle $COMOUT
  cp mdl_gmosxgb2ptstm06.$cycle $COMOUT
  cp mdl_gmosxgb2ptstm12.$cycle $COMOUT
  cp mdl_gmosxgb2qpf06.$cycle $COMOUT
  cp mdl_gmosxgb2qpf12.$cycle $COMOUT
  cp mdl_gmosxgb2sky.$cycle $COMOUT
  cp mdl_gmosxgb2wgst.$cycle $COMOUT
  cp mdl_gmosxgb2snw24.$cycle $COMOUT
     if test $cyc -eq '00'
     then
       cp mdl_gmosxgb2ptstm03.$cycle $COMOUT
     fi
fi

#######################################################################
#  NOW RUN TOCGRIB2 TO PUT HEADERS AND FFS ON THE FILES
#   CAT ALL OF THE GRIB FILES TOGETHER AND RUN TOCGRIB2 ONCE
#   (REMEMBER 3HR TSTM ONLY AT 00Z) 
#######################################################################
  touch mdl_gmosxgrib2.$cycle

  for element in temp dewp max min rh pop6 pop12 wspd wdir ptstm06 ptstm12 qpf06 qpf12 sky wgst snw24 
   do
    cat mdl_gmosxgb2${element}.$cycle >> mdl_gmosxgrib2.$cycle
   done

     if test $cyc -eq '00'
     then
       cat mdl_gmosxgb2ptstm03.$cycle >> mdl_gmosxgrib2.$cycle
     fi

  $EXECutil/grb2index mdl_gmosxgrib2.$cycle mdl_gmosxgrib2i.$cycle

export XLFUNIT_11="mdl_gmosxgrib2.$cycle"
export XLFUNIT_31="mdl_gmosxgrib2i.$cycle"
export XLFUNIT_51="mdl_gmosxgrib2.xtrn.$cycle"

$EXECutil/tocgrib2 <$PARMmdl/mdl_gmosxgb2head.$cycle 1>> $pgmout 2>> errfile

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


#######################################################################
#  THEN ALERT PRODUCTS TO TGFTP AND THE SBN
#  FOR THE SBN ALL THE PRODUCTS ARE IN ONE FILE W/WMO HEADERS 
#  FOR TGFTP GRIDS ARE GROUPED BY ELEMENT AND DO NOT HAVE WMO HEADERS
#    (NOTE - AT 00Z WE DON'T ALERT THE 3HR TSTM TO TGFTP)
#######################################################################

if test $SENDDBN = 'YES'
then

   $DBNROOT/bin/dbn_alert NTC_LOW gfs $job $pcom/mdl_gmosxgrib2.xtrn.$job

   $DBNROOT/bin/dbn_alert MDLFCST GMOSXT      $job $COMOUT/mdl_gmosxgb2temp.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXTD     $job $COMOUT/mdl_gmosxgb2dewp.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXMX     $job $COMOUT/mdl_gmosxgb2max.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXMN     $job $COMOUT/mdl_gmosxgb2min.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXRH     $job $COMOUT/mdl_gmosxgb2rh.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXPOP6   $job $COMOUT/mdl_gmosxgb2pop6.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXPOP12  $job $COMOUT/mdl_gmosxgb2pop12.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXWS     $job $COMOUT/mdl_gmosxgb2wspd.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXWD     $job $COMOUT/mdl_gmosxgb2wdir.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXTS6    $job $COMOUT/mdl_gmosxgb2ptstm06.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXTS12   $job $COMOUT/mdl_gmosxgb2ptstm12.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXQPF6   $job $COMOUT/mdl_gmosxgb2qpf06.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXQPF12  $job $COMOUT/mdl_gmosxgb2qpf12.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXSKY    $job $COMOUT/mdl_gmosxgb2sky.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXGST    $job $COMOUT/mdl_gmosxgb2wgst.$cycle
   $DBNROOT/bin/dbn_alert MDLFCST GMOSXSNW24  $job $COMOUT/mdl_gmosxgb2snw24.$cycle

fi

#######################################################################
#
# PROGRAM GRIDARCH - ARCHIVES THE GRIDDED
#                    FORECASTS FOR ALL PROJECTIONS (6 - 198). 
#######################################################################

echo MDLLOG: `date` - begin job GRIDARCH - ARCHIVES GRIDDED MOS FORECASTS
export pgm=mdl_gridarch
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$FIXmdl/mdl_granlsta.lst"
export XLFUNIT_27="$FIXmdl/mdl_granlsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfsgrarch.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_43="mdl_gfsgmos.$cycle"
export XLFUNIT_60="mdl_gfsgmossq.$cycle"
startmsg
$EXECmdl/mdl_gridarch < $PARMmdl/mdl_gridarch.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  GRIDARCH ended 

#######################################################################
# COPY FILES TO COM
#  FOR ARCHIVING THE GOES, WE'LL SAVE THE U140 OUTPUTS
#######################################################################

if test $SENDCOM = 'YES'
then
  cp mdl_gfsgmossq.$cycle $COMOUT
  cp mdl_goexmosgrsq.$cycle $COMOUT
  cp mdl_goexwndgrsq.$cycle $COMOUT
fi

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