#!/bin/sh
#######################################################################
#  Job Name: exekd_akprep.sh.sms
#  Purpose: To run all steps necessary to create the GEFS-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: Aug 10, 2010      - New job for GEFS 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.
#                               Created from exgfsmos_akgoe_fcst.sh.sms
#######################################################################
#
echo EKDLOG: `date` - Begin job ekd_akprep
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
#    exekd_stnfcst_*.  Contains GEFS and CMCE data from 0 - 384 hours.
#######################################################################
let gefs_error=0
let cmce_error=0
for pert in 40 41 42 43 44 45 46 47 48 49 50\
               51 52 53 54 55 56 57 58 59 60; do
   cp ${COMIN}/gefs.mdlp.grid.${pert}.$cycle .
   let gefs_error=$?+$gefs_error
   cp ${COMIN}/cmce.mdlp.grid.${pert}.$cycle .
   let cmce_error=$?+$cmce_error
done
if [ $gefs_error -ne 0 ] && [ $cmce_error -ne 0 ]; then
   echo "GEFS and CMCE data are both missing - check stnfcst jobs!"
   pgm=ekdmos_akprep_cp
   export err=1; err_chk
fi
#
#######################################################################
#
# PROGRAM RACREATE - MOS-2000 PROGRAM WHICH
#                   CREATES RANDOM ACCESS FILES; IN THIS CASE, THE
#                   CODE IS USED TO CREATE THE OPERATIONAL GEFS
#                   FORECAST FILE.
#                   RUN A SECOND TIME FOR THE CMCE
# THIS ONE HAS A SPECIAL CN FILE FOR GMOS
#######################################################################
#
echo EKDLOG: `date` - begin job RACREATE - CREATE GEFS FORECAST FILE
export pgm=mdl_racreate
. prep_step
export XLFUNIT_50="gefs_akdmomodel_ra.$cycle"
startmsg
$EXECmdl/mdl_racreate < $PARMekd/ekd_u350.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` - RACREATE ended
#
echo EKDLOG: `date` - begin job RACREATE - CREATE CMCE FORECAST FILE
export pgm=mdl_racreate
. prep_step
export XLFUNIT_50="cmce_akdmomodel_ra.$cycle"
startmsg
$EXECmdl/mdl_racreate < $PARMekd/ekd_u350.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=ekd_rainit
. prep_step
echo EKDLOG: `date` - begin job RAINIT - INITIALIZE GEFS FORECAST FILE
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$PARMekd/ekd_akmos.lst"
export XLFUNIT_27="$PARMekd/ekd_akmos.tbl"
export XLFUNIT_49="gefs_akdmomodel_ra.$cycle"
startmsg
$EXECmdl/mdl_rainit < $PARMekd/ekd_u351.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` - RAINIT ended
#
export pgm=ekd_rainit
. prep_step
echo EKDLOG: `date` - begin job RAINIT - INITIALIZE GEFS FORECAST FILE
export XLFUNIT_10="ncepdate"
export XLFUNIT_26="$PARMekd/ekd_akmos.lst"
export XLFUNIT_27="$PARMekd/ekd_akmos.tbl"
export XLFUNIT_49="cmce_akdmomodel_ra.$cycle"
startmsg
$EXECmdl/mdl_rainit < $PARMekd/ekd_u351.cn >> $pgmout 2>errfile
export err=$?; err_chk
echo MDLLOG: `date` - RAINIT ended
#
#######################################################################
#
# PROGRAM GRIDPOST - USED TO GENERATE FIRST GUESS AND LAPSE RATE 
#                    GRIDS FOR GEFS EKDMOS
#
#######################################################################
##
export pgm=ekd_gridpost 
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_20="gefs.mdlp.grid.40.$cycle"
export XLFUNIT_21="gefs.mdlp.grid.41.$cycle"
export XLFUNIT_22="gefs.mdlp.grid.42.$cycle"
export XLFUNIT_23="gefs.mdlp.grid.43.$cycle"
export XLFUNIT_24="gefs.mdlp.grid.44.$cycle"
export XLFUNIT_25="gefs.mdlp.grid.45.$cycle"
export XLFUNIT_26="gefs.mdlp.grid.46.$cycle"
export XLFUNIT_27="gefs.mdlp.grid.47.$cycle"
export XLFUNIT_28="gefs.mdlp.grid.48.$cycle"
export XLFUNIT_29="gefs.mdlp.grid.49.$cycle"
export XLFUNIT_30="gefs.mdlp.grid.50.$cycle"
export XLFUNIT_31="gefs.mdlp.grid.51.$cycle"
export XLFUNIT_32="gefs.mdlp.grid.52.$cycle"
export XLFUNIT_33="gefs.mdlp.grid.53.$cycle"
export XLFUNIT_34="gefs.mdlp.grid.54.$cycle"
export XLFUNIT_35="gefs.mdlp.grid.55.$cycle"
export XLFUNIT_36="gefs.mdlp.grid.56.$cycle"
export XLFUNIT_37="gefs.mdlp.grid.57.$cycle"
export XLFUNIT_38="gefs.mdlp.grid.58.$cycle"
export XLFUNIT_39="gefs.mdlp.grid.59.$cycle"
export XLFUNIT_40="gefs.mdlp.grid.60.$cycle"
export XLFUNIT_67="$PARMekd/ekd_akmos.lst"
export XLFUNIT_68="$PARMekd/ekd_akmos.tbl"
export XLFUNIT_66="$PARMekd/ekd_gfsdmoakprd_gefs.$cycle"
export XLFUNIT_69="$FIXekd/ekd_mos2000id.tbl"
export XLFUNIT_45="gefs_akdmomodel_sq.$cycle"
export XLFUNIT_42="gefs_akdmomodel_ra.$cycle"
startmsg
$EXECekd/ekd_gridpost < $PARMekd/ekd_akgridpost_gefs.cn  >> $pgmout
export err=$?;err_chk

