#!/bin/sh

########################################
# Runs HIRESW WRFBUFR and SNDP programs
########################################
set -xa
export PS4='$SECONDS + '
date

#####################################
# Working directories
#####################################

export DATA=${DATA:-${DATAROOT:?}/hiresw.bufrpost_${NEST:?}_${MODEL:?}_${cyc:?}_${envir:?}}
export INPUT_DATA=${INPUT_DATA:-${DATAROOT:?}/hiresw.forecast_${NEST}_${MODEL}_${cyc}_${envir}}

jname=$(echo $ECF_NAME  | awk -F/ '{print $NF}')
mkdir -p $DATA/setpdy.$jname
cd $DATA/setpdy.$jname

####################################
# Run setpdy and initialize PDY variables
####################################

export cycle=${cycle:-t${cyc}z}
setpdy.sh
. ./PDY

cd $DATA

####################################
# SENDCOM - Copy files to /com directory
####################################
export SENDCOM=${SENDCOM:-YES}

####################################
# Specify Execution Areas
####################################
export HOMEobsproc_shared_bufr_cword=${HOMEobsproc_shared_bufr_cword:-${PACKAGEROOT:?}/obsproc_shared/bufr_cword.${obsproc_shared_bufr_cword_ver:?}}
export USHobsproc_shared_bufr_cword=${USHobsproc_shared_bufr_cword:-$HOMEobsproc_shared_bufr_cword/ush}
export EXECobsproc_shared_bufr_cword=${EXECobsproc_shared_bufr_cword:-$HOMEobsproc_shared_bufr_cword/exec}

if [ $MODEL = 'arw' ]
then
export HOMEhiresw=${HOMEhiresw:-${PACKAGEROOT:?}/hiresw.${hiresw_ver:?}}
export EXEChiresw=${EXEChiresw:-$HOMEhiresw/exec/arw}
export FIXhiresw=${FIXhiresw:-$HOMEhiresw/fix/arw}
export PARMhiresw=${PARMhiresw:-$HOMEhiresw/parm/arw}
export USHhiresw=${USHhiresw:-$HOMEhiresw/ush/arw}
export GEMPAKhiresw=${GEMPAKhiresw:-$HOMEhiresw/gempak}

else
export HOMEfv3=${HOMEfv3:-${PACKAGEROOT:?}/hiresw.${hiresw_ver:?}}
export EXECfv3=${EXECfv3:-$HOMEfv3/exec/fv3}
export FIXfv3=${FIXfv3:-$HOMEfv3/fix/fv3}
export PARMfv3=${PARMfv3:-$HOMEfv3/parm/fv3}
export USHfv3=${USHfv3:-$HOMEfv3/ush/fv3}
export FIXsar=${FIXsar:-$HOMEfv3/fix/fv3/fix_sar/$NEST}
export POSTGPEXEC=${EXECfv3}/hireswfv3_bufr
export GEMPAKhiresw=${GEMPAKhiresw:-$HOMEfv3/gempak}

. $PARMfv3/run_commands_forecast.config
fi

###############################
# Specify NET and RUN name
###############################
export NET=${NET:-hiresw}
export RUN=${RUN:-hiresw}

#####################################
# Define COM directories
#####################################
#####################################
export COMIN=${COMIN:-$(compath.py ${envir}/$NET/${hiresw_ver})/${RUN}.${PDY}}
export COMOUT=${COMOUT:-$(compath.py -o $NET/${hiresw_ver})/${RUN}.${PDY}}
mkdir -p $COMOUT

export pgmout="OUTPUT.$$"
export pgmerr=errfile

export DBN_ALERT_TYPE=${DBN_ALERT_TYPE:-HIRESW_BUFR}
#####################################
# wcoss environment settings
#####################################
export OMP_NUM_THREADS=1

env

#####################################
# Execute the script.

if [ $MODEL = 'fv3' ]
then
${HOMEfv3}/scripts/fv3/exhiresw_bufr.sh
else
${HOMEhiresw}/scripts/arw/exhiresw_wrfbufr.sh
fi

export err=$?
#####################################

if [ -e $pgmerr ] ; then
cat $pgmerr
fi

if [ -e $pgmout ] ; then
cat $pgmout
fi

exit $err