#!/bin/sh
#######################################################################
#  Job Name: exgfsmos_akgoe_extfcst.sh.sms
#  Purpose: To run all steps necessary to create the GFS-based extended- 
#           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.
#                               Also changed the check in the beginning
#                               to look for the goe random access file
#                               from the short-range job.
#######################################################################
#
echo MDLLOG: `date` - Begin job gfsmos_akgoe_extfcst
set -x

cd $DATA

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

export DAT="$PDY$cyc"

#######################################################################
#
#    THIS JOB USES THE RANDOM ACCESS FILE FIRST CREATED IN THE
#    EXECUTION OF GFSMOS_AKGOE_FCST.  CHECK IF THE FILE MDL_GOEAKMOS.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_AKGOE_EXTFCST
#    WILL NOT WORK UNLESS GFSMOS_AKGOE_FCST HAS ALREADY RUN SUCCESSFULLY.
#######################################################################
#
if [ ! -f $COMIN/mdl_goeakmos.$cycle ]
     then echo 'need successful run of gfsmos_akgoe_fcst to run properly' >> $pgmout        
             export err=1;err_chk
fi

cp $COMIN/mdl_goeakmos.$cycle .


#######################################################################
# COPY MODEL FILES TO TEMP SPACE 
#######################################################################
cp $COMIN/mdl_gfspkd.$cycle pkgfsraw.$DAT
cp $COMIN/mdl_gfsxpkd.$cycle pkgfsxraw.$DAT

#
#######################################################################
#
#  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_23="pkgfsraw.$DAT"
export XLFUNIT_24="pkgfsxraw.$DAT"
export XLFUNIT_27="$FIXmdl/mdl_akndfdtrimsta.tbl"
export XLFUNIT_28="$FIXmdl/mdl_gfsxgoeakprd.$cycle"
export XLFUNIT_29="$FIXmdl/mdl_mos2000id.tbl"
export XLFUNIT_44="$FIXmdl/mdl_griddedconstants"
export XLFUNIT_45="$FIXmdl/mdl_constakndfdtrimsta"
export XLFUNIT_60="goeakmosxmodel.$DAT"
startmsg
$EXECmdl/mdl_mospred < $PARMmdl/mdl_gfsxgmospredmdl.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="goeakmosxmodel.$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_gfsxgoeakpopqpf.04010930.$cycle"
export XLFUNIT_36="$FIXmdl/mdl_gfsxgoeakpopqpf.10010331.$cycle"
export XLFUNIT_37="$FIXmdl/mdl_gfsxgoeakcld.04010930.$cycle"
export XLFUNIT_38="$FIXmdl/mdl_gfsxgoeakcld.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_gfsxgoeakpost.$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 goeakmosxmodel.$DAT $COMOUT/mdl_goeakmosxmodel.$cycle
  cp mdl_goeakmos.$cycle $COMOUT
fi


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