#!/usr/bin/env bash
###########################################################
#
#  JOB NAME:  JLMP_PREP
#
#  HISTORY:   JAN 09 2014 lamp.v1.1.0 GHIRARDELLI MODIFIED FOR HANDOFF       
#             AUG 30 2016 lamp.v1.1.6 GHIRARDELLI MODIFIED FOR MRMS USE
#             SEP 07 2016 lamp.v1.1.6 GHIRARDELLI MODIFIED TO REMOVE mdl_parm
#                                                 USE 
#             JUN 27 2017 lmp.v2.1.0  GHIRARDELLI ADDED export MIN
#             SEP 08 2021 lamp.v2.4.0 SAMPLATSKY  MODIFIED FOR WCOSS2 UPDATES
#
###########################################################

set -x
# #### 05/15/00 ###############################
# SETUP LAMP MODEL PREP PROCESSING VARIABLES
# #############################################
export PS4=' $SECONDS + '
date

export MIN      # 00, 15, 30, or 45

####################################
# Specify NET Name and RUN
#
####################################
export NET=${NET:-lmp}
export RUN=${RUN:-lmp}

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

export cycle=t${cyc}z

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

####################################
# SENDECF  - Flag Events on ECF
# SENDCOM  - Copy Files From TMPDIR to $com
# SENDDBN  - Send files to OSO
####################################
export SENDECF=${SENDECF:-YES}
export SENDCOM=${SENDCOM:-YES}
export SENDDBN=${SENDDBN:-YES}

####################################
# Specify Execution Areas
####################################
export SCRlmp=${SCRlmp:-${HOMElmp}/scripts}
export USHlmp=${USHlmp:-${HOMElmp}/ush}
export EXEClmp=${EXEClmp:-${HOMElmp}/exec}
export FIXlmp=${FIXlmp:-${HOMElmp}/fix}
export PARMlmp=${PARMlmp:-${HOMElmp}/parm}
export EXEClamp_shared=${EXEClamp_shared:-${HOMElamp_shared}/exec}

export BACK=off  #XXW Turn off background process in dumpjb

##############################
# Run setpdy and initialize PDY variables
##############################
export PDY=$PDY
setpdy.sh
. ./PDY

##########################################
# SET VARIOUS DATETIME PARAMETERS
##########################################
export HOUR=$cyc
export DAT="$PDY$HOUR"
export DATm1=`$NDATE -1 $DAT`
export DATm2=`$NDATE -2 $DAT`
export DATm3=`$NDATE -3 $DAT`
export HOURm1=`printf $DATm1 | cut -c 9-`
export HOURm2=`printf $DATm2 | cut -c 9-`
export HOURm3=`printf $DATm3 | cut -c 9-`
export PDYm1h=`echo $DATm1 | cut -c1-8`
export PDYm2h=`echo $DATm2 | cut -c1-8`
export PDYm3h=`echo $DATm3 | cut -c1-8`

##############################################
# Define COM directories
##############################################

export DCOM=${DCOM:-${DCOMROOT:?}}
export COMIN=${COMIN:-$(compath.py ${envir}/com/${NET}/${lmp_ver})/${RUN}.${PDY}}
export COMINm1h=${COMINm1h:-$(compath.py ${envir}/com/${NET}/${lmp_ver})/${RUN}.${PDYm1h}}
export COMINm2h=${COMINm2h:-$(compath.py ${envir}/com/${NET}/${lmp_ver})/${RUN}.${PDYm2h}}
export COMINm3h=${COMINm3h:-$(compath.py ${envir}/com/${NET}/${lmp_ver})/${RUN}.${PDYm3h}}
export COMINrap=${COMINrap:-$(compath.py ${envir}/com/rap/${rap_ver})}
export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${lmp_ver})/${RUN}.${PDY}}

export COMINmrms=${COMINmrms:-${DCOMROOT:?}/ldmdata/obs/upperair/mrms/conus/MergedReflectivityQCComposite}

mkdir -m 775 -p $COMOUT

env

##############################################
# Determine appropriate GFS MOS cycle and set 
# COMINgfsmos variables. 
##############################################
ENVIRgfsmos=${ENVIRgfsmos:-prod}
case $cyc in
   04 | 05 | 06 | 07 | 08 | 09 )
      export gfscyc="00"
      export gfscyc_m1cyc="18"
      export COMINgfsmos=$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDY)
      export COMINgfsmosm1=$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDYm1);;
   10 | 11 | 12 | 13 | 14 | 15 )
      export gfscyc="06"
      export gfscyc_m1cyc="00"
      export COMINgfsmos=$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDY);;
   16 | 17 | 18 | 19 | 20 | 21 )
      export gfscyc="12"
      export gfscyc_m1cyc="06"
      export COMINgfsmos=$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDY);;
   22 | 23 )
      export gfscyc="18"
      export gfscyc_m1cyc="12"
      export COMINgfsmos=$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDY);;
   00 | 01 | 02 | 03 )
      export gfscyc="18"
      export gfscyc_m1cyc="12"
      export COMINgfsmos=$(compath.py ${envir}/com/gfs_mos/${gfs_mos_ver}/gfs_mos.$PDYm1);;
esac

#############################################################
# execute the script
$SCRlmp/exlmp_prep.sh
export err=$?; err_chk
#############################################################

cat $pgmout

cd $DATAROOT

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

date