#!/bin/bash

##### 08/25/1999 ###################
# SET SHELL PROCESSING VARIABLES
####################################
set -x
export PS4=' $SECONDS + '
date

####################################
# Make temp directory
####################################
export DATA=${DATA:-${DATAROOT:?}/${jobid:?}}

mkdir -p $DATA
cd $DATA

export HOUR=$cyc
export cycle=t${cyc}z

####################################
# Specify NET and RUN Name
####################################
export NET=glmp
export RUN=glmp

####################################
# Determine Diagnostic Output Name on System
####################################
export pgmout="OUTPUT.$$"

####################################
# Specify Execution Areas
####################################
export EXECglmp=${EXECglmp:-$HOMEglmp/exec}
export FIXglmp=${FIXglmp:-$HOMEglmp/fix}
export PARMglmp=${PARMglmp:-$HOMEglmp/parm}
export USHglmp=${USHglmp:-$HOMEglmp/ush}

##############################
# Run setpdy and initialize PDY variables
##############################
setpdy.sh
. ./PDY

##############################
# Setting date variables
##############################
export DAT="$PDY$HOUR"
export DATm1d=`$NDATE -24 $DAT`
export PDYm1d=`printf $DATm1d | cut -c 1-8`
export DATp1d=`$NDATE +24 $DAT`
export PDYp1d=`printf $DATp1d | cut -c 1-8`

export DATm1=`$NDATE -1 $DAT`
export PDYm1h=`echo $DATm1 | cut -c1-8`
export HOURm1=`printf $DATm1 | cut -c 9-`

##############################################
# Define COM directories
##############################################
export COMIN=${COMIN:-$(compath.py ${envir}/com/${NET}/${glmp_ver})/${RUN}.${PDY}}
export COMINm1h=${COMINm1h:-$(compath.py ${envir}/com/${NET}/${glmp_ver})/${RUN}.${PDYm1h}}
export COMINlmp=${COMINlmp:-$(compath.py ${envir}/com/lmp/${lmp_ver})/lmp.${PDY}}
export COMINlmpm1h=${COMINlmpm1h:-$(compath.py ${envir}/com/lmp/${lmp_ver})/lmp.${PDYm1h}}
export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${glmp_ver})/${RUN}.${PDY}}
mkdir -m 775 -p $COMOUT

#######################################################################
#      MOS FORECAST FILES WILL BE NAMED TO DISTINGUISH BETWEEN
#      RUNS FROM THE CURRENT AND PREVIOUS DAYS.  THIS WILL ONLY
#      BE A FACTOR FOR CYCLES THAT USE 12Z MOS FROM THE PREVIOUS DAY
#      (I.E., 00 - 03 UTC).  THOSE THAT REQUIRE THE PREVIOUS DAY'S 
#      MOS WILL BE LABELED WITH 'm1'.
#
#
#      GMOSFIL   = MOS MERGED METAR MARINE MESONET FORECASTS          
#      GFSUAFIL = GFS 47KM MODEL DATA FOR UPPER AIR INFO
#      ONLY 00Z and 12Z CYCLES USED
#######################################################################
case $cyc in
   06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 )
      export gfscyc="00"
      export GMOSFIL=glmp_gfsmergesta.t${gfscyc}z
      export GMOSGSTFIL=mdl_gfsmossq.t${gfscyc}z
      export GFSUAFIL=mdl_gfspkd47.t${gfscyc}z
      export GFSTdUAFIL=glmp_gfspkd47_Td.t${gfscyc}z
      export COMINgfsmos=${COMINgfsmos:-$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDY)};;
   18 | 19 | 20 | 21 | 22 | 23 )
      export gfscyc="12"
      export GMOSFIL=glmp_gfsmergesta.t${gfscyc}z
      export GMOSGSTFIL=mdl_gfsmossq.t${gfscyc}z
      export GFSUAFIL=mdl_gfspkd47.t${gfscyc}z
      export GFSTdUAFIL=glmp_gfspkd47_Td.t${gfscyc}z
      export COMINgfsmos=${COMINgfsmos:-$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDY)};;
   00 | 01 | 02 | 03 | 04 | 05 )
      export gfscyc="12"
      export GMOSFIL=glmp_gfsmergesta.t${gfscyc}zm1
      export GMOSGSTFIL=mdl_gfsmossq.t${gfscyc}zm1
      export GFSUAFIL=mdl_gfspkd47.t${gfscyc}zm1
      export GFSTdUAFIL=glmp_gfspkd47_Td.t${gfscyc}zm1
      export COMINgfsmos=${COMINgfsmos_m1:-$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDYm1)};;
esac

##################################################################
# *****NOTE TO SPAS******
# This variable is needed by the script to determine which element
# to run for.  The script running for tdp can run when JGLMP_PREP
# has successfully completed.  The scripts running for cig and vis
# can run as soon as operational job JLMP_PRDGEN has successfully
# completed.
##################################################################
# Three possible elm arguments: tdp, cig, and vis
export elm=$ELEMENT
export MIN=$MIN

env

#############################################################
# execute the script
export OMP_PROC_BIND=true
$HOMEglmp/scripts/exglmp_fcst_granalysis.sh
#############################################################

if [[ "${elm}" == "cigp" || "${elm}" == "visp" ]]; then
  for prj in `seq -w 01 38`; do
    if [ -f $DATA/$prj/$pgmout ]; then cat $DATA/$prj/$pgmout; fi
  done
elif [[ "${elm}" == "sky" || "${elm}" == "skyp" ]]; then
  for prj in `seq -w 01 38`; do
    if [ -f $DATA/$prj/$pgmout ]; then cat $DATA/$prj/$pgmout; fi
  done
else
  if [ -f $DATA/$pgmout ]; then cat $DATA/$pgmout; fi
fi

if [ "${KEEPDATA^^}" != "YES" ]; then
   rm -rf $DATA
fi

date