#!/usr/bin/env bash
########################################################################
#
#  JOB NAME:  JLMP_POP_MELDFCST
#
#  HISTORY:   SEP 17 2018             SHAFER      CREATED
#             SEP 08 2021 lamp.v2.4.0 SAMPLATSKY  MODIFIED FOR WCOSS2 UPDATES
#
########################################################################

########################################################################
# SET SHELL PROCESSING VARIABLES
########################################################################

date
export PS4=' $SECONDS + '
set -x

########################################################################
# OBTAIN UNIQUE PROCESS ID (PID) AND CREATE TEMP DIRECTORY
########################################################################
export DATA=${DATA:-${DATAROOT:?}/${jobid:?}}

mkdir -p $DATA
cd $DATA

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

########################################################################
# SPECIFY NET AND MODEL VARIABLES
########################################################################
export NET=${NET:-lmp}
export RUN=${RUN:-lmp}

########################################################################
# DETERMINE JOB OUTPUT NAME (USED IN $DATA WHILE JOB IS
# RUNNING)
########################################################################
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 DIRECTORIES WHERE JOB-RELATED FILES RESIDE
########################################################################
export USHlmp=${USHlmp:-${HOMElmp}/ush}
export EXEClmp=${EXEClmp:-${HOMElmp}/exec}
export FIXlmp=${FIXlmp:-${HOMElmp}/fix}
export PARMlmp=${PARMlmp:-${HOMElmp}/parm}
export SCRlmp=${SCRlmp:-${HOMElmp}/scripts}
export EXEClamp_shared=${EXEClamp_shared:-${HOMElamp_shared}/exec}

########################################################################
# DEFINE COMIN/COMOUT DIRECTORIES, CREATE COMOUT IF
# DIRECTORY DOES NOT EXIST
########################################################################
export PDY=$PDY
setpdy.sh
. ./PDY

export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${lmp_ver})/${RUN}.${PDY}}
mkdir -p ${COMOUT} 

env

########################################################################
# DEFINE THE SEASON
########################################################################

MMDD=`printf ${PDY} | cut -c5-8`

num0=`echo $MMDD | cut -c 1`
if [[ $num0 -eq 0 ]]; then
   MMDD=`echo $MMDD | cut -c 2-4`
else
   MMDD=$MMDD
fi

if [[ ${MMDD} -ge 401 && ${MMDD} -le 930 ]]; then
  export SEASON=04010930
else
  export SEASON=10010331
fi

########################################################################
# SET DATE AND TIME VARIABLES.  
########################################################################
export DAT=${DAT:-${PDY}${HOUR}}

case ${HOUR} in
  00 | 12 ) export offset_ecm=12;;
  01 | 13 ) export offset_ecm=13;;
  02 | 14 ) export offset_ecm=14;;
  03 | 15 ) export offset_ecm=15;;
  04 | 16 ) export offset_ecm=16;;
  05 | 17 ) export offset_ecm=17;;
  06 | 18 ) export offset_ecm=18;;
  07 | 19 ) export offset_ecm=07;;
  08 | 20 ) export offset_ecm=08;;
  09 | 21 ) export offset_ecm=09;;
  10 | 22 ) export offset_ecm=10;;
  11 | 23 ) export offset_ecm=11;;
esac

export offset_hrrr=01

export MOSDATecm=`$NDATE -${offset_ecm} ${DAT}`
export MOSDAThrrr=`$NDATE -${offset_hrrr} ${DAT}`

########################################################################
# SET UP DIRECTORY PATHS DEPENDENT ON DATE VARIABLES
########################################################################

export COMIN=${COMIN:-$(compath.py ${envir}/com/${NET}/${lmp_ver})/${RUN}.${PDY}}

########################################################################
# EXECUTE THE SCRIPT
########################################################################

for pb in p b
do
  echo "${SCRlmp}/exlmp_pop_meldfcst.sh $pb" >> $DATA/mpmdscript
done

chmod 755 $DATA/mpmdscript
export MP_PGMMODEL=mpmd
export MP_LABELIO=YES

mpiexec --configfile $DATA/mpmdscript
export err=$?; err_chk

cat ${DATA}/prim/${pgmout}
cat ${DATA}/bkup/${pgmout}

########################################################################
# WIPE OUT $DATA
########################################################################

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

date