echo EKDLOG: `date` -  GRIDPOST ended
#######################################################################
#
# PROGRAM GRIDPOST - USED TO GENERATE FIRST GUESS AND LAPSE RATE 
#                    GRIDS FOR CMCE EKDMOS
#
#######################################################################
#
export pgm=ekd_gridpost 
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_20="cmce.mdlp.grid.40.$cycle"
export XLFUNIT_21="cmce.mdlp.grid.41.$cycle"
export XLFUNIT_22="cmce.mdlp.grid.42.$cycle"
export XLFUNIT_23="cmce.mdlp.grid.43.$cycle"
export XLFUNIT_24="cmce.mdlp.grid.44.$cycle"
export XLFUNIT_25="cmce.mdlp.grid.45.$cycle"
export XLFUNIT_26="cmce.mdlp.grid.46.$cycle"
export XLFUNIT_27="cmce.mdlp.grid.47.$cycle"
export XLFUNIT_28="cmce.mdlp.grid.48.$cycle"
export XLFUNIT_29="cmce.mdlp.grid.49.$cycle"
export XLFUNIT_30="cmce.mdlp.grid.50.$cycle"
export XLFUNIT_31="cmce.mdlp.grid.51.$cycle"
export XLFUNIT_32="cmce.mdlp.grid.52.$cycle"
export XLFUNIT_33="cmce.mdlp.grid.53.$cycle"
export XLFUNIT_34="cmce.mdlp.grid.54.$cycle"
export XLFUNIT_35="cmce.mdlp.grid.55.$cycle"
export XLFUNIT_36="cmce.mdlp.grid.56.$cycle"
export XLFUNIT_37="cmce.mdlp.grid.57.$cycle"
export XLFUNIT_38="cmce.mdlp.grid.58.$cycle"
export XLFUNIT_39="cmce.mdlp.grid.59.$cycle"
export XLFUNIT_40="cmce.mdlp.grid.60.$cycle"
export XLFUNIT_67="$PARMekd/ekd_akmos.lst"
export XLFUNIT_68="$PARMekd/ekd_akmos.tbl"
export XLFUNIT_66="$PARMekd/ekd_gfsdmoakprd_cmce.$cycle"
export XLFUNIT_69="$FIXekd/ekd_mos2000id.tbl"
export XLFUNIT_45="cmce_akdmomodel_sq.$cycle"
export XLFUNIT_42="cmce_akdmomodel_ra.$cycle"
startmsg
$EXECekd/ekd_gridpost < $PARMekd/ekd_akgridpost_cmce.cn  >> $pgmout
export err=$?;err_chk

