#!/bin/sh
#######################################################################
#  Job Name: exgfsmos_akgoe_fcst.sh.sms
#  Purpose: To run all steps necessary to create the GFS-based short- 
#           range MOS and model data for Alaska gridded MOS.  
#           This script runs all the steps to create the
#           forecasts.  Subsequent scripts will produce the products.
#           This script runs at 00 and 12Z.   
#  Remarks: 
#  HISTORY: Mar 21, 2008      - New job for GFS Gridded MOS for AK.
#                               At the current time this job is just
#                               a run of mospred to get model data
#                               as input to U155 for the temp fields.
#                               In time we'll add the other forecast
#                               steps when we have the goes ready.
#           Sep 25, 2008      - Added steps to evaluated POP and sky
#                               goes.  Also added ids to u201 to get
#                               dmo winds for wind first guess and lapse.
#######################################################################
#
echo MDLLOG: `date` - Begin job gfsmos_akgoe_fcst
set -x

cd $DATA

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

export DAT="$PDY$cyc"

#######################################################################
# COPY MODEL FILES TO TEMP SPACE -- this file is created in job
#    gfs_mos_prep.  Contains GFS data from 0 - 96 hours.
#######################################################################
cp $COMIN/mdl_gfspkd.$cycle pkgfsraw.$DAT

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

#
#######################################################################
#
#  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_27="$FIXmdl/mdl_akndfdtrimsta.tbl"
export XLFUNIT_49="mdl_goeakmos.$cycle"
startmsg
$EXECmdl/mdl_rainit < $PARMmdl/mdl_gmosu351.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` - RAINIT ended

#
#######################################################################
#
#  PROGRAM MOSPRED - USED TO INTERPOLATE TO STATIONS FROM MDL GRID-POINT
#              ARCHIVE FILES AND TO PROCESS/COMBINE VECTOR DATA.
#           THIS RUN GETS THE MODEL FIELDS THAT WE NEED FOR 
#           FIRST GUESS AND UPPER AIR LAPSE RATE CALCULATIONS IN
#           ADDITION TO PREDICTORS FOR THE GOES
#
#  NOTE: AT THIS TIME UNIT 44 IS NOT BEING USED IN THIS RUN
#        OF MOSPRED.  THIS IS THE CONUS FILE AND IS LEFT HERE SO
#        THE SAME CN FILE CAN BE USED AS IN THE CONUS.
#######################################################################
echo MDLLOG: `date` - begin job MOSPRED - INTERPOLATE MODEL DATA
export pgm=mdl_mospred
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_24="pkgfsraw.$DAT"
export XLFUNIT_27="$FIXmdl/mdl_akndfdtrimsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfsgoeakprd.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_44="$FIXmdl/mdl_griddedconstants"
export XLFUNIT_45="$FIXmdl/mdl_constakndfdtrimsta"
export XLFUNIT_60="goeakmosmodel.$DAT"
startmsg
$EXECmdl/mdl_mospred < $PARMmdl/mdl_gfsgmospredmdl.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` -  First 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_24="goeakmosmodel.$DAT"
export XLFUNIT_27="$FIXmdl/mdl_akndfdtrimsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_predtofcst"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_35="$FIXmdl/mdl_gfsgoeakpopqpf.04010930.$cycle"
export XLFUNIT_36="$FIXmdl/mdl_gfsgoeakpopqpf.10010331.$cycle"
export XLFUNIT_37="$FIXmdl/mdl_gfsgoeakcld.04010930.$cycle"
export XLFUNIT_38="$FIXmdl/mdl_gfsgoeakcld.10010331.$cycle"
export XLFUNIT_49="mdl_goeakmos.$cycle"
startmsg
$EXECmdl/mdl_eqneval < $PARMmdl/mdl_gfsgmosakeval.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_27="$FIXmdl/mdl_akndfdtrimsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfsgoeakpost.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_45="$FIXmdl/mdl_constakndfdtrimsta"
export XLFUNIT_47="$FIXmdl/mdl_goeakthreshold"
export XLFUNIT_49="mdl_goeakmos.$cycle"
startmsg
$EXECmdl/mdl_fcstpost < $PARMmdl/mdl_gmospost.cn >> $pgmout 2>errfile
export err=$?; err_chk

echo MDLLOG: `date` -  FCSTPOST ended 


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

if test $SENDCOM = 'YES'
then
  cp goeakmosmodel.$DAT $COMOUT/mdl_goeakmosmodel.$cycle
  cp mdl_goeakmos.$cycle $COMOUT
fi


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