#!/usr/bin/env bash
###########################################################
#
#  JOB NAME:  JLMP_POP_PRDGEN
#
#  HISTORY:   SEP 24 2018             SHAFER      CREATED
#             (ADAPTED FROM JLMP_1HCNVLTG_PRDGEN)
#             SEP 08 2021 lamp.v2.4.0 SAMPLATSKY  MODIFIED FOR WCOSS2 UPDATES
#
###########################################################

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

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

export MIN=30           # should always be 30 for pop

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

mkdir -p $DATA
cd $DATA

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

###########################################################
# 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}

###########################################################
# RUN SETPDY TO INITIALIZE PDY (DATE AND HOUR) VARIABLES,
# AND SET OTHER DATE/TIME VARIABLES
###########################################################
export PDY=$PDY
setpdy.sh
. ./PDY

export DAT=${DAT:-${PDY}${HOUR}}

###########################################################
# DEFINE COMIN/COMOUT DIRECTORIES, CREATE COMOUT IF
# DIRECTORY DOES NOT EXIST
###########################################################

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

mkdir -m 775 -p ${COMOUT} 

env

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

for pb in p b
do
  echo "${SCRlmp}/exlmp_pop_prdgen.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