echo EKDLOG: `date` -  GRIDPOST ended
#######################################################################
#
#  PROGRAM RA2RA  - MERGES RANDOM ACCESS FILES FROM INDIVIDUAL ENSEMBLE
#                   SYSTEMS INTO ONE RANDOM ACCESS FILE FOR USE IN U202
#
#######################################################################
cp $FIX2ekd/mdl_rafile_template naefs_akdmomodel_ra.$cycle
echo EKDLOG: `date` - begin job RA2RA - MERGE EKDMOS FORECAST FILES
export pgm=ekd_ra2ra
. prep_step
export XLFUNIT_26="$PARMekd/ekd_akmos.lst"
export XLFUNIT_27="$PARMekd/ekd_akmos.tbl"
export XLFUNIT_60="naefs_akdmomodel_ra.$cycle"
export XLFUNIT_30="gefs_akdmomodel_ra.$cycle"
export XLFUNIT_31="cmce_akdmomodel_ra.$cycle"
startmsg
$EXECekd/ekd_ra2ra < $PARMekd/ekd_ra2ra_ak.cn >> $pgmout 2>errfile
export err=$?;err_chk

echo EKDLOG: `date` -  RA2RA ended
#######################################################################
#
# PROGRAM GRIDPOST - USED TO COMBINE FIRST GUESS AND LAPSE RATE 
#                    GRIDS FOR NAEFS EKDMOS
#
#######################################################################
#
export pgm=ekd_gridpost 
. prep_step
export XLFUNIT_10="ncepdate"
export XLFUNIT_21="gefs_akdmomodel_sq.$cycle"
export XLFUNIT_22="cmce_akdmomodel_sq.$cycle"
export XLFUNIT_26="$PARMekd/ekd_akmos.lst"
export XLFUNIT_27="$PARMekd/ekd_akmos.tbl"
export XLFUNIT_28="$PARMekd/ekd_gfsdmoakprd_naefs.$cycle"
export XLFUNIT_29="$FIXekd/ekd_mos2000id.tbl"
export XLFUNIT_35="naefs_akdmomodel_sq.$cycle"
export XLFUNIT_42="naefs_akdmomodel_ra.$cycle"
startmsg
$EXECekd/ekd_gridpost < $PARMekd/ekd_akgridpost_naefs.cn  >> $pgmout
export err=$?;err_chk

echo EKDLOG: `date` -  GRIDPOST ended
#######################################################################
# PROGRAM GRD2GRD - ORIENT THE GRID FOR ALASKA INSTEAD OF THE CONUS   
#         (U365)
#######################################################################
cp $FIX2ekd/mdl_rafile_template gefs_akgekddmo.$cycle

echo EKDLOG: `date` - begin job GRD2GRD - INTERPOLATE TO NDFD GRID

export pgm=ekd_grd2grd
. prep_step
startmsg
export XLFUNIT_10="ncepdate"
export XLFUNIT_25="naefs_akdmomodel_sq.$cycle"
export XLFUNIT_28="$FIXekd/ekd_mos2000id.tbl"
export XLFUNIT_27="$PARMekd/ekd_grd2grd_dmo.$cycle"     
export XLFUNIT_80="naefs_akgekddmo_sq.$cycle"
$EXECekd/ekd_grd2grd < $PARMekd/ekd_grd2grd_dmo.cn >> $pgmout 2>errfile
export err=$?; err_chk
if test "$SENDCOM" = 'YES'
then
   cp naefs_akgekddmo_sq.$cycle $COMOUT
fi
echo MDLLOG: `date` - GRD2GRD ended
#
echo EKDLOG: `date` - Job ekd_akprep has ended.
#######################################################################
