#!/bin/sh -l

set -x

# Home directory of the regional_workflow package

HOMEhiresw=/gpfs/hps3/emc/meso/noscrub/${USER}/hiresw.v8.0.5

module load xt-lsfhpc/9.1.3
module load NetCDF-intel-haswell/4.2
module use -a /usrx/local/emc_rocoto/modulefiles
module load rocoto/1.2.4
module load prod_util/1.1.2

# if want a non-CONUS domain, export DOMAIN here

doms="hi himem2 conus conusmem2" 

for DOMAIN in $doms
do

export DOMAIN

cd ${HOMEhiresw}/rocoto_arw

source ./config.workflow.defaults

export machine=wcoss_cray

SITE_FILE="sites/${machine}.ent"
CPU_ACCOUNT=HREF-T2O

# Experiment name
EXPT=merge

export RUN_ENVIR=dev
export NWROOT=nwprod

# First, last, and interval of the workflow cycles
CYCLE_YMDH_BEG="2019083000"
CYCLE_YMDH_END="2021122800"
CYCLE_INT_HH="12"

GET_INPUT=NO
COMINgfsbase=`compath.py gfs/prod`
COMINrapbase=`compath.py rap/prod`
COMINnambase=`compath.py nam/prod`

echo COMINrapbase is $COMINrapbase

DATAROOT=/gpfs/hps2/stmp/${USER}/tmpnwprd_newarw
MYCOMROOT=/gpfs/hps2/ptmp/${USER}/com_newarw


if [ ! -e ${MYCOMROOT} ] ; then
  mkdir -p $MYCOMROOT
fi

if [ ! -e ${DATAROOT} ] ; then
  mkdir -p $DATAROOT
fi

# The workflow files of the experiment
expxml=${EXPT}_${DOMAIN}.xml
expdb=${EXPT}_${DOMAIN}.db

# template=regional_workflow.xml.in

if [ $DOMAIN = "conus" ]
then
 template=regional_workflow.xml.in_rapic
# echo defined template as $template
# pwd
else
 template=regional_workflow.xml.in
 echo template is $template
fi

# Generate the workflow definition file by parsing regional_workflow.xml.in
sed -e "s|@\[EXPT.*\]|${EXPT}|g" \
    -e "s|@\[GTYPE.*\]|${GTYPE}|g" \
    -e "s|@\[DOMAIN.*\]|${DOMAIN}|g" \
    -e "s|@\[CYCLE_YMDH_BEG.*\]|${CYCLE_YMDH_BEG}|g" \
    -e "s|@\[CYCLE_YMDH_END.*\]|${CYCLE_YMDH_END}|g" \
    -e "s|@\[CYCLE_INT_HH.*\]|${CYCLE_INT_HH}|g" \
    -e "s|@\[USER.*\]|${USER}|g" \
    -e "s|@\[CPU_ACCOUNT.*\]|${CPU_ACCOUNT}|g" \
    -e "s|@\[SITE_FILE.*\]|${SITE_FILE}|g" \
    -e "s|@\[HOMEhiresw.*\]|${HOMEhiresw}|g" \
    -e "s|@\[MYCOMROOT.*\]|${MYCOMROOT}|g" \
    -e "s|@\[DATAROOT.*\]|${DATAROOT}|g" \
    -e "s|@\[MAKE_GRID_OROG.*\]|${MAKE_GRID_OROG}|g" \
    -e "s|@\[MAKE_SFC_CLIMO.*\]|${MAKE_SFC_CLIMO}|g" \
    -e "s|@\[GET_INPUT.*\]|${GET_INPUT}|g" \
    -e "s|@\[COMINgfsbase.*\]|${COMINgfsbase}|g" \
    -e "s|@\[COMINrapbase.*\]|${COMINrapbase}|g" \
    -e "s|@\[COMINnambase.*\]|${COMINnambase}|g" \
    $template \
    > ${expxml}

# Run the workflow for the experiment
rocotorun -v 10 -w ${expxml} -d ${expdb}

echo 'job done'

sleep 2

done