diff --git a/env/HERA.env b/env/HERA.env
index b3049c4032..0b46505554 100755
--- a/env/HERA.env
+++ b/env/HERA.env
@@ -33,10 +33,6 @@ export NTHSTACK=1024000000
ulimit -s unlimited
ulimit -a
-export job=${PBS_JOBNAME:-${step}}
-export jobid=${job}.${PBS_JOBID:-$$}
-
-
if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
nth_max=$((npe_node_max / npe_node_prep))
diff --git a/env/JET.env b/env/JET.env
index 19ab4b341a..c04535dad7 100755
--- a/env/JET.env
+++ b/env/JET.env
@@ -29,9 +29,6 @@ export NTHSTACK=1024000000
ulimit -s unlimited
ulimit -a
-export job=${PBS_JOBNAME:-${step}}
-export jobid=${job}.${PBS_JOBID:-$$}
-
if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
nth_max=$((npe_node_max / npe_node_prep))
diff --git a/env/ORION.env b/env/ORION.env
index 2ccbe271da..46c7eb31a6 100755
--- a/env/ORION.env
+++ b/env/ORION.env
@@ -33,9 +33,6 @@ export NTHSTACK=1024000000
ulimit -s unlimited
ulimit -a
-export job=${PBS_JOBNAME:-${step}}
-export jobid=${job}.${PBS_JOBID:-$$}
-
if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
nth_max=$((npe_node_max / npe_node_prep))
diff --git a/env/S4.env b/env/S4.env
index 125e98b0da..a4a156dd19 100755
--- a/env/S4.env
+++ b/env/S4.env
@@ -1,4 +1,4 @@
-#!/bin/bash -x
+#!/usr/bin/env bash
if [[ $# -ne 1 ]]; then
@@ -30,10 +30,6 @@ export NTHSTACK=1024000000
ulimit -s unlimited
ulimit -a
-export job=${PBS_JOBNAME:-${step}}
-export jobid=${job}.${PBS_JOBID:-$$}
-
-
if [[ ${step} = "prep" || ${step} = "prepbufr" ]]; then
npe_node_prep=${npe_node_prep:-${npe_node_max}}
diff --git a/env/WCOSS2.env b/env/WCOSS2.env
index 079ed6bcfe..a6dfa462ef 100755
--- a/env/WCOSS2.env
+++ b/env/WCOSS2.env
@@ -21,9 +21,6 @@ export mpmd_opt="--cpu-bind verbose,core cfp"
export npe_node_max=128
-export job=${PBS_JOBNAME:-${step}}
-export jobid=${job}.${PBS_JOBID:-$$}
-
if [[ "${step}" = "prep" ]] || [[ "${step}" = "prepbufr" ]]; then
nth_max=$((npe_node_max / npe_node_prep))
diff --git a/jobs/JENKFGDAS_ARCHIVE b/jobs/JENKFGDAS_ARCHIVE
index cf38ede54f..305dbe005b 100755
--- a/jobs/JENKFGDAS_ARCHIVE
+++ b/jobs/JENKFGDAS_ARCHIVE
@@ -7,9 +7,8 @@ source "${HOMEgfs}/ush/preamble.sh"
#############################
export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base earc"
-config_path=${EXPDIR:-${PACKAGEROOT}/gfs.${gfs_ver}/parm/config}
for config in ${configs}; do
- . "${config_path}"/config."${config}"
+ . "${EXPDIR}"/config."${config}"
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
done
@@ -17,7 +16,7 @@ done
##########################################
# Source machine runtime environment
##########################################
-. "${HOMEgfs}"/env/"${machine}".env earc
+. ${HOMEgfs}/env/${machine}.env earc
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
@@ -50,13 +49,13 @@ export pgmerr=errfile
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
###############################################################
# Run archive script
###############################################################
-"${SCRgfs}"/exgdas_enkf_earc.sh
+${SCRgfs}/exgdas_enkf_earc.sh
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
diff --git a/jobs/JGDAS_ATMOS_ANALYSIS_DIAG b/jobs/JGDAS_ATMOS_ANALYSIS_DIAG
index 9dfff86867..11fc1553c2 100755
--- a/jobs/JGDAS_ATMOS_ANALYSIS_DIAG
+++ b/jobs/JGDAS_ATMOS_ANALYSIS_DIAG
@@ -1,39 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base anal analdiag"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env anal
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -47,62 +21,83 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base anal analdiag"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env anal
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
-export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}
+export COMPONENT="atmos"
+export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}
##############################################
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
+ export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
fi
-mkdir -m 775 -p $COMOUT
+mkdir -m 775 -p ${COMOUT}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}"
-export ATMGES="$COMIN_GES/${GPREFIX}atmf006${GSUFFIX}"
-if [ ! -f $ATMGES ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES = $ATMGES"
+export ATMGES="${COMIN_GES}/${GPREFIX}atmf006${GSUFFIX}"
+if [ ! -f ${ATMGES} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES = ${ATMGES}"
exit 1
fi
-if [ $DOHYBVAR = "YES" ]; then
- export ATMGES_ENSMEAN="$COMIN_GES_ENS/${GPREFIX}atmf006.ensmean$GSUFFIX"
- if [ ! -f $ATMGES_ENSMEAN ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = $ATMGES_ENSMEAN"
+if [ ${DOHYBVAR} = "YES" ]; then
+ export ATMGES_ENSMEAN="${COMIN_GES_ENS}/${GPREFIX}atmf006.ensmean${GSUFFIX}"
+ if [ ! -f ${ATMGES_ENSMEAN} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = ${ATMGES_ENSMEAN}"
exit 2
fi
fi
@@ -110,9 +105,9 @@ fi
###############################################################
# Run relevant script
-${ANALDIAGSH:-$SCRgfs/exglobal_diag.sh}
+${ANALDIAGSH:-${SCRgfs}/exglobal_diag.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -122,15 +117,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_ATMOS_CHGRES_FORENKF b/jobs/JGDAS_ATMOS_CHGRES_FORENKF
index d8ff0686d0..f3848e544d 100755
--- a/jobs/JGDAS_ATMOS_CHGRES_FORENKF
+++ b/jobs/JGDAS_ATMOS_CHGRES_FORENKF
@@ -1,39 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base anal echgres"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env anal
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -47,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base anal echgres"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env anal
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}
@@ -64,40 +59,40 @@ export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMOUT_ENS=${COMOUT_ENS:-$ROTDIR/enkfgdas.$PDY/$cyc/$COMPONENT}
- export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMOUT_ENS=${COMOUT_ENS:-${ROTDIR}/enkfgdas.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMOUT_ENS="$ROTDIR/enkfgdas.$PDY/$cyc/$COMPONENT"
- export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
+ export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMOUT_ENS="${ROTDIR}/enkfgdas.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
fi
-mkdir -m 775 -p $COMOUT
+mkdir -m 775 -p ${COMOUT}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}"
###############################################################
# Run relevant script
-${CHGRESFCSTSH:-$SCRgfs/exgdas_atmos_chgres_forenkf.sh}
+${CHGRESFCSTSH:-${SCRgfs}/exgdas_atmos_chgres_forenkf.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -107,15 +102,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_ATMOS_GEMPAK b/jobs/JGDAS_ATMOS_GEMPAK
index 2655b34069..b674bd7ec7 100755
--- a/jobs/JGDAS_ATMOS_GEMPAK
+++ b/jobs/JGDAS_ATMOS_GEMPAK
@@ -1,53 +1,53 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-############################################
-# GDAS GEMPAK PRODUCT GENERATION
-############################################
-configs="base gempak"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-for config in $configs; do
- . $EXPDIR/config.${config}
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-###############################################################
-. $BASE_ENV/${machine}.env gempak
-status=$?
-[[ $status -ne 0 ]] && exit $status
+source "${HOMEgfs}/ush/preamble.sh"
##########################################################
-# obtain unique process id (pid) and make temp directory
+# make temp directory
##########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
-
-######################################
-# Set up the cycle variable
-######################################
-export cycle=${cycle:-t${cyc}z}
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
###########################################
# Run setpdy and initialize PDY variables
###########################################
+export cycle="t${cyc}z"
setpdy.sh
. ./PDY
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
+
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base gempak"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+###############################################################
+. ${BASE_ENV}/${machine}.env gempak
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
################################
# Set up the HOME directory
################################
-export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo}
-export PARMproduct=${PARMproduct:-$HOMEgfs/parm/product}
-export FIXgempak=${FIXgempak:-$HOMEgfs/gempak/fix}
-export USHgempak=${USHgempak:-$HOMEgfs/gempak/ush}
-export SRCgfs=${SRCgfs:-$HOMEgfs/scripts}
-export UTILgfs=${UTILgfs:-$HOMEgfs/util}
+export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} # TODO: remove these as they are already defined in config.base
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
+export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
+export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix}
+export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
+export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
+export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
############################################
# Set up model and cycle specific variables
@@ -70,64 +70,63 @@ export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
export NET=${NET:-gfs}
export RUN=${RUN:-gdas}
export model=${model:-gdas}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}/gempak}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT}
fi
-export pgmout=OUTPUT.$$
-
-if [ -f $DATA/poescrip ]; then
- rm $DATA/poescript
+# TODO: These actions belong in an ex-script not a j-job
+if [ -f ${DATA}/poescript ]; then
+ rm ${DATA}/poescript
fi
########################################################
# Execute the script.
-echo "$SRCgfs/exgdas_atmos_nawips.sh gdas 009 GDAS_GEMPAK " >> poescript
+echo "${SRCgfs}/exgdas_atmos_nawips.sh gdas 009 GDAS_GEMPAK " >> poescript
########################################################
########################################################
# Execute the script for quater-degree grib
-echo "$SRCgfs/exgdas_atmos_nawips.sh gdas_0p25 009 GDAS_GEMPAK " >>poescript
+echo "${SRCgfs}/exgdas_atmos_nawips.sh gdas_0p25 009 GDAS_GEMPAK " >>poescript
########################################################
cat poescript
-chmod 775 $DATA/poescript
+chmod 775 ${DATA}/poescript
export MP_PGMMODEL=mpmd
-export MP_CMDFILE=$DATA/poescript
+export MP_CMDFILE=${DATA}/poescript
-ntasks=${NTASKS_GEMPAK:-$(cat $DATA/poescript | wc -l)}
+ntasks=${NTASKS_GEMPAK:-$(cat ${DATA}/poescript | wc -l)}
ptile=${PTILE_GEMPAK:-4}
threads=${NTHREADS_GEMPAK:-1}
-export OMP_NUM_THREADS=$threads
-APRUN="mpiexec -l -np $ntasks --cpu-bind verbose,core cfp"
+export OMP_NUM_THREADS=${threads}
+APRUN="mpiexec -l -np ${ntasks} --cpu-bind verbose,core cfp"
-APRUN_GEMPAKCFP=${APRUN_GEMPAKCFP:-$APRUN}
-APRUNCFP=$(eval echo $APRUN_GEMPAKCFP)
+APRUN_GEMPAKCFP=${APRUN_GEMPAKCFP:-${APRUN}}
+APRUNCFP=$(eval echo ${APRUN_GEMPAKCFP})
-$APRUNCFP $DATA/poescript
+${APRUNCFP} ${DATA}/poescript
export err=$?; err_chk
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC
index 367f0a0c83..22e52ea9fb 100755
--- a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC
+++ b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC
@@ -1,54 +1,54 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
############################################
# GDAS GEMPAK META NCDC PRODUCT GENERATION
############################################
##########################################################
-# obtain unique process id (pid) and make temp directory
+# make temp directory
##########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
-
-######################################
-# Set up the cycle variable
-######################################
-export cycle=${cycle:-t${cyc}z}
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
###########################################
# Run setpdy and initialize PDY variables
###########################################
+export cycle="t${cyc}z"
setpdy.sh
. ./PDY
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
+
################################
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo}
-export PARMproduct=${PARMproduct:-$HOMEgfs/parm/product}
-export FIXgempak=${FIXgempak:-$HOMEgfs/gempak/fix}
-export USHgempak=${USHgempak:-$HOMEgfs/gempak/ush}
-export SRCgfs=${SRCgfs:-$HOMEgfs/scripts}
-export UTILgfs=${UTILgfs:-$HOMEgfs/util}
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
+export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
+export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix}
+export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
+export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
+export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
#
# Now set up GEMPAK/NTRANS environment
#
-cp $FIXgempak/datatype.tbl datatype.tbl
+cp ${FIXgempak}/datatype.tbl datatype.tbl
###################################
# Specify NET and RUN Name and model
####################################
export NET=${NET:-gfs}
export RUN=${RUN:-gdas}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
export MODEL=GDAS
export GRID_NAME=gdas
export fend=09
@@ -67,10 +67,10 @@ export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}/gempak}
export COMINgdas=${COMINgdas:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak/meta}
-export COMOUTncdc=${COMOUTncdc:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}/gempak/meta}
+export COMOUTncdc=${COMOUTncdc:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
export COMINukmet=${COMINukmet:-$(compath.py ${envir}/ukmet/${ukmet_ver})/ukmet}
export COMINecmwf=${COMINecmwf:-$(compath.py ${envir}/ecmwf/${ecmwf_ver})/ecmwf}
@@ -78,8 +78,8 @@ export COMINecmwf=${COMINecmwf:-$(compath.py ${envir}/ecmwf/${ecmwf_ver})/ecmwf}
export COMOUTukmet=${COMOUT}
export COMOUTecmwf=${COMOUT}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT $COMOUTncdc $COMOUTukmet $COMOUTecmwf
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT} ${COMOUTncdc} ${COMOUTukmet} ${COMOUTecmwf}
fi
export pgmout=OUTPUT.$$
@@ -87,10 +87,10 @@ export pgmout=OUTPUT.$$
########################################################
# Execute the script.
-$USHgempak/gdas_meta_na.sh
-$USHgempak/gdas_ecmwf_meta_ver.sh
-$USHgempak/gdas_meta_loop.sh
-$USHgempak/gdas_ukmet_meta_ver.sh
+${USHgempak}/gdas_meta_na.sh
+${USHgempak}/gdas_ecmwf_meta_ver.sh
+${USHgempak}/gdas_meta_loop.sh
+${USHgempak}/gdas_ukmet_meta_ver.sh
export err=$?; err_chk
########################################################
@@ -100,21 +100,21 @@ export err=$?; err_chk
########################################################
# Execute the script.
-$SRCgfs/exgdas_atmos_gempak_gif_ncdc.sh
+${SRCgfs}/exgdas_atmos_gempak_gif_ncdc.sh
export err=$?; err_chk
########################################################
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGDAS_ATMOS_GLDAS b/jobs/JGDAS_ATMOS_GLDAS
index 61e055a66d..996daf12de 100755
--- a/jobs/JGDAS_ATMOS_GLDAS
+++ b/jobs/JGDAS_ATMOS_GLDAS
@@ -2,18 +2,37 @@
source "${HOMEgfs:?}/ush/preamble.sh"
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
+##############################################
+# Obtain unique process id (pid) and make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p "${DATA}"
+cd "${DATA}" || exit 1
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
+
#############################
# Source relevant config files
#############################
export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base gldas"
-config_path=${EXPDIR:-${NWROOT}/gfs.${gfs_ver}/parm/config}
for config in ${configs}; do
- # shellcheck disable=SC1090-SC1091
- . "${config_path}/config.${config}"
- # shellcheck disable=
+ . ${EXPDIR}/config.${config}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
done
@@ -42,40 +61,12 @@ status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
-##############################################
-# Obtain unique process id (pid) and make temp directory
-##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL${job}"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p "${DATA}"
-cd "${DATA}" || exit 1
-
-
-##############################################
-# Run setpdy and initialize PDY variables
-##############################################
-export cycle="t${cyc}z"
-setpdy.sh
-# shellcheck disable=SC1091
-. ./PDY
-# shellcheck disable=
-
-
-##############################################
-# Determine Job Output Name on System
-##############################################
-export pgmout="OUTPUT.${pid}"
-export pgmerr=errfile
-
-
##############################################
# Set variables used in the exglobal script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
diff --git a/jobs/JGDAS_ATMOS_VERFOZN b/jobs/JGDAS_ATMOS_VERFOZN
index aa1454440d..6f68dcd74c 100755
--- a/jobs/JGDAS_ATMOS_VERFOZN
+++ b/jobs/JGDAS_ATMOS_VERFOZN
@@ -3,49 +3,54 @@
#############################################################
# Set up environment for GDAS Ozone Monitor job
#############################################################
-source "$HOMEgfs/ush/preamble.sh"
-
-###############################
-# Specify NET, RUN, and COMPONENT name
-##############################
-export NET=${NET:-gfs}
-export RUN=${RUN:-gdas}
-export COMPONENT=${COMPONENT:-atmos}
+source "${HOMEgfs}/ush/preamble.sh"
###########################################################
-# obtain unique process id (pid) and make temp directories
+# make temp directories
###########################################################
-export pid=$$
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-
-export OZNMON_SUFFIX=${OZNMON_SUFFIX:-${NET}}
-
+export DATA=${DATA:-${DATAROOT}/${jobid}}
mkdir -p ${DATA}
cd ${DATA}
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
####################################
# Determine Job Output Name on System
####################################
+export pid=$$
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
-export cycle=t${cyc}z
+###############################
+# Specify NET, RUN, and COMPONENT name
+##############################
+export NET=${NET:-gfs}
+export RUN=${RUN:-gdas}
+export COMPONENT="atmos"
+
+export OZNMON_SUFFIX=${OZNMON_SUFFIX:-${NET}}
+
#---------------------------------------------
# Specify Execution Areas
#
export HOMEgfs_ozn=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
export HOMEgdas_ozn=${HOMEgfs_ozn:-${NWROOT}/gfs.${gfs_ver}}
-export PARMgdas_ozn=${PARMgfs_ozn:-$HOMEgfs_ozn/parm/mon}
-export SCRgdas_ozn=${SCRgfs_ozn:-$HOMEgfs_ozn/scripts}
-export FIXgdas_ozn=${FIXgfs_ozn:-$HOMEgfs_ozn/fix/gdas}
+export PARMgdas_ozn=${PARMgfs_ozn:-${HOMEgfs_ozn}/parm/mon}
+export SCRgdas_ozn=${SCRgfs_ozn:-${HOMEgfs_ozn}/scripts}
+export FIXgdas_ozn=${FIXgfs_ozn:-${HOMEgfs_ozn}/fix/gdas}
export HOMEoznmon=${HOMEoznmon:-${HOMEgfs_ozn}}
-export EXECoznmon=${EXECoznmon:-$HOMEoznmon/exec}
+export EXECoznmon=${EXECoznmon:-${HOMEoznmon}/exec}
export FIXoznmon=${FIXoznmon:-${HOMEoznmon}/fix}
-export USHoznmon=${USHoznmon:-$HOMEoznmon/ush}
+export USHoznmon=${USHoznmon:-${HOMEoznmon}/ush}
#-----------------------------------
@@ -76,7 +81,7 @@ export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
if [[ ! -d ${TANKverf_ozn} ]]; then
mkdir -p -m 775 ${TANKverf_ozn}
fi
-
+
#---------------------------------------
# set up validation file
#
@@ -88,7 +93,7 @@ fi
# Set necessary environment variables
#
export OZN_AREA=${OZN_AREA:-glb}
-export oznstat=${oznstat:-$COMIN/gdas.t${cyc}z.oznstat}
+export oznstat=${oznstat:-${COMIN}/gdas.t${cyc}z.oznstat}
#-------------------------------------------------------
@@ -96,15 +101,16 @@ export oznstat=${oznstat:-$COMIN/gdas.t${cyc}z.oznstat}
#
${OZNMONSH:-${SCRgdas_ozn}/exgdas_atmos_verfozn.sh} ${PDY} ${cyc}
err=$?
-[[ $err -ne 0 ]] && exit $err
+[[ ${err} -ne 0 ]] && exit ${err}
################################
# Remove the Working Directory
################################
-KEEPDATA=${KEEPDATA:-YES}
-cd $DATAROOT
+KEEPDATA=${KEEPDATA:-NO}
+cd ${DATAROOT}
if [ ${KEEPDATA} = NO ] ; then
- rm -rf $DATA
+ rm -rf ${DATA}
fi
+exit 0
diff --git a/jobs/JGDAS_ATMOS_VERFRAD b/jobs/JGDAS_ATMOS_VERFRAD
index accf9f88f8..207c80415b 100755
--- a/jobs/JGDAS_ATMOS_VERFRAD
+++ b/jobs/JGDAS_ATMOS_VERFRAD
@@ -3,48 +3,60 @@
#############################################################
# Set up environment for GDAS Radiance Monitor job
#############################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+###########################################################
+# make temp directories
+###########################################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+####################################
+# Determine Job Output Name on System
+####################################
+export pid=$$
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
+
###############################
# Specify NET, RUN, and COMPONENT name
##############################
export NET=${NET:-gfs}
export RUN=${RUN:-gdas}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
-###########################################################
-# obtain unique process id (pid) and make temp directories
-###########################################################
-export pid=$$
-export outid=${outid:-"LL$job"}
-export RAD_DATA_IN=${RAD_DATA_IN:-${DATAROOT}/${jobid:?}}
+export RAD_DATA_IN=${DATA}
export RADMON_SUFFIX=${RADMON_SUFFIX:-${RUN}}
export CYCLE_INTERVAL=${CYCLE_INTERVAL:-6}
-mkdir -p $RAD_DATA_IN
-cd $RAD_DATA_IN
-
-####################################
-# Determine Job Output Name on System
-####################################
-export pgmout="OUTPUT.${pid}"
-export pgmerr=errfile
-export cycle=t${cyc}z
+mkdir -p ${RAD_DATA_IN}
+cd ${RAD_DATA_IN}
##############################################
# Specify Execution Areas
##############################################
export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
-export SCRgfs=${SCRgfs:-$HOMEgfs/scripts}
+export SCRgfs=${SCRgfs:-${HOMEgfs}/scripts}
-export FIXgdas=${FIXgdas:-$HOMEgfs/fix/gdas}
-export PARMmon=${PARMmon:-$HOMEgfs/parm/mon}
+export FIXgdas=${FIXgdas:-${HOMEgfs}/fix/gdas}
+export PARMmon=${PARMmon:-${HOMEgfs}/parm/mon}
export HOMEradmon=${HOMEradmon:-${HOMEgfs}}
-export EXECradmon=${EXECradmon:-$HOMEradmon/exec}
+export EXECradmon=${EXECradmon:-${HOMEradmon}/exec}
export FIXradmon=${FIXradmon:-${FIXgfs}}
-export USHradmon=${USHradmon:-$HOMEradmon/ush}
+export USHradmon=${USHradmon:-${HOMEradmon}/ush}
###################################
@@ -54,14 +66,6 @@ parm_file=${parm_file:-${PARMmon}/da_mon.parm}
. ${parm_file}
-#############################################
-# Run setpdy and initialize PDY variables
-#############################################
-if [[ $MY_MACHINE != "HERA" && $MY_MACHINE != "hera" ]]; then
- setpdy.sh
- . ./PDY
-fi
-
#############################################
# determine PDY and cyc for previous cycle
#############################################
@@ -77,30 +81,30 @@ export p_cyc=$(echo ${cdate} | cut -c9-10)
# TANKverf - WHERE OUTPUT DATA WILL RESIDE
#############################################
export TANKverf=${TANKverf:-$(compath.py ${envir}/${NET}/${gfs_ver})}
-export TANKverf_rad=${TANKverf_rad:-${TANKverf}/${RUN}.${PDY}/${cyc}/$COMPONENT/radmon}
-export TANKverf_radM1=${TANKverf_radM1:-${TANKverf}/${RUN}.${P_PDY}/${p_cyc}/$COMPONENT/radmon}
+export TANKverf_rad=${TANKverf_rad:-${TANKverf}/${RUN}.${PDY}/${cyc}/${COMPONENT}/radmon}
+export TANKverf_radM1=${TANKverf_radM1:-${TANKverf}/${RUN}.${P_PDY}/${p_cyc}/${COMPONENT}/radmon}
export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})}
-export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
################################
# backwards compatibility for
-# gfs v15 which doesn't have
-# a $COMPONENT in output path
+# gfs v15 which doesn't have
+# a $COMPONENT in output path
################################
if [[ ! -d ${COMIN} ]]; then
export COMIN=${COM_IN}/${RUN}.${PDY}/${cyc}
fi
-mkdir -p -m 775 $TANKverf_rad
+mkdir -p -m 775 ${TANKverf_rad}
########################################
# Set necessary environment variables
########################################
export RAD_AREA=${RAD_AREA:-glb}
-export biascr=${biascr:-$COMIN/gdas.t${cyc}z.abias}
-export radstat=${radstat:-$COMIN/gdas.t${cyc}z.radstat}
+export biascr=${biascr:-${COMIN}/gdas.t${cyc}z.abias}
+export radstat=${radstat:-${COMIN}/gdas.t${cyc}z.radstat}
echo " "
echo "JOB HAS STARTED"
@@ -112,8 +116,8 @@ echo " "
${RADMONSH:-${SCRgfs}/exgdas_atmos_verfrad.sh} ${PDY} ${cyc}
err=$?
-if [[ $err -ne 0 ]] ; then
- exit $err
+if [[ ${err} -ne 0 ]] ; then
+ exit ${err}
else
echo " "
echo "JOB HAS COMPLETED NORMALLY"
@@ -124,8 +128,8 @@ fi
# Remove the Working Directory
################################
KEEPDATA=${KEEPDATA:-YES}
-cd $DATAROOT
-if [ ${KEEPDATA} = NO ] ; then
- rm -rf $RAD_DATA_IN
+cd ${DATAROOT}
+if [ ${KEEPDATA} = NO ] ; then
+ rm -rf ${RAD_DATA_IN}
fi
diff --git a/jobs/JGDAS_ATMOS_VMINMON b/jobs/JGDAS_ATMOS_VMINMON
index fcd341e76e..0077755aa2 100755
--- a/jobs/JGDAS_ATMOS_VMINMON
+++ b/jobs/JGDAS_ATMOS_VMINMON
@@ -3,29 +3,42 @@
###########################################################
# GDAS Minimization Monitor (MinMon) job
###########################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+###########################################################
+# make temp directories
+###########################################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+####################################
+# Determine Job Output Name on System
+####################################
+export pid=$$
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
+
###############################
# Specify NET, RUN, and COMPONENT name
##############################
export NET=${NET:-gfs}
export RUN=${RUN:-gdas}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
###########################################################
# obtain unique process id (pid) and make temp directories
###########################################################
-export pid=$$
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
-
-
-###########################################################
-# obtain unique process id (pid) and make temp directories
-###########################################################
export MINMON_SUFFIX=${MINMON_SUFFIX:-${NET}}
export m_job=${m_job:-${MINMON_SUFFIX}_mmDE}
@@ -34,13 +47,13 @@ export m_job=${m_job:-${MINMON_SUFFIX}_mmDE}
# Specify Package Areas
##############################################
export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
-export SCRgfs=${SCRgfs:-$HOMEgfs/scripts}
+export SCRgfs=${SCRgfs:-${HOMEgfs}/scripts}
-export M_FIXgdas=${M_FIXgdas:-$HOMEgfs/fix/gdas}
+export M_FIXgdas=${M_FIXgdas:-${HOMEgfs}/fix/gdas}
export HOMEminmon=${HOMEminmon:-${HOMEgfs}}
-export EXECminmon=${EXECminmon:-$HOMEminmon/exec}
-export USHminmon=${USHminmon:-$HOMEminmon/ush}
+export EXECminmon=${EXECminmon:-${HOMEminmon}/exec}
+export USHminmon=${USHminmon:-${HOMEminmon}/ush}
#############################################
@@ -62,9 +75,9 @@ export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})}
export M_TANKverf=${M_TANKverf:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}/minmon}
export M_TANKverfM1=${M_TANKverfM1:-${COM_IN}/${RUN}.${P_PDY}/${p_cyc}/${COMPONENT}/minmon}
-export COMIN=${COMIN:-$COM_IN/${RUN}.${PDY}/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p -m 775 $M_TANKverf
+mkdir -p -m 775 ${M_TANKverf}
@@ -77,9 +90,9 @@ export gsistat=${gsistat:-${COMIN}/gdas.t${cyc}z.gsistat}
########################################################
# Execute the script.
-${GMONSH:-$SCRgfs/exgdas_atmos_vminmon.sh} ${PDY} ${cyc}
+${GMONSH:-${SCRgfs}/exgdas_atmos_vminmon.sh} ${PDY} ${cyc}
err=$?
-[[ $err -ne 0 ]] && exit $err
+[[ ${err} -ne 0 ]] && exit ${err}
################################
@@ -87,9 +100,8 @@ err=$?
################################
KEEPDATA=${KEEPDATA:-NO}
cd ${DATAROOT}
-
if [ ${KEEPDATA} = NO ] ; then
rm -rf ${DATA}
fi
-
+exit 0
diff --git a/jobs/JGDAS_ENKF_DIAG b/jobs/JGDAS_ENKF_DIAG
index 83e3e6b366..b144a72bb3 100755
--- a/jobs/JGDAS_ENKF_DIAG
+++ b/jobs/JGDAS_ENKF_DIAG
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base anal eobs analdiag ediag"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env eobs
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -46,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base anal eobs analdiag ediag"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env eobs
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
export MAKE_NSSTBUFR=${MAKE_NSSTBUFR:-"NO"}
export MAKE_ACFTBUFR=${MAKE_ACFTBUFR:-"NO"}
@@ -64,13 +60,13 @@ export MAKE_ACFTBUFR=${MAKE_ACFTBUFR:-"NO"}
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
-export CASE=$CASE_ENKF
-export CDUMP_OBS=${CDUMP_OBS:-$CDUMP}
+export CASE=${CASE_ENKF}
+export CDUMP_OBS=${CDUMP_OBS:-${CDUMP}}
export OPREFIX="${CDUMP_OBS}.t${cyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
@@ -78,44 +74,44 @@ export GPREFIX="${GDUMP}.t${gcyc}z."
export GSUFFIX="${GSUFFIX:-".ensmean${SUFFIX}"}"
export ASUFFIX="${ASUFFIX:-"${SUFFIX}"}"
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
+ export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
fi
# COMIN_GES, COMIN_ANL COMIN_GES_ENS, and COMOUT are used in script
-COMIN_GES_CTL="$ROTDIR/gdas.$gPDY/$gcyc/$COMPONENT"
-export COMIN_ANL="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES=$COMIN_GES_ENS
-export COMOUT="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
+COMIN_GES_CTL="${ROTDIR}/gdas.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_ANL="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES=${COMIN_GES_ENS}
+export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
-export ATMGES_ENSMEAN="$COMIN_GES_ENS/${GPREFIX}atmf006$GSUFFIX"
-if [ ! -f $ATMGES_ENSMEAN ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = $ATMGES_ENSMEAN"
+export ATMGES_ENSMEAN="${COMIN_GES_ENS}/${GPREFIX}atmf006${GSUFFIX}"
+if [ ! -f ${ATMGES_ENSMEAN} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = ${ATMGES_ENSMEAN}"
exit 1
fi
# Link observational data
-export PREPQC="$COMIN_OBS/${OPREFIX}prepbufr"
-if [ ! -f $PREPQC ]; then
- echo "WARNING: Global PREPBUFR FILE $PREPQC MISSING"
+export PREPQC="${COMIN_OBS}/${OPREFIX}prepbufr"
+if [ ! -f ${PREPQC} ]; then
+ echo "WARNING: Global PREPBUFR FILE ${PREPQC} MISSING"
fi
-export TCVITL="$COMIN_ANL/${OPREFIX}syndata.tcvitals.tm00"
-if [[ $DONST = "YES" ]]; then
- if [[ $MAKE_NSSTBUFR == "YES" ]]; then
+export TCVITL="${COMIN_ANL}/${OPREFIX}syndata.tcvitals.tm00"
+if [[ ${DONST} = "YES" ]]; then
+ if [[ ${MAKE_NSSTBUFR} == "YES" ]]; then
export NSSTBF="${COMOUT}/${OPREFIX}nsstbufr"
else
export NSSTBF="${COMIN_OBS}/${OPREFIX}nsstbufr"
fi
fi
-if [[ $MAKE_ACFTBUFR == "YES" ]]; then
+if [[ ${MAKE_ACFTBUFR} == "YES" ]]; then
export PREPQCPF="${COMOUT}/${OPREFIX}prepbufr.acft_profiles"
else
export PREPQCPF="${COMIN_OBS}/${OPREFIX}prepbufr.acft_profiles"
@@ -128,40 +124,40 @@ export GBIASAIR=${COMIN_GES_CTL}/${GPREFIX}abias_air
export GRADSTAT=${COMIN_GES_CTL}/${GPREFIX}radstat
# Bias correction coefficients related to ensemble mean
-export ABIAS="$COMOUT/${APREFIX}abias.ensmean"
-export ABIASPC="$COMOUT/${APREFIX}abias_pc.ensmean"
-export ABIASAIR="$COMOUT/${APREFIX}abias_air.ensmean"
-export ABIASe="$COMOUT/${APREFIX}abias_int.ensmean"
+export ABIAS="${COMOUT}/${APREFIX}abias.ensmean"
+export ABIASPC="${COMOUT}/${APREFIX}abias_pc.ensmean"
+export ABIASAIR="${COMOUT}/${APREFIX}abias_air.ensmean"
+export ABIASe="${COMOUT}/${APREFIX}abias_int.ensmean"
# Diagnostics related to ensemble mean
-export GSISTAT="$COMOUT/${APREFIX}gsistat.ensmean"
-export CNVSTAT="$COMOUT/${APREFIX}cnvstat.ensmean"
-export OZNSTAT="$COMOUT/${APREFIX}oznstat.ensmean"
-export RADSTAT="$COMOUT/${APREFIX}radstat.ensmean"
+export GSISTAT="${COMOUT}/${APREFIX}gsistat.ensmean"
+export CNVSTAT="${COMOUT}/${APREFIX}cnvstat.ensmean"
+export OZNSTAT="${COMOUT}/${APREFIX}oznstat.ensmean"
+export RADSTAT="${COMOUT}/${APREFIX}radstat.ensmean"
# Select observations based on ensemble mean
export RUN_SELECT="YES"
export USE_SELECT="NO"
-export SELECT_OBS="$COMOUT/${APREFIX}obsinput.ensmean"
+export SELECT_OBS="${COMOUT}/${APREFIX}obsinput.ensmean"
export DIAG_SUFFIX="_ensmean"
export DIAG_COMPRESS="NO"
# GSI namelist options specific to eobs
-export SETUP_INVOBS="passive_bc=.false.,$SETUP_INVOBS"
+export SETUP_INVOBS="passive_bc=.false.,${SETUP_INVOBS}"
# Ensure clean stat tarballs for ensemble mean
-for fstat in $CNVSTAT $OZNSTAT $RADSTAT; do
- [[ -f $fstat ]] && rm -f $fstat
+for fstat in ${CNVSTAT} ${OZNSTAT} ${RADSTAT}; do
+ [[ -f ${fstat} ]] && rm -f ${fstat}
done
###############################################################
# Run relevant script
-${ANALDIAGSH:-$SCRgfs/exglobal_diag.sh}
+${ANALDIAGSH:-${SCRgfs}/exglobal_diag.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -171,15 +167,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_ENKF_ECEN b/jobs/JGDAS_ENKF_ECEN
index 2a211e6885..d3d4f8fe7e 100755
--- a/jobs/JGDAS_ENKF_ECEN
+++ b/jobs/JGDAS_ENKF_ECEN
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base ecen"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env ecen
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -46,65 +21,86 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base ecen"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env ecen
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
-export CASE=$CASE_ENKF
+export CASE=${CASE_ENKF}
EUPD_CYC=$(echo ${EUPD_CYC:-"gdas"} | tr a-z A-Z)
-if [ $EUPD_CYC = "GFS" ]; then
+if [ ${EUPD_CYC} = "GFS" ]; then
CDUMP_ENKF="gfs"
else
- CDUMP_ENKF=$CDUMP
+ CDUMP_ENKF=${CDUMP}
fi
export OPREFIX="${CDUMP}.t${cyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
export APREFIX_ENKF="${CDUMP_ENKF}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
+ export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
fi
# COMIN, COMIN_ENS and COMIN_GES_ENS are used in script
-export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_ENS="$ROTDIR/enkf$CDUMP_ENKF.$PDY/$cyc/$COMPONENT"
-export COMOUT_ENS="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT"
+export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_ENS="${ROTDIR}/enkf${CDUMP_ENKF}.${PDY}/${cyc}/${COMPONENT}"
+export COMOUT_ENS="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
###############################################################
# Run relevant script
-${ENKFRECENSH:-$SCRgfs/exgdas_enkf_ecen.sh}
+${ENKFRECENSH:-${SCRgfs}/exgdas_enkf_ecen.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -114,15 +110,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_ENKF_FCST b/jobs/JGDAS_ENKF_FCST
index 87bec80a5d..e5d949577b 100755
--- a/jobs/JGDAS_ENKF_FCST
+++ b/jobs/JGDAS_ENKF_FCST
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-configs="base fcst efcs"
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env efcs
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -46,32 +21,53 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base fcst efcs"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env efcs
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
export rCDUMP="gdas"
##############################################
# Begin JOB SPECIFIC work
##############################################
-export CASE=$CASE_ENKF
+export CASE=${CASE_ENKF}
# COMOUT is used in script
-export COMOUT="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
+export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
# Forecast length for EnKF forecast
-export FHMIN=$FHMIN_ENKF
-export FHOUT=$FHOUT_ENKF
-export FHMAX=$FHMAX_ENKF
+export FHMIN=${FHMIN_ENKF}
+export FHOUT=${FHOUT_ENKF}
+export FHMAX=${FHMAX_ENKF}
# Get ENSBEG/ENSEND from ENSGRP and NMEM_EFCSGRP
@@ -85,21 +81,21 @@ export ENSBEG=$((ENSEND - NMEM_EFCSGRP + 1))
###############################################################
# Run relevant script
-${ENKFFCSTSH:-$SCRgfs/exgdas_enkf_fcst.sh}
+${ENKFFCSTSH:-${SCRgfs}/exgdas_enkf_fcst.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# Double check the status of members in ENSGRP
-EFCSGRP=$COMOUT/efcs.grp${ENSGRP}
+EFCSGRP=${COMOUT}/efcs.grp${ENSGRP}
npass=0
-if [ -f $EFCSGRP ]; then
- npass=$(grep "PASS" $EFCSGRP | wc -l)
+if [ -f ${EFCSGRP} ]; then
+ npass=$(grep "PASS" ${EFCSGRP} | wc -l)
fi
-echo "$npass/$NMEM_EFCSGRP members successfull in efcs.grp$ENSGRP"
-if [ $npass -ne $NMEM_EFCSGRP ]; then
- echo "FATAL ERROR: Failed members in group $ENSGRP, ABORT!"
- cat $EFCSGRP
+echo "${npass}/${NMEM_EFCSGRP} members successfull in efcs.grp${ENSGRP}"
+if [ ${npass} -ne ${NMEM_EFCSGRP} ]; then
+ echo "FATAL ERROR: Failed members in group ${ENSGRP}, ABORT!"
+ cat ${EFCSGRP}
exit 99
fi
@@ -107,8 +103,8 @@ fi
##############################################
# Send Alerts
##############################################
-if [ $SENDDBN = YES ] ; then
- $DBNROOT/bin/dbn_alert MODEL ENKF1_MSC_fcsstat $job $EFCSGRP
+if [ ${SENDDBN} = YES ] ; then
+ ${DBNROOT}/bin/dbn_alert MODEL ENKF1_MSC_fcsstat ${job} ${EFCSGRP}
fi
@@ -119,15 +115,15 @@ fi
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_ENKF_POST b/jobs/JGDAS_ENKF_POST
index 5b9926b95c..02d2741d16 100755
--- a/jobs/JGDAS_ENKF_POST
+++ b/jobs/JGDAS_ENKF_POST
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base epos"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env epos
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -46,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base epos"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env epos
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
@@ -66,8 +62,8 @@ export GFS_NCIO=${GFS_NCIO:-"YES"}
export PREFIX="${CDUMP}.t${cyc}z."
# COMIN, COMOUT are used in script
-export COMIN="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMOUT="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
+export COMIN="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
export LEVS=$((LEVS-1))
@@ -76,9 +72,9 @@ export LEVS=$((LEVS-1))
###############################################################
# Run relevant script
-${ENKFPOSTSH:-$SCRgfs/exgdas_enkf_post.sh}
+${ENKFPOSTSH:-${SCRgfs}/exgdas_enkf_post.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -88,15 +84,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_ENKF_SELECT_OBS b/jobs/JGDAS_ENKF_SELECT_OBS
index 0bb1bdc3bc..b0b149080f 100755
--- a/jobs/JGDAS_ENKF_SELECT_OBS
+++ b/jobs/JGDAS_ENKF_SELECT_OBS
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base anal eobs"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env eobs
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -46,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base anal eobs"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env eobs
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
export MAKE_NSSTBUFR=${MAKE_NSSTBUFR:-"NO"}
export MAKE_ACFTBUFR=${MAKE_ACFTBUFR:-"NO"}
@@ -64,13 +60,13 @@ export MAKE_ACFTBUFR=${MAKE_ACFTBUFR:-"NO"}
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
-export CASE=$CASE_ENKF
-export CDUMP_OBS=${CDUMP_OBS:-$CDUMP}
+export CASE=${CASE_ENKF}
+export CDUMP_OBS=${CDUMP_OBS:-${CDUMP}}
export OPREFIX="${CDUMP_OBS}.t${cyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
@@ -78,47 +74,47 @@ export GPREFIX="${GDUMP}.t${gcyc}z."
export GSUFFIX="${GSUFFIX:-".ensmean${SUFFIX}"}"
export ASUFFIX="${ASUFFIX:-"${SUFFIX}"}"
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
+ export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
fi
# COMIN_GES, COMIN_ANL COMIN_GES_ENS, and COMOUT are used in script
-COMIN_GES_CTL="$ROTDIR/gdas.$gPDY/$gcyc/$COMPONENT"
-export COMIN_ANL="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES=$COMIN_GES_ENS
-export COMOUT="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
+COMIN_GES_CTL="${ROTDIR}/gdas.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_ANL="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES=${COMIN_GES_ENS}
+export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
-export ATMGES_ENSMEAN="$COMIN_GES_ENS/${GPREFIX}atmf006$GSUFFIX"
-if [ ! -f $ATMGES_ENSMEAN ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = $ATMGES_ENSMEAN"
+export ATMGES_ENSMEAN="${COMIN_GES_ENS}/${GPREFIX}atmf006${GSUFFIX}"
+if [ ! -f ${ATMGES_ENSMEAN} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = ${ATMGES_ENSMEAN}"
exit 1
fi
-export LEVS=$($NCDUMP -h $ATMGES_ENSMEAN | grep -i "pfull" | head -1 | awk -F" = " '{print $2}' | awk -F" " '{print $1}') # get LEVS
+export LEVS=$(${NCDUMP} -h ${ATMGES_ENSMEAN} | grep -i "pfull" | head -1 | awk -F" = " '{print $2}' | awk -F" " '{print $1}') # get LEVS
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# Link observational data
-export PREPQC="$COMIN_OBS/${OPREFIX}prepbufr"
-if [ ! -f $PREPQC ]; then
- echo "WARNING: Global PREPBUFR FILE $PREPQC MISSING"
+export PREPQC="${COMIN_OBS}/${OPREFIX}prepbufr"
+if [ ! -f ${PREPQC} ]; then
+ echo "WARNING: Global PREPBUFR FILE ${PREPQC} MISSING"
fi
-export TCVITL="$COMIN_ANL/${OPREFIX}syndata.tcvitals.tm00"
-if [[ $DONST = "YES" ]]; then
- if [[ $MAKE_NSSTBUFR == "YES" ]]; then
+export TCVITL="${COMIN_ANL}/${OPREFIX}syndata.tcvitals.tm00"
+if [[ ${DONST} = "YES" ]]; then
+ if [[ ${MAKE_NSSTBUFR} == "YES" ]]; then
export NSSTBF="${COMOUT}/${OPREFIX}nsstbufr"
else
export NSSTBF="${COMIN_OBS}/${OPREFIX}nsstbufr"
fi
fi
-if [[ $MAKE_ACFTBUFR == "YES" ]]; then
+if [[ ${MAKE_ACFTBUFR} == "YES" ]]; then
export PREPQCPF="${COMOUT}/${OPREFIX}prepbufr.acft_profiles"
else
export PREPQCPF="${COMIN_OBS}/${OPREFIX}prepbufr.acft_profiles"
@@ -131,46 +127,46 @@ export GBIASAIR=${COMIN_GES_CTL}/${GPREFIX}abias_air
export GRADSTAT=${COMIN_GES_CTL}/${GPREFIX}radstat
# Bias correction coefficients related to ensemble mean
-export ABIAS="$COMOUT/${APREFIX}abias.ensmean"
-export ABIASPC="$COMOUT/${APREFIX}abias_pc.ensmean"
-export ABIASAIR="$COMOUT/${APREFIX}abias_air.ensmean"
-export ABIASe="$COMOUT/${APREFIX}abias_int.ensmean"
+export ABIAS="${COMOUT}/${APREFIX}abias.ensmean"
+export ABIASPC="${COMOUT}/${APREFIX}abias_pc.ensmean"
+export ABIASAIR="${COMOUT}/${APREFIX}abias_air.ensmean"
+export ABIASe="${COMOUT}/${APREFIX}abias_int.ensmean"
# Diagnostics related to ensemble mean
-export GSISTAT="$COMOUT/${APREFIX}gsistat.ensmean"
-export CNVSTAT="$COMOUT/${APREFIX}cnvstat.ensmean"
-export OZNSTAT="$COMOUT/${APREFIX}oznstat.ensmean"
-export RADSTAT="$COMOUT/${APREFIX}radstat.ensmean"
+export GSISTAT="${COMOUT}/${APREFIX}gsistat.ensmean"
+export CNVSTAT="${COMOUT}/${APREFIX}cnvstat.ensmean"
+export OZNSTAT="${COMOUT}/${APREFIX}oznstat.ensmean"
+export RADSTAT="${COMOUT}/${APREFIX}radstat.ensmean"
# Select observations based on ensemble mean
export RUN_SELECT="YES"
export USE_SELECT="NO"
-export SELECT_OBS="$COMOUT/${APREFIX}obsinput.ensmean"
+export SELECT_OBS="${COMOUT}/${APREFIX}obsinput.ensmean"
export DIAG_SUFFIX="_ensmean"
# GSI namelist options specific to eobs
-export SETUP_INVOBS="passive_bc=.false.,$SETUP_INVOBS"
+export SETUP_INVOBS="passive_bc=.false.,${SETUP_INVOBS}"
# Ensure clean stat tarballs for ensemble mean
-for fstat in $CNVSTAT $OZNSTAT $RADSTAT; do
- [[ -f $fstat ]] && rm -f $fstat
+for fstat in ${CNVSTAT} ${OZNSTAT} ${RADSTAT}; do
+ [[ -f ${fstat} ]] && rm -f ${fstat}
done
###############################################################
# Run relevant script
-${INVOBSSH:-$SCRgfs/exgdas_enkf_select_obs.sh}
+${INVOBSSH:-${SCRgfs}/exgdas_enkf_select_obs.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# Send Alerts
##############################################
-if [ $SENDDBN = YES ] ; then
- $DBNROOT/bin/dbn_alert MODEL ENKF1_MSC_gsistat $job $GSISTAT
+if [ ${SENDDBN} = YES ] ; then
+ ${DBNROOT}/bin/dbn_alert MODEL ENKF1_MSC_gsistat ${job} ${GSISTAT}
fi
@@ -181,15 +177,15 @@ fi
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_ENKF_SFC b/jobs/JGDAS_ENKF_SFC
index ccdba07851..85313002a6 100755
--- a/jobs/JGDAS_ENKF_SFC
+++ b/jobs/JGDAS_ENKF_SFC
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base esfc"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env esfc
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -46,66 +21,87 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base esfc"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env esfc
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
-export CASE=$CASE_ENKF
+export CASE=${CASE_ENKF}
EUPD_CYC=$(echo ${EUPD_CYC:-"gdas"} | tr a-z A-Z)
-if [ $EUPD_CYC = "GFS" ]; then
+if [ ${EUPD_CYC} = "GFS" ]; then
CDUMP_ENKF="gfs"
else
- CDUMP_ENKF=$CDUMP
+ CDUMP_ENKF=${CDUMP}
fi
export OPREFIX="${CDUMP}.t${cyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
export APREFIX_ENKF="${CDUMP_ENKF}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
+ export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
fi
# COMIN, COMIN_ENS and COMIN_GES_ENS are used in script
-export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_ENS="$ROTDIR/enkf$CDUMP_ENKF.$PDY/$cyc/$COMPONENT"
-export COMOUT_ENS="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT"
+export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_ENS="${ROTDIR}/enkf${CDUMP_ENKF}.${PDY}/${cyc}/${COMPONENT}"
+export COMOUT_ENS="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
###############################################################
# Run relevant script
-${ENKFRESFCSH:-$SCRgfs/exgdas_enkf_sfc.sh}
+${ENKFRESFCSH:-${SCRgfs}/exgdas_enkf_sfc.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -115,15 +111,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_ENKF_UPDATE b/jobs/JGDAS_ENKF_UPDATE
index fab0726a16..e97016b630 100755
--- a/jobs/JGDAS_ENKF_UPDATE
+++ b/jobs/JGDAS_ENKF_UPDATE
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base anal eupd"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env eupd
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -46,50 +21,71 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base anal eupd"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env eupd
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
export APREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="gdas.t${gcyc}z."
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
# COMIN_GES_ENS and COMOUT_ANL_ENS are used in script
-export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
-export COMOUT_ANL_ENS="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
+export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}"
+export COMOUT_ANL_ENS="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
###############################################################
# Run relevant script
-${ENKFUPDSH:-$SCRgfs/exgdas_enkf_update.sh}
+${ENKFUPDSH:-${SCRgfs}/exgdas_enkf_update.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# Send Alerts
##############################################
-if [ $SENDDBN = YES ] ; then
- $DBNROOT/bin/dbn_alert MODEL ENKF1_MSC_enkfstat $job $COMOUT_ANL_ENS/${APREFIX}enkfstat
+if [ ${SENDDBN} = YES ] ; then
+ ${DBNROOT}/bin/dbn_alert MODEL ENKF1_MSC_enkfstat ${job} ${COMOUT_ANL_ENS}/${APREFIX}enkfstat
fi
@@ -100,15 +96,15 @@ fi
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST
index 027b381262..56e0c4ade9 100755
--- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST
+++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST
@@ -1,37 +1,13 @@
#!/bin/bash
-source "$HOMEgfs/ush/preamble.sh"
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base atmanal atmanalpost"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env atmanalpost
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA || (echo "$DATA does not exist. ABORT!"; exit 1)
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1)
##############################################
@@ -45,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base atmanal atmanalpost"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env atmanalpost
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
@@ -68,27 +65,27 @@ export GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-export COMOUT=${COMOUT:-$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT
+mkdir -p ${COMOUT}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
# Add UFSDA to PYTHONPATH
-export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH
+export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush/:${PYTHONPATH}
###############################################################
# Run relevant script
-EXSCRIPT=${GDASPOSTPY:-$HOMEgfs/scripts/exgdas_global_atmos_analysis_post.py}
-$EXSCRIPT
+EXSCRIPT=${GDASPOSTPY:-${HOMEgfs}/scripts/exgdas_global_atmos_analysis_post.py}
+${EXSCRIPT}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# End JOB SPECIFIC work
@@ -97,14 +94,14 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP
index 074165f88c..259d2eab0c 100755
--- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP
+++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP
@@ -1,37 +1,13 @@
#!/bin/bash
-source "$HOMEgfs/ush/preamble.sh"
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base atmanal atmanalprep"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env atmanalprep
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA || (echo "$DATA does not exist. ABORT!"; exit 1)
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1)
##############################################
@@ -45,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base atmanal atmanalprep"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env atmanalprep
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
@@ -68,26 +65,26 @@ export GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-export COMOUT=${COMOUT:-$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT
+mkdir -p ${COMOUT}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
# Add UFSDA to PYTHONPATH
-export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH
+export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush/:${PYTHONPATH}
###############################################################
# Run relevant script
-EXSCRIPT=${GDASPREPPY:-$HOMEgfs/scripts/exgdas_global_atmos_analysis_prep.py}
-$EXSCRIPT
+EXSCRIPT=${GDASPREPPY:-${HOMEgfs}/scripts/exgdas_global_atmos_analysis_prep.py}
+${EXSCRIPT}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# End JOB SPECIFIC work
@@ -96,14 +93,14 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN
index 4d95fb28eb..62e02a6dd0 100755
--- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN
+++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN
@@ -1,37 +1,13 @@
#!/bin/bash
-source "$HOMEgfs/ush/preamble.sh"
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base atmanal atmanalrun"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env atmanalrun
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA || (echo "$DATA does not exist. ABORT!"; exit 1)
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1)
##############################################
@@ -45,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base atmanal atmanalrun"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env atmanalrun
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
@@ -68,27 +65,27 @@ export GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-export COMOUT=${COMOUT:-$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT
+mkdir -p ${COMOUT}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
# Add UFSDA to PYTHONPATH
-export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH
+export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush/:${PYTHONPATH}
###############################################################
# Run relevant script
-EXSCRIPT=${GDASRUNSH:-$HOMEgfs/scripts/exgdas_global_atmos_analysis_run.sh}
-$EXSCRIPT
+EXSCRIPT=${GDASRUNSH:-${HOMEgfs}/scripts/exgdas_global_atmos_analysis_run.sh}
+${EXSCRIPT}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# End JOB SPECIFIC work
@@ -97,14 +94,14 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST
index fdfaf1bafb..4d546f3b06 100755
--- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST
+++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST
@@ -1,37 +1,13 @@
#!/bin/bash
-source "$HOMEgfs/ush/preamble.sh"
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base atmensanal atmensanalpost"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env atmensanalpost
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA || (echo "$DATA does not exist. ABORT!"; exit 1)
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1)
##############################################
@@ -45,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base atmensanal atmensanalpost"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env atmensanalpost
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
@@ -68,30 +65,30 @@ export GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-export COMOUT=${COMOUT:-$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT}
-export COMOUT_ENS=${COMOUT_ENS:-$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT_ENS=${COMOUT_ENS:-${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT
-mkdir -p $COMOUT_ENS
+mkdir -p ${COMOUT}
+mkdir -p ${COMOUT_ENS}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT"
+export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
# Add UFSDA to PYTHONPATH
-export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH
+export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush/:${PYTHONPATH}
###############################################################
# Run relevant script
-EXSCRIPT=${GDASPOSTPY:-$HOMEgfs/scripts/exgdas_global_atmos_ensanal_post.py}
-$EXSCRIPT
+EXSCRIPT=${GDASPOSTPY:-${HOMEgfs}/scripts/exgdas_global_atmos_ensanal_post.py}
+${EXSCRIPT}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# End JOB SPECIFIC work
@@ -100,14 +97,14 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP
index 0838097693..6b5204564e 100755
--- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP
+++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP
@@ -1,37 +1,13 @@
#!/bin/bash
-source "$HOMEgfs/ush/preamble.sh"
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base atmensanal atmensanalprep"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env atmensanalprep
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA || (echo "$DATA does not exist. ABORT!"; exit 1)
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1)
##############################################
@@ -45,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base atmensanal atmensanalprep"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env atmensanalprep
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
@@ -68,30 +65,30 @@ export GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-export COMOUT=${COMOUT:-$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT}
-export COMOUT_ENS=${COMOUT_ENS:-$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT_ENS=${COMOUT_ENS:-${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT
-mkdir -p $COMOUT_ENS
+mkdir -p ${COMOUT}
+mkdir -p ${COMOUT_ENS}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT"
+export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
# Add UFSDA to PYTHONPATH
-export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH
+export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush/:${PYTHONPATH}
###############################################################
# Run relevant script
-EXSCRIPT=${GDASPREPPY:-$HOMEgfs/scripts/exgdas_global_atmos_analysis_prep.py}
-$EXSCRIPT
+EXSCRIPT=${GDASPREPPY:-${HOMEgfs}/scripts/exgdas_global_atmos_analysis_prep.py}
+${EXSCRIPT}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# End JOB SPECIFIC work
@@ -100,14 +97,14 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN
index 40e22c9e57..bb7d42f670 100755
--- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN
+++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN
@@ -1,37 +1,13 @@
#!/bin/bash
-source "$HOMEgfs/ush/preamble.sh"
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base atmensanal atmensanalrun"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env atmensanalrun
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA || (echo "$DATA does not exist. ABORT!"; exit 1)
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1)
##############################################
@@ -45,16 +21,37 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base atmensanal atmensanalrun"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env atmensanalrun
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Begin JOB SPECIFIC work
@@ -68,30 +65,30 @@ export GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-export COMOUT=${COMOUT:-$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT}
-export COMOUT_ENS=${COMOUT_ENS:-$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT_ENS=${COMOUT_ENS:-${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT
-mkdir -p $COMOUT_ENS
+mkdir -p ${COMOUT}
+mkdir -p ${COMOUT_ENS}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkf$GDUMP.$gPDY/$gcyc/$COMPONENT"
+export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
# Add UFSDA to PYTHONPATH
-export PYTHONPATH=$HOMEgfs/sorc/gdas.cd/ush/:$PYTHONPATH
+export PYTHONPATH=${HOMEgfs}/sorc/gdas.cd/ush/:${PYTHONPATH}
###############################################################
# Run relevant script
-EXSCRIPT=${GDASRUNSH:-$HOMEgfs/scripts/exgdas_global_atmos_ensanal_run.sh}
-$EXSCRIPT
+EXSCRIPT=${GDASRUNSH:-${HOMEgfs}/scripts/exgdas_global_atmos_ensanal_run.sh}
+${EXSCRIPT}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# End JOB SPECIFIC work
@@ -100,14 +97,14 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG
index 0971ec6bff..3ccba8ca0e 100755
--- a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG
+++ b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
@@ -11,14 +11,14 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
#########################################################
# obtain unique process id (pid) and make temp directory
#########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
######################################
# Set up the cycle variable
######################################
-export cycle=${cycle:-t${cyc}z}
+export cycle="t${cyc}z"
###########################################
# Run setpdy and initialize PDY variables
@@ -30,12 +30,12 @@ setpdy.sh
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export USHgfs=${USHgfs:-$HOMEgfs/ush}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo}
-export PARMproduct=${PARMproduct:-$HOMEgfs/parm/product}
-export FIXgfs=${FIXgfs:-$HOMEgfs/fix}
+export USHgfs=${USHgfs:-${HOMEgfs}/ush}
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
+export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
+export FIXgfs=${FIXgfs:-${HOMEgfs}/fix}
###################################
# Specify NET and RUN Name and model
@@ -43,20 +43,20 @@ export FIXgfs=${FIXgfs:-$HOMEgfs/fix}
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export model=${model:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT $COMOUTwmo
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT} ${COMOUTwmo}
fi
export pgmout=OUTPUT.$$
@@ -70,21 +70,21 @@ export pgmout=OUTPUT.$$
########################################################
# Execute the script.
-$HOMEgfs/scripts/exgfs_atmos_awips_20km_1p0deg.sh $fcsthrs
+${HOMEgfs}/scripts/exgfs_atmos_awips_20km_1p0deg.sh ${fcsthrs}
export err=$?; err_chk
########################################################
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGFS_ATMOS_AWIPS_G2 b/jobs/JGFS_ATMOS_AWIPS_G2
index db4e984b6a..57d04f8a73 100755
--- a/jobs/JGFS_ATMOS_AWIPS_G2
+++ b/jobs/JGFS_ATMOS_AWIPS_G2
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
@@ -11,14 +11,14 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
##########################################################
# obtain unique process id (pid) and make temp directory
##########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
######################################
# Set up the cycle variable
######################################
-export cycle=${cycle:-t${cyc}z}
+export cycle="t${cyc}z"
###########################################
# Run setpdy and initialize PDY variables
@@ -30,13 +30,13 @@ setpdy.sh
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export USHgfs=${USHgfs:-$HOMEgfs/ush}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo}
-export PARMproduct=${PARMproduct:-$HOMEgfs/parm/product}
-export FIXgfs=${FIXgfs:-$HOMEgfs/fix}
-export UTILgfs=${UTILgfs:-$HOMEgfs/util}
+export USHgfs=${USHgfs:-${HOMEgfs}/ush}
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
+export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
+export FIXgfs=${FIXgfs:-${HOMEgfs}/fix}
+export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
###################################
# Specify NET and RUN Name and model
@@ -44,20 +44,20 @@ export UTILgfs=${UTILgfs:-$HOMEgfs/util}
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export model=${model:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT $COMOUTwmo
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT} ${COMOUTwmo}
fi
export pgmout=OUTPUT.$$
@@ -67,21 +67,21 @@ export pgmout=OUTPUT.$$
# Execute the script.
#########################################################
mkdir -m 775 awips_g1
-cd $DATA/awips_g1
-$HOMEgfs/scripts/exgfs_atmos_grib_awips.sh $fcsthrs
+cd ${DATA}/awips_g1
+${HOMEgfs}/scripts/exgfs_atmos_grib_awips.sh ${fcsthrs}
export err=$?; err_chk
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGFS_ATMOS_CYCLONE_GENESIS b/jobs/JGFS_ATMOS_CYCLONE_GENESIS
index 7641c0dbfd..3233dec92d 100755
--- a/jobs/JGFS_ATMOS_CYCLONE_GENESIS
+++ b/jobs/JGFS_ATMOS_CYCLONE_GENESIS
@@ -1,41 +1,41 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base vrfy"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env vrfy
+. ${HOMEgfs}/env/${machine}.env vrfy
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
-if [ $RUN_ENVIR = "nco" ]; then
- export DATA=${DATA:-${DATAROOT}/${jobid:?}}
+if [ ${RUN_ENVIR} = "nco" ]; then
+ export DATA=${DATA:-${DATAROOT}/${jobid}}
else
export job="gfs_cyclone_genesis"
- export DATA="$DATAROOT/${job}$$"
- [[ -d $DATA ]] && rm -rf $DATA
+ export DATA="${DATAROOT}/${job}$$"
+ [[ -d ${DATA} ]] && rm -rf ${DATA}
fi
-mkdir -p $DATA
-cd $DATA
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -51,7 +51,7 @@ setpdy.sh
####################################
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Determine Job Output Name on System
@@ -64,7 +64,7 @@ export pgmerr=errfile
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export cmodel=$CDUMP
+export cmodel=${CDUMP}
####################################
# SENDCOM - Copy Files From TMPDIR to $COMOUT
@@ -77,19 +77,19 @@ export SENDECF=${SENDECF:-NO}
####################################
# Specify Execution Areas
####################################
-export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT:?}/ens_tracker.${ens_tracker_ver}}
-export EXECens_tracker=${EXECens_tracker:-$HOMEens_tracker/exec}
-export FIXens_tracker=${FIXens_tracker:-$HOMEens_tracker/fix}
-export USHens_tracker=${USHens_tracker:-$HOMEens_tracker/ush}
-export SCRIPTens_tracker=${SCRIPTens_tracker:-$HOMEens_tracker/scripts}
+export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT}/ens_tracker.${ens_tracker_ver}}
+export EXECens_tracker=${EXECens_tracker:-${HOMEens_tracker}/exec}
+export FIXens_tracker=${FIXens_tracker:-${HOMEens_tracker}/fix}
+export USHens_tracker=${USHens_tracker:-${HOMEens_tracker}/ush}
+export SCRIPTens_tracker=${SCRIPTens_tracker:-${HOMEens_tracker}/scripts}
##############################################
# Define COM directories
##############################################
-export COMIN=${ROTDIR}/${RUN}.${PDY}/${cyc}/$COMPONENT
+export COMIN=${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}
export gfsdir=${COMIN}
export COMINgfs=${COMIN}
-export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/$COMPONENT
+export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}
export JYYYY=$(echo ${PDY} | cut -c1-4)
export COMINgenvit=${COMINgenvit:-${COMOUT}/genesis_vital_${JYYYY}}
@@ -97,7 +97,7 @@ export COMOUTgenvit=${COMOUTgenvit:-${COMOUT}/genesis_vital_${JYYYY}}
export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat}
-mkdir -m 775 -p $COMOUTgenvit
+mkdir -m 775 -p ${COMOUTgenvit}
##############################################
# Run relevant script
@@ -109,15 +109,15 @@ export err=$?; err_chk
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGFS_ATMOS_CYCLONE_TRACKER b/jobs/JGFS_ATMOS_CYCLONE_TRACKER
index 727bf3e590..922ae086fd 100755
--- a/jobs/JGFS_ATMOS_CYCLONE_TRACKER
+++ b/jobs/JGFS_ATMOS_CYCLONE_TRACKER
@@ -1,41 +1,41 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base vrfy"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env vrfy
+. ${HOMEgfs}/env/${machine}.env vrfy
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
-if [ $RUN_ENVIR = "nco" ]; then
- export DATA=${DATA:-${DATAROOT}/${jobid:?}}
+if [ ${RUN_ENVIR} = "nco" ]; then
+ export DATA=${DATA:-${DATAROOT}/${jobid}}
else
export job="gfs_cyclone_tracker"
- export DATA="$DATAROOT/${job}$$"
- [[ -d $DATA ]] && rm -rf $DATA
+ export DATA="${DATAROOT}/${job}$$"
+ [[ -d ${DATA} ]] && rm -rf ${DATA}
fi
-mkdir -p $DATA
-cd $DATA
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -51,7 +51,7 @@ setpdy.sh
####################################
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
@@ -79,32 +79,32 @@ export SENDECF=${SENDECF:-NO}
####################################
# Specify Execution Areas
####################################
-export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT:?}/ens_tracker.${ens_tracker_ver}}
-export EXECens_tracker=${EXECens_tracker:-$HOMEens_tracker/exec}
-export FIXens_tracker=${FIXens_tracker:-$HOMEens_tracker/fix}
-export USHens_tracker=${USHens_tracker:-$HOMEens_tracker/ush}
+export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT}/ens_tracker.${ens_tracker_ver}}
+export EXECens_tracker=${EXECens_tracker:-${HOMEens_tracker}/exec}
+export FIXens_tracker=${FIXens_tracker:-${HOMEens_tracker}/fix}
+export USHens_tracker=${USHens_tracker:-${HOMEens_tracker}/ush}
##############################################
# Define COM and Data directories
##############################################
-export COMIN=${ROTDIR}/${RUN}.${PDY}/${cyc}/$COMPONENT
+export COMIN=${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}
export COMINgfs=${COMIN}
export gfsdir=${COMINgfs}
export COMINgdas=${COMIN}
export gdasdir=${COMINgdas}
-export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/$COMPONENT
+export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}
export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat}
-if [ $RUN_ENVIR = "nco" ]; then
- export COMOUThur=${COMROOTp1:?}/hur/${envir}/global
- export COMOUTatcf=${COMROOTp1:?}/nhc/${envir}/atcf
- mkdir -m 775 -p $COMOUThur $COMOUTatcf
+if [ ${RUN_ENVIR} = "nco" ]; then
+ export COMOUThur=${COMROOTp1}/hur/${envir}/global
+ export COMOUTatcf=${COMROOTp1}/nhc/${envir}/atcf
+ mkdir -m 775 -p ${COMOUThur} ${COMOUTatcf}
else
# export COMOUThur=$COMOUT
# export COMOUTatcf=$COMOUT
- export COMOUThur=$DATA
- export COMOUTatcf=$DATA
+ export COMOUThur=${DATA}
+ export COMOUTatcf=${DATA}
fi
##############################################
@@ -114,7 +114,7 @@ fi
#############################################################
# Execute the script
export pert="p01"
-export cmodel=$CDUMP
+export cmodel=${CDUMP}
export loopnum=1
#-----------input data checking -----------------
@@ -140,15 +140,15 @@ export err=$?; err_chk
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGFS_ATMOS_FBWIND b/jobs/JGFS_ATMOS_FBWIND
index df8d3bc0c1..69532e5863 100755
--- a/jobs/JGFS_ATMOS_FBWIND
+++ b/jobs/JGFS_ATMOS_FBWIND
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
############################################
# GFS FBWIND PRODUCT GENERATION
@@ -9,14 +9,14 @@ source "$HOMEgfs/ush/preamble.sh"
###########################################################
# obtain unique process id (pid) and make temp directory
###########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
######################################
# Set up the cycle variable
######################################
-export cycle=${cycle:-t${cyc}z}
+export cycle="t${cyc}z"
###########################################
# Run setpdy and initialize PDY variables
@@ -28,13 +28,13 @@ setpdy.sh
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export USHgfs=${USHgfs:-$HOMEgfs/ush}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo}
-export PARMproduct=${PARMproduct:-$HOMEgfs/parm/product}
-export FIXgfs=${FIXgfs:-$HOMEgfs/fix}
-export UTILgfs=${UTILgfs:-$HOMEgfs/util}
+export USHgfs=${USHgfs:-${HOMEgfs}/ush}
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
+export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
+export FIXgfs=${FIXgfs:-${HOMEgfs}/fix}
+export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
###################################
# Specify NET and RUN Name and model
@@ -42,20 +42,20 @@ export UTILgfs=${UTILgfs:-$HOMEgfs/util}
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export model=${model:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT $COMOUTwmo
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT} ${COMOUTwmo}
fi
export pgmout=OUTPUT.$$
@@ -63,21 +63,21 @@ export pgmout=OUTPUT.$$
########################################################
# Execute the script.
-$HOMEgfs/scripts/exgfs_atmos_fbwind.sh
+${HOMEgfs}/scripts/exgfs_atmos_fbwind.sh
export err=$?;err_chk
########################################################
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGFS_ATMOS_FSU_GENESIS b/jobs/JGFS_ATMOS_FSU_GENESIS
index d403a76fe2..1f18cfff99 100755
--- a/jobs/JGFS_ATMOS_FSU_GENESIS
+++ b/jobs/JGFS_ATMOS_FSU_GENESIS
@@ -1,18 +1,18 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base vrfy"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##exit
@@ -20,23 +20,23 @@ done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env vrfy
+. ${HOMEgfs}/env/${machine}.env vrfy
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
-if [ $RUN_ENVIR = "nco" ]; then
- export DATA=${DATA:-${DATAROOT}/${jobid:?}}
+if [ ${RUN_ENVIR} = "nco" ]; then
+ export DATA=${DATA:-${DATAROOT}/${jobid}}
else
export job="gfs_fsu_genesis"
- export DATA="$DATAROOT/${job}$$"
- [[ -d $DATA ]] && rm -rf $DATA
+ export DATA="${DATAROOT}/${job}$$"
+ [[ -d ${DATA} ]] && rm -rf ${DATA}
fi
-mkdir -p $DATA
-cd $DATA
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -52,7 +52,7 @@ setpdy.sh
####################################
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
@@ -80,12 +80,12 @@ export SENDECF=${SENDECF:-NO}
####################################
# Specify Execution Areas
####################################
-export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT:?}/ens_tracker.${ens_tracker_ver}}
-export EXECens_tracker=${EXECens_tracker:-$HOMEens_tracker/exec}
-export FIXens_tracker=${FIXens_tracker:-$HOMEens_tracker/fix}
-export USHens_tracker=${USHens_tracker:-$HOMEens_tracker/ush}
-export SCRIPTens_tracker=${SCRIPTens_tracker:-$HOMEens_tracker/scripts}
-export BINens_tracker=${BINens_tracker:-$HOMEens_tracker/ush/FSUgenesisPY/bin}
+export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT}/ens_tracker.${ens_tracker_ver}}
+export EXECens_tracker=${EXECens_tracker:-${HOMEens_tracker}/exec}
+export FIXens_tracker=${FIXens_tracker:-${HOMEens_tracker}/fix}
+export USHens_tracker=${USHens_tracker:-${HOMEens_tracker}/ush}
+export SCRIPTens_tracker=${SCRIPTens_tracker:-${HOMEens_tracker}/scripts}
+export BINens_tracker=${BINens_tracker:-${HOMEens_tracker}/ush/FSUgenesisPY/bin}
export PYTHONPATH=${USHens_tracker}/FSUgenesisPY:${PYTHONPATH}
##############################################
@@ -100,15 +100,15 @@ export gdasdir=${COMINgdas}
export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}
export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat}
-if [ $RUN_ENVIR = "nco" ]; then
- export COMOUThur=${COMROOTp1:?}/hur/${envir}/global
- export COMOUTatcf=${COMROOTp1:?}/nhc/${envir}/atcf
- mkdir -m 775 -p $COMOUThur $COMOUTatcf
+if [ ${RUN_ENVIR} = "nco" ]; then
+ export COMOUThur=${COMROOTp1}/hur/${envir}/global
+ export COMOUTatcf=${COMROOTp1}/nhc/${envir}/atcf
+ mkdir -m 775 -p ${COMOUThur} ${COMOUTatcf}
else
-# export COMOUThur=$COMOUT
+# export COMOUThur=$COMOUT
# export COMOUTatcf=$COMOUT
- export COMOUThur=$DATA
- export COMOUTatcf=$DATA
+ export COMOUThur=${DATA}
+ export COMOUTatcf=${DATA}
fi
##############################################
@@ -123,15 +123,15 @@ export err=$?; err_chk
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGFS_ATMOS_GEMPAK b/jobs/JGFS_ATMOS_GEMPAK
index 1e93982cd1..8e8b27dbb8 100755
--- a/jobs/JGFS_ATMOS_GEMPAK
+++ b/jobs/JGFS_ATMOS_GEMPAK
@@ -1,70 +1,51 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
-############################################
-# GFS GEMPAK PRODUCT GENERATION
-############################################
-configs="base gempak"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-for config in $configs; do
- . $EXPDIR/config.${config}
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
+##########################################################
+# make temp directory
+##########################################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
-###############################################################
-. $BASE_ENV/${machine}.env gempak
-status=$?
-[[ $status -ne 0 ]] && exit $status
+###########################################
+# Run setpdy and initialize PDY variables
+###########################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+export pgmout=OUTPUT.$$
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base gempak"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env gempak
+. ${HOMEgfs}/env/${machine}.env gempak
status=$?
-[[ $status -ne 0 ]] && exit $status
-
-##########################################################
-# obtain unique process id (pid) and make temp directory
-##########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
-
-######################################
-# Set up the cycle variable
-######################################
-export cycle=${cycle:-t${cyc}z}
-
-###########################################
-# Run setpdy and initialize PDY variables
-###########################################
-setpdy.sh
-. ./PDY
+[[ ${status} -ne 0 ]] && exit ${status}
################################
# Set up the HOME directory
################################
-export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-export FIXgempak=${FIXgempak:-$HOMEgfs/gempak/fix}
-export USHgempak=${USHgempak:-$HOMEgfs/gempak/ush}
-export SRCgfs=${SRCgfs:-$HOMEgfs/scripts}
+export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} # TODO: These should be removed as they are defined in config.base
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix}
+export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
+export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
# For half-degree P Grib files
export DO_HD_PGRB=${DO_HD_PGRB:-YES}
@@ -85,24 +66,23 @@ export DBN_ALERT_TYPE=${DBN_ALERT_TYPE:-GFS_GEMPAK}
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export model=${model:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}/gempak}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT}
fi
-export pgmout=OUTPUT.$$
-
+# TODO: These actions belong in an ex-script not a j-job
if [ -f poescript ]; then
rm -f poescript
fi
@@ -110,54 +90,54 @@ fi
#################################################################
# Execute the script for the 384 hour 1 degree grib
##################################################################
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> $DATA/gfs_1p0.$$.1 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> $DATA/gfs_1p0.$$.2 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> $DATA/gfs_1p0.$$.3 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> $DATA/gfs_1p0.$$.4 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> $DATA/gfs_1p0.$$.5 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> $DATA/gfs_1p0.$$.6 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> ${DATA}/gfs_1p0.$$.1 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> ${DATA}/gfs_1p0.$$.2 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> ${DATA}/gfs_1p0.$$.3 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> ${DATA}/gfs_1p0.$$.4 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> ${DATA}/gfs_1p0.$$.5 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs 384 GFS_GEMPAK &> ${DATA}/gfs_1p0.$$.6 " >>poescript
#################################################################
# Execute the script for the half-degree grib
##################################################################
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> $DATA/gfs_0p5.$$.1 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> $DATA/gfs_0p5.$$.2 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> $DATA/gfs_0p5.$$.3 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> $DATA/gfs_0p5.$$.4 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> $DATA/gfs_0p5.$$.5 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> $DATA/gfs_0p5.$$.6 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> ${DATA}/gfs_0p5.$$.1 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> ${DATA}/gfs_0p5.$$.2 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> ${DATA}/gfs_0p5.$$.3 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> ${DATA}/gfs_0p5.$$.4 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> ${DATA}/gfs_0p5.$$.5 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p50 384 GFS_GEMPAK &> ${DATA}/gfs_0p5.$$.6 " >>poescript
#################################################################
# Execute the script for the quater-degree grib
####################################################################
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.1 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.2 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.3 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.4 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.5 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.6 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.7 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.8 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.9 " >> poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> $DATA/gfs_0p25.$$.10 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.1 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.2 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.3 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.4 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.5 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.6 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.7 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.8 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.9 " >> poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs_0p25 384 GFS_GEMPAK &> ${DATA}/gfs_0p25.$$.10 " >> poescript
####################################################################
# Execute the script to create the 35km Pacific grids for OPC
#####################################################################
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs35_pac 180 GFS_GEMPAK_WWB &> $DATA/gfs35_pac.$$.1 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs35_pac 180 GFS_GEMPAK_WWB &> $DATA/gfs35_pac.$$.2 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs35_pac 180 GFS_GEMPAK_WWB &> ${DATA}/gfs35_pac.$$.1 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs35_pac 180 GFS_GEMPAK_WWB &> ${DATA}/gfs35_pac.$$.2 " >>poescript
####################################################################
# Execute the script to create the 35km Atlantic grids for OPC
#####################################################################
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs35_atl 180 GFS_GEMPAK_WWB &> $DATA/gfs35_atl.$$.1 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs35_atl 180 GFS_GEMPAK_WWB &> $DATA/gfs35_atl.$$.2 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs35_atl 180 GFS_GEMPAK_WWB &> ${DATA}/gfs35_atl.$$.1 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs35_atl 180 GFS_GEMPAK_WWB &> ${DATA}/gfs35_atl.$$.2 " >>poescript
#####################################################################
# Execute the script to create the 40km grids for HPC
######################################################################
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs40 180 GFS_GEMPAK_WWB &> $DATA/gfs40.$$.1 " >>poescript
-echo "time $SRCgfs/exgfs_atmos_nawips.sh gfs40 180 GFS_GEMPAK_WWB &> $DATA/gfs40.$$.2 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs40 180 GFS_GEMPAK_WWB &> ${DATA}/gfs40.$$.1 " >>poescript
+echo "time ${SRCgfs}/exgfs_atmos_nawips.sh gfs40 180 GFS_GEMPAK_WWB &> ${DATA}/gfs40.$$.2 " >>poescript
# Add task number to the MPMD script
nl -n ln -v 0 poescript > poescript.new
@@ -165,33 +145,33 @@ mv poescript.new poescript
cat poescript
-chmod 775 $DATA/poescript
+chmod 775 ${DATA}/poescript
export MP_PGMMODEL=mpmd
-export MP_CMDFILE=$DATA/poescript
+export MP_CMDFILE=${DATA}/poescript
-ntasks=${NTASKS_GEMPAK:-$(cat $DATA/poescript | wc -l)}
+ntasks=${NTASKS_GEMPAK:-$(cat ${DATA}/poescript | wc -l)}
ptile=${PTILE_GEMPAK:-4}
threads=${NTHREADS_GEMPAK:-1}
-export OMP_NUM_THREADS=$threads
-APRUN=${APRUN:-"mpiexec -l -np $ntasks --cpu-bind verbose,core cfp"}
+export OMP_NUM_THREADS=${threads}
+APRUN=${APRUN:-"mpiexec -l -np ${ntasks} --cpu-bind verbose,core cfp"}
-APRUN_GEMPAKCFP=${APRUN_GEMPAKCFP:-$APRUN}
-APRUNCFP=$(eval echo $APRUN_GEMPAKCFP)
+APRUN_GEMPAKCFP=${APRUN_GEMPAKCFP:-${APRUN}}
+APRUNCFP=$(eval echo ${APRUN_GEMPAKCFP})
-$APRUNCFP $DATA/poescript
+${APRUNCFP} ${DATA}/poescript
export err=$?; err_chk
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGFS_ATMOS_GEMPAK_META b/jobs/JGFS_ATMOS_GEMPAK_META
index 707537f3f1..0a903aa140 100755
--- a/jobs/JGFS_ATMOS_GEMPAK_META
+++ b/jobs/JGFS_ATMOS_GEMPAK_META
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
############################################
# GFS GEMPAK META PRODUCT GENERATION
@@ -19,14 +19,14 @@ export MP_DEBUG_NOTIMEOUT=yes
##########################################################
# obtain unique process id (pid) and make temp directory
##########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
######################################
# Set up the cycle variable
######################################
-export cycle=${cycle:-t${cyc}z}
+export cycle="t${cyc}z"
###########################################
# Run setpdy and initialize PDY variables
@@ -38,14 +38,14 @@ setpdy.sh
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-export FIXgempak=${FIXgempak:-$HOMEgfs/gempak/fix}
-export USHgempak=${USHgempak:-$HOMEgfs/gempak/ush}
-export SRCgfs=${SRCgfs:-$HOMEgfs/scripts}
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix}
+export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
+export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
-cp $FIXgempak/datatype.tbl datatype.tbl
+cp ${FIXgempak}/datatype.tbl datatype.tbl
#############################################
#set the fcst hrs for all the cycles
@@ -60,7 +60,7 @@ export fhinc=12
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export model=${model:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Set up model and cycle specific variables
@@ -70,8 +70,8 @@ export DBN_ALERT_TYPE=GFS_METAFILE
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak/meta}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}/gempak}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}/gempak/meta}
export COMINgempak=${COMINgempak:-$(compath.py ${envir}/${NET}/${gfs_ver})}
export COMINukmet=${COMINukmet:-$(compath.py ${envir}/ukmet/${ukmet_ver})/ukmet}
@@ -81,8 +81,8 @@ export COMINnam=${COMINnam:-$(compath.py ${envir}/nam/${nam_ver})/nam}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT}
fi
export pgmout=OUTPUT.$$
@@ -90,21 +90,21 @@ export pgmout=OUTPUT.$$
########################################################
# Execute the script.
-$SRCgfs/exgfs_atmos_gempak_meta.sh
+${SRCgfs}/exgfs_atmos_gempak_meta.sh
export err=$?; err_chk
########################################################
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
index 82667654d1..2cb0069a1e 100755
--- a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
+++ b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
############################################
# GFS GEMPAK NCDC PRODUCT GENERATION
@@ -9,18 +9,14 @@ source "$HOMEgfs/ush/preamble.sh"
##########################################################
# obtain unique process id (pid) and make temp directory
##########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
-
-######################################
-# Set up the cycle variable
-######################################
-export cycle=${cycle:-t${cyc}z}
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
###########################################
# Run setpdy and initialize PDY variables
###########################################
+export cycle="t${cyc}z"
setpdy.sh
. ./PDY
@@ -28,24 +24,24 @@ setpdy.sh
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-export FIXgfs=${FIXgfs:-$HOMEgfs/gempak/fix}
-export USHgempak=${USHgempak:-$HOMEgfs/gempak/ush}
-export SRCgfs=${SRCgfs:-$HOMEgfs/scripts}
-export UTILgfs=${UTILgfs:-$HOMEgfs/util}
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+export FIXgfs=${FIXgfs:-${HOMEgfs}/gempak/fix}
+export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
+export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
+export UTILgfs=${UTILgfs:-${HOMEgfs}/util}
######################################
# Set up the GEMPAK directory
#######################################
-export HOMEgempak=${HOMEgempak:-$HOMEgfs/gempak}
-export FIXgempak=${FIXgempak:-$HOMEgempak/fix}
-export USHgempak=${USHgempak:-$HOMEgempak/ush}
+export HOMEgempak=${HOMEgempak:-${HOMEgfs}/gempak}
+export FIXgempak=${FIXgempak:-${HOMEgempak}/fix}
+export USHgempak=${USHgempak:-${HOMEgempak}/ush}
export MP_PULSE=0
export MP_TIMEOUT=2000
-export cycle=t${cyc}z
+
#
# Set up model and cycle specific variables
@@ -63,22 +59,22 @@ export fstart=00
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export model=${model:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak}
-export COMINgfs=${COMINgfs:-$(compath.py ${envir}/${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
-export COMINobsproc=${COMINobsproc:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}/gempak}
+export COMINgfs=${COMINgfs:-$(compath.py ${envir}/${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
+export COMINobsproc=${COMINobsproc:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT $COMOUTwmo
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT} ${COMOUTwmo}
fi
export pgmout=OUTPUT.$$
@@ -86,21 +82,21 @@ export pgmout=OUTPUT.$$
########################################################
# Execute the script.
-$SRCgfs/exgfs_atmos_gempak_gif_ncdc_skew_t.sh
+${SRCgfs}/exgfs_atmos_gempak_gif_ncdc_skew_t.sh
export err=$?; err_chk
########################################################
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC
index f7080fb523..f4284ff35a 100755
--- a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC
+++ b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
############################################
# GFS_PGRB2_SPEC_GEMPAK PRODUCT GENERATION
@@ -9,14 +9,14 @@ source "$HOMEgfs/ush/preamble.sh"
#########################################################
# obtain unique process id (pid) and make temp directory
#########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
######################################
# Set up the cycle variable
######################################
-export cycle=${cycle:-t${cyc}z}
+export cycle="t${cyc}z"
###########################################
# Run setpdy and initialize PDY variables
@@ -28,12 +28,12 @@ setpdy.sh
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-export FIXgempak=${FIXgempak:-$HOMEgfs/gempak/fix}
-export USHgempak=${USHgempak:-$HOMEgfs/gempak/ush}
-export SRCgfs=${SRCgfs:-$HOMEgfs/scripts}
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+export FIXgempak=${FIXgempak:-${HOMEgfs}/gempak/fix}
+export USHgempak=${USHgempak:-${HOMEgfs}/gempak/ush}
+export SRCgfs=${SRCgfs:-${HOMEgfs}/scripts}
# For half-degree P Grib files
#export DO_HD_PGRB=YES
@@ -43,7 +43,7 @@ export SRCgfs=${SRCgfs:-$HOMEgfs/scripts}
####################################
export NET=gfs
export RUN=gfs
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
export finc=3
export model=gfs
export EXT=""
@@ -51,25 +51,25 @@ export EXT=""
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${NET}.${PDY})/${cyc}/$COMPONENT/gempak}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${NET}.${PDY})/${cyc}/${COMPONENT}/gempak}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT}
fi
-export DATA_HOLD=$DATA
+export DATA_HOLD=${DATA}
#################################################################
# Execute the script for the regular grib
#################################################################
-export DATA=$DATA_HOLD/SPECIAL
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA_HOLD}/SPECIAL
+mkdir -p ${DATA}
+cd ${DATA}
export DBN_ALERT_TYPE=GFS_GOESSIM_GEMPAK
export RUN2=gfs_goessim
@@ -83,14 +83,14 @@ echo "RUNS the Program"
########################################################
# Execute the script.
-$SRCgfs/exgfs_atmos_goes_nawips.sh
+${SRCgfs}/exgfs_atmos_goes_nawips.sh
#################################################################
# Execute the script for the 221 grib
-export DATA=$DATA_HOLD/SPECIAL221
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA_HOLD}/SPECIAL221
+mkdir -p ${DATA}
+cd ${DATA}
export DBN_ALERT_TYPE=GFS_GOESSIM221_GEMPAK
export RUN2=gfs_goessim221
@@ -104,12 +104,12 @@ echo "RUNS the Program"
########################################################
# Execute the script.
-$SRCgfs/exgfs_atmos_goes_nawips.sh
+${SRCgfs}/exgfs_atmos_goes_nawips.sh
export err=$?; err_chk
########################################################
echo "end of program"
-cd $DATA_HOLD
+cd ${DATA_HOLD}
echo "######################################"
echo " SPECIAL.OUT "
echo "######################################"
@@ -117,14 +117,14 @@ echo "######################################"
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS
index 74b4695f28..76937f40f6 100755
--- a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS
+++ b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
@@ -11,14 +11,14 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
##########################################################
# obtain unique process id (pid) and make temp directory
##########################################################
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
######################################
# Set up the cycle variable
######################################
-export cycle=${cycle:-t${cyc}z}
+export cycle="t${cyc}z"
###########################################
# Run setpdy and initialize PDY variables
@@ -30,13 +30,13 @@ setpdy.sh
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export USHgfs=${USHgfs:-$HOMEgfs/ush}
-export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
-export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo}
-export PARMproduct=${PARMproduct:-$HOMEgfs/parm/product}
-export FIXgfs=${FIXgfs:-$HOMEgfs/fix}
+export USHgfs=${USHgfs:-${HOMEgfs}/ush}
+export EXECgfs=${EXECgfs:-${HOMEgfs}/exec}
+export PARMgfs=${PARMgfs:-${HOMEgfs}/parm}
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+export PARMwmo=${PARMwmo:-${HOMEgfs}/parm/wmo}
+export PARMproduct=${PARMproduct:-${HOMEgfs}/parm/product}
+export FIXgfs=${FIXgfs:-${HOMEgfs}/fix}
###################################
# Specify NET and RUN Name and model
@@ -44,20 +44,20 @@ export FIXgfs=${FIXgfs:-$HOMEgfs/fix}
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export model=${model:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
# Define COM directories
##############################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT $COMOUTwmo
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT} ${COMOUTwmo}
fi
export pgmout=OUTPUT.$$
@@ -73,7 +73,7 @@ export FHINC=003
#######################################
# Specify Restart File Name to Key Off
#######################################
-restart_file=$COMIN/${RUN}.t${cyc}z.special.grb2if
+restart_file=${COMIN}/${RUN}.t${cyc}z.special.grb2if
####################################
# Specify Timeout Behavior of Post
@@ -89,46 +89,46 @@ export SLEEP_INT=5
####################################
# Check if this is a restart
####################################
-if test -f $COMIN/$RUN.t${cyc}z.control.goessimpgrb2
+if test -f ${COMIN}/${RUN}.t${cyc}z.control.goessimpgrb2
then
- modelrecvy=$(cat < $COMIN/$RUN.t${cyc}z.control.goessimpgrb)
- recvy_pdy=$(echo $modelrecvy | cut -c1-8)
- recvy_cyc=$(echo $modelrecvy | cut -c9-10)
- recvy_shour=$(echo $modelrecvy | cut -c11-13)
+ modelrecvy=$(cat < ${COMIN}/${RUN}.t${cyc}z.control.goessimpgrb)
+ recvy_pdy=$(echo ${modelrecvy} | cut -c1-8)
+ recvy_cyc=$(echo ${modelrecvy} | cut -c9-10)
+ recvy_shour=$(echo ${modelrecvy} | cut -c11-13)
- if test $RERUN = "NO"
+ if test ${RERUN} = "NO"
then
- NEW_SHOUR=$(expr $recvy_shour + $FHINC)
- if test $NEW_SHOUR -ge $SHOUR
+ NEW_SHOUR=$(expr ${recvy_shour} + ${FHINC})
+ if test ${NEW_SHOUR} -ge ${SHOUR}
then
- export SHOUR=$NEW_SHOUR
+ export SHOUR=${NEW_SHOUR}
fi
- if test $recvy_shour -ge $FHOUR
+ if test ${recvy_shour} -ge ${FHOUR}
then
- echo="Forecast Pgrb Generation Already Completed to $FHOUR"
+ echo="Forecast Pgrb Generation Already Completed to ${FHOUR}"
else
- echo="Starting: PDY=$PDY cycle=t${recvy_cyc}z SHOUR=$SHOUR ."
+ echo="Starting: PDY=${PDY} cycle=t${recvy_cyc}z SHOUR=${SHOUR} ."
fi
fi
fi
#############################################################
# Execute the script
-$HOMEgfs/scripts/exgfs_atmos_grib2_special_npoess.sh
+${HOMEgfs}/scripts/exgfs_atmos_grib2_special_npoess.sh
export err=$?;err_chk
#############################################################
############################################
# print exec I/O output
############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ] ; then
- rm -rf $DATA
+if [ "${KEEPDATA}" != "YES" ] ; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGFS_ATMOS_POSTSND b/jobs/JGFS_ATMOS_POSTSND
index 859811e753..2c3363e1b0 100755
--- a/jobs/JGFS_ATMOS_POSTSND
+++ b/jobs/JGFS_ATMOS_POSTSND
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-configs="base postsnd"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env postsnd
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -45,10 +20,31 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base postsnd"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env postsnd
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the exglobal script
##############################################
@@ -69,31 +65,31 @@ export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
# Set up the source directories
###################################
-export HOMEbufrsnd=${HOMEbufrsnd:-$HOMEgfs}
-export EXECbufrsnd=${EXECbufrsnd:-$HOMEbufrsnd/exec}
-export FIXbufrsnd=${FIXbufrsnd:-$HOMEbufrsnd/fix/product}
-export PARMbufrsnd=${PARMbufrsnd:-$HOMEbufrsnd/parm/product}
-export USHbufrsnd=${USHbufrsnd:-$HOMEbufrsnd/ush}
-export SCRbufrsnd=${SCRbufrsnd:-$HOMEbufrsnd/scripts}
+export HOMEbufrsnd=${HOMEbufrsnd:-${HOMEgfs}}
+export EXECbufrsnd=${EXECbufrsnd:-${HOMEbufrsnd}/exec}
+export FIXbufrsnd=${FIXbufrsnd:-${HOMEbufrsnd}/fix/product}
+export PARMbufrsnd=${PARMbufrsnd:-${HOMEbufrsnd}/parm/product}
+export USHbufrsnd=${USHbufrsnd:-${HOMEbufrsnd}/ush}
+export SCRbufrsnd=${SCRbufrsnd:-${HOMEbufrsnd}/scripts}
##############################
# Define COM Directories
##############################
-export COMIN=${COMIN:-$ROTDIR/${CDUMP}.${PDY}/${cyc}/atmos}
-export COMOUT=${COMOUT:-$ROTDIR/${CDUMP}.${PDY}/${cyc}/atmos}
+export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos}
export pcom=${pcom:-${COMOUT}/wmo}
export COMAWP=${COMAWP:-${COMOUT}/gempak}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-[[ ! -d $COMOUT ]] && mkdir -p $COMOUT
-[[ ! -d $pcom ]] && mkdir -p $pcom
-[[ ! -d $COMAWP ]] && mkdir -p $COMAWP
+[[ ! -d ${COMOUT} ]] && mkdir -p ${COMOUT}
+[[ ! -d ${pcom} ]] && mkdir -p ${pcom}
+[[ ! -d ${COMAWP} ]] && mkdir -p ${COMAWP}
########################################################
# Execute the script.
-$SCRbufrsnd/exgfs_atmos_postsnd.sh
+${SCRbufrsnd}/exgfs_atmos_postsnd.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -103,15 +99,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGFS_ATMOS_VMINMON b/jobs/JGFS_ATMOS_VMINMON
index 3087d0ecc3..bd996ce01d 100755
--- a/jobs/JGFS_ATMOS_VMINMON
+++ b/jobs/JGFS_ATMOS_VMINMON
@@ -3,27 +3,26 @@
###########################################################
# GFS Minimization Monitor (MinMon) job
###########################################################
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################
# Specify NET and RUN name
##############################
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
###########################################################
# obtain unique process id (pid) and make temp directories
###########################################################
export pid=$$
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
-###########################################################
+###########################################################
# obtain unique process id (pid) and make temp directories
###########################################################
export MINMON_SUFFIX=${MINMON_SUFFIX:-GFS}
@@ -34,12 +33,12 @@ export m_job=${m_job:-${MINMON_SUFFIX}_mmDE}
# Specify Package Areas
##############################################
export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
-export SCRgfs=${SCRgfs:-$HOMEgfs/scripts}
-export M_FIXgfs=${M_FIXgfs:-$HOMEgfs/fix/product}
+export SCRgfs=${SCRgfs:-${HOMEgfs}/scripts}
+export M_FIXgfs=${M_FIXgfs:-${HOMEgfs}/fix/product}
export HOMEminmon=${HOMEminmon:-${HOMEgfs}}
-export EXECminmon=${EXECminmon:-$HOMEminmon/exec}
-export USHminmon=${USHminmon:-$HOMEminmon/ush}
+export EXECminmon=${EXECminmon:-${HOMEminmon}/exec}
+export USHminmon=${USHminmon:-${HOMEminmon}/ush}
#############################################
@@ -61,10 +60,10 @@ export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})}
M_TANKverf=${M_TANKverf:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}/minmon}
export M_TANKverfM1=${M_TANKverfM1:-${COM_IN}/${RUN}.${P_PDY}/${p_cyc}/${COMPONENT}/minmon}
-export COMIN=${COMIN:-$COM_IN/${RUN}.${PDY}/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+
+mkdir -p -m 775 ${M_TANKverf}
-mkdir -p -m 775 $M_TANKverf
-
########################################
# Set necessary environment variables
@@ -75,9 +74,9 @@ export gsistat=${gsistat:-${COMIN}/gfs.t${cyc}z.gsistat}
########################################################
# Execute the script.
-${GMONSH:-$SCRgfs/exgfs_atmos_vminmon.sh} ${PDY} ${cyc}
+${GMONSH:-${SCRgfs}/exgfs_atmos_vminmon.sh} ${PDY} ${cyc}
err=$?
-[[ $err -ne 0 ]] && exit $err
+[[ ${err} -ne 0 ]] && exit ${err}
################################
diff --git a/jobs/JGLOBAL_ARCHIVE b/jobs/JGLOBAL_ARCHIVE
index 9d7dbb7436..97d8e4be35 100755
--- a/jobs/JGLOBAL_ARCHIVE
+++ b/jobs/JGLOBAL_ARCHIVE
@@ -9,9 +9,8 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################################
export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base arch"
-config_path=${EXPDIR:-${PACKAGEROOT}/gfs.${gfs_ver}/parm/config}
for config in ${configs}; do
- . "${config_path}"/config."${config}"
+ . ${EXPDIR}/config.${config}
status=$?
[[ ${status} -ne 0 ]] && exit "${status}"
done
diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS b/jobs/JGLOBAL_ATMOS_ANALYSIS
index 3d4e26c84e..a557fd81a5 100755
--- a/jobs/JGLOBAL_ATMOS_ANALYSIS
+++ b/jobs/JGLOBAL_ATMOS_ANALYSIS
@@ -1,39 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base anal"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env anal
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -47,17 +21,38 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base anal"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env anal
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
-export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}
+export COMPONENT="atmos"
+export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}
export MAKE_NSSTBUFR=${MAKE_NSSTBUFR:-"NO"}
export MAKE_ACFTBUFR=${MAKE_ACFTBUFR:-"NO"}
@@ -66,56 +61,56 @@ export MAKE_ACFTBUFR=${MAKE_ACFTBUFR:-"NO"}
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
+ export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
fi
-mkdir -m 775 -p $COMOUT
+mkdir -m 775 -p ${COMOUT}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}"
-export ATMGES="$COMIN_GES/${GPREFIX}atmf006${GSUFFIX}"
-if [ ! -f $ATMGES ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES = $ATMGES"
+export ATMGES="${COMIN_GES}/${GPREFIX}atmf006${GSUFFIX}"
+if [ ! -f ${ATMGES} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES = ${ATMGES}"
exit 1
fi
# Get LEVS
if [ ${GSUFFIX} = ".nc" ]; then
- export LEVS=$($NCLEN $ATMGES pfull)
+ export LEVS=$(${NCLEN} ${ATMGES} pfull)
status=$?
else
- export LEVS=$($NEMSIOGET $ATMGES dimz | awk '{print $2}')
+ export LEVS=$(${NEMSIOGET} ${ATMGES} dimz | awk '{print $2}')
status=$?
fi
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
-if [ $DOHYBVAR = "YES" ]; then
- export ATMGES_ENSMEAN="$COMIN_GES_ENS/${GPREFIX}atmf006.ensmean$GSUFFIX"
- if [ ! -f $ATMGES_ENSMEAN ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = $ATMGES_ENSMEAN"
+if [ ${DOHYBVAR} = "YES" ]; then
+ export ATMGES_ENSMEAN="${COMIN_GES_ENS}/${GPREFIX}atmf006.ensmean${GSUFFIX}"
+ if [ ! -f ${ATMGES_ENSMEAN} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = ${ATMGES_ENSMEAN}"
exit 2
fi
fi
@@ -123,46 +118,46 @@ fi
# Link observational data
export PREPQC="${COMIN_OBS}/${OPREFIX}prepbufr"
-if [ ! -f $PREPQC ]; then
- echo "WARNING: Global PREPBUFR FILE $PREPQC MISSING"
+if [ ! -f ${PREPQC} ]; then
+ echo "WARNING: Global PREPBUFR FILE ${PREPQC} MISSING"
fi
export TCVITL="${COMOUT}/${OPREFIX}syndata.tcvitals.tm00"
-if [[ $DONST = "YES" ]]; then
- if [[ $MAKE_NSSTBUFR == "YES" ]]; then
+if [[ ${DONST} = "YES" ]]; then
+ if [[ ${MAKE_NSSTBUFR} == "YES" ]]; then
export NSSTBF="${COMOUT}/${OPREFIX}nsstbufr"
else
export NSSTBF="${COMIN_OBS}/${OPREFIX}nsstbufr"
fi
fi
-if [[ $MAKE_ACFTBUFR == "YES" ]]; then
+if [[ ${MAKE_ACFTBUFR} == "YES" ]]; then
export PREPQCPF="${COMOUT}/${OPREFIX}prepbufr.acft_profiles"
else
export PREPQCPF="${COMIN_OBS}/${OPREFIX}prepbufr.acft_profiles"
fi
-# Copy fix file for obsproc
-if [ $RUN = "gfs" ]; then
- mkdir -p $ROTDIR/fix
- cp $FIXgsi/prepobs_errtable.global $ROTDIR/fix/
+# Copy fix file for obsproc # TODO: Why is this necessary?
+if [ ${RUN} = "gfs" ]; then
+ mkdir -p ${ROTDIR}/fix
+ cp ${FIXgsi}/prepobs_errtable.global ${ROTDIR}/fix/
fi
###############################################################
# Run relevant script
-${ANALYSISSH:-$SCRgfs/exglobal_atmos_analysis.sh}
+${ANALYSISSH:-${SCRgfs}/exglobal_atmos_analysis.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# Send Alerts
##############################################
-if [ $SENDDBN = YES -a $RUN = gdas ] ; then
- $DBNROOT/bin/dbn_alert MODEL GDAS_MSC_abias $job $COMOUT/${APREFIX}abias
- $DBNROOT/bin/dbn_alert MODEL GDAS_MSC_abias_pc $job $COMOUT/${APREFIX}abias_pc
- $DBNROOT/bin/dbn_alert MODEL GDAS_MSC_abias_air $job $COMOUT/${APREFIX}abias_air
+if [ ${SENDDBN} = YES -a ${RUN} = gdas ] ; then
+ ${DBNROOT}/bin/dbn_alert MODEL GDAS_MSC_abias ${job} ${COMOUT}/${APREFIX}abias
+ ${DBNROOT}/bin/dbn_alert MODEL GDAS_MSC_abias_pc ${job} ${COMOUT}/${APREFIX}abias_pc
+ ${DBNROOT}/bin/dbn_alert MODEL GDAS_MSC_abias_air ${job} ${COMOUT}/${APREFIX}abias_air
fi
@@ -173,14 +168,14 @@ fi
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
+cd ${DATAROOT}
[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC b/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC
index 2af443b8bf..97dfd8079b 100755
--- a/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC
+++ b/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC
@@ -1,39 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base anal analcalc"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env analcalc
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -47,88 +21,109 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base anal analcalc"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env analcalc
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
-export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}
+export COMPONENT="atmos"
+export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}
##############################################
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
+ export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
fi
-mkdir -m 775 -p $COMOUT
+mkdir -m 775 -p ${COMOUT}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}"
-export ATMGES="$COMIN_GES/${GPREFIX}atmf006${GSUFFIX}"
-if [ ! -f $ATMGES ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES = $ATMGES"
+export ATMGES="${COMIN_GES}/${GPREFIX}atmf006${GSUFFIX}"
+if [ ! -f ${ATMGES} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES = ${ATMGES}"
exit 1
fi
# Get LEVS
if [ ${GSUFFIX} = ".nc" ]; then
- export LEVS=$($NCLEN $ATMGES pfull)
+ export LEVS=$(${NCLEN} ${ATMGES} pfull)
status=$?
else
- export LEVS=$($NEMSIOGET $ATMGES dimz | awk '{print $2}')
+ export LEVS=$(${NEMSIOGET} ${ATMGES} dimz | awk '{print $2}')
status=$?
fi
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
-if [ $DOHYBVAR = "YES" ]; then
- export ATMGES_ENSMEAN="$COMIN_GES_ENS/${GPREFIX}atmf006.ensmean$GSUFFIX"
- if [ ! -f $ATMGES_ENSMEAN ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = $ATMGES_ENSMEAN"
+if [ ${DOHYBVAR} = "YES" ]; then
+ export ATMGES_ENSMEAN="${COMIN_GES_ENS}/${GPREFIX}atmf006.ensmean${GSUFFIX}"
+ if [ ! -f ${ATMGES_ENSMEAN} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES_ENSMEAN = ${ATMGES_ENSMEAN}"
exit 2
fi
fi
-# Generate Gaussian surface analysis
+# Generate Gaussian surface analysis # TODO: Should this be removed now that sfcanl is its own job?
export DOGAUSFCANL=${DOGAUSFCANL:-"YES"}
###############################################################
# Run relevant script
-${ANALCALCSH:-$SCRgfs/exglobal_atmos_analysis_calc.sh}
+${ANALCALCSH:-${SCRgfs}/exglobal_atmos_analysis_calc.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -138,15 +133,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP b/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP
index d40a22da0f..c2730b8464 100755
--- a/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP
+++ b/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP
@@ -1,19 +1,18 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
@@ -21,10 +20,9 @@ done
# Obtain unique process id (pid) and make temp directory
##############################################
export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -49,16 +47,16 @@ export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
##############################################
CDATE=${CDATE:-${PDY}${cyc}}
-GDATE=$($NDATE -06 $CDATE)
-PDY_m6hrs=$(echo $GDATE | cut -c1-8)
-cyc_m6hrs=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -06 ${CDATE})
+PDY_m6hrs=$(echo ${GDATE} | cut -c1-8)
+cyc_m6hrs=$(echo ${GDATE} | cut -c9-10)
export cycle_m6hrs=t${cyc_m6hrs}z
-export COMPONENT=${COMPONENT:-atmos}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMPONENT="atmos"
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
-export COMINobsproc=${COMINobsproc:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMIN_m6hrs=${COMIN_m6hrs:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY_m6hrs}/${cyc_m6hrs}/$COMPONENT}
+export COMINobsproc=${COMINobsproc:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMIN_m6hrs=${COMIN_m6hrs:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY_m6hrs}/${cyc_m6hrs}/${COMPONENT}}
export IMS_FILE=${COMINobsproc}/${RUN}.${cycle}.imssnow96.grib2
export FIVE_MIN_ICE_FILE=${COMINobsproc}/${RUN}.${cycle}.seaice.5min.grib2
@@ -72,9 +70,9 @@ export BLENDED_ICE_FILE_m6hrs=${BLENDED_ICE_FILE_m6hrs:-${COMIN_m6hrs}/${RUN}.${
# Run relevant script
###############################################################
-${EMCSFCPREPSH:-$SCRgfs/exemcsfc_global_sfc_prep.sh}
+${EMCSFCPREPSH:-${SCRgfs}/exemcsfc_global_sfc_prep.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# End JOB SPECIFIC work
@@ -84,14 +82,14 @@ status=$?
# Final processing
##############################################
if [ -e ${pgmout} ]; then
- cat $pgmout
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_ATMOS_POST b/jobs/JGLOBAL_ATMOS_POST
index ab75918aa6..c0327a8311 100755
--- a/jobs/JGLOBAL_ATMOS_POST
+++ b/jobs/JGLOBAL_ATMOS_POST
@@ -2,34 +2,9 @@
source "${HOMEgfs}/ush/preamble.sh"
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-configs="base post"
-export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
-config_path=${EXPDIR:-${PACKAGEROOT}/gfs.${gfs_ver}/parm/config}
-for config in ${configs}; do
- . "${config_path}/config.${config}"
- status=$?
- (( status != 0 )) && exit "${status}"
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. "${HOMEgfs}/env/${machine}.env" post
-status=$?
-(( status != 0 )) && exit "${status}"
-
-
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL${job}"}
export DATA=${DATA:-${DATAROOT}/${jobid}}
mkdir -p "${DATA}"
cd "${DATA}" || exit 1
@@ -46,9 +21,31 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base post"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ (( status != 0 )) && exit "${status}"
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. "${HOMEgfs}/env/${machine}.env" post
+status=$?
+(( status != 0 )) && exit "${status}"
+
+
####################################
# Specify version numbers
####################################
@@ -62,7 +59,7 @@ export g2tmpl_ver=${g2tmpl_ver:-v1.5.0}
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
diff --git a/jobs/JGLOBAL_ATMOS_POST_MANAGER b/jobs/JGLOBAL_ATMOS_POST_MANAGER
index 01323846db..88aca2896f 100755
--- a/jobs/JGLOBAL_ATMOS_POST_MANAGER
+++ b/jobs/JGLOBAL_ATMOS_POST_MANAGER
@@ -1,61 +1,62 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+####################################
+# make temp directories
+####################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+###########################################
+# Run setpdy and initialize PDY variables
+###########################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+####################################
+# Determine Job Output Name on System
+####################################
+export pid=${pid:-$$}
+export jobid="${outid}.o${pid}"
+export pgmout="OUTPUT.${pid}"
+
########################################
# GFS post manager
########################################
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base post"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env post
+. ${HOMEgfs}/env/${machine}.env post
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
-set -xue
-# #### 07/30/1999 ###################
-# SET SHELL PROCESSING VARIABLES
-# ###################################
-export PS4='$SECONDS + '
-date
####################################
# Specify NET and RUN Name and model
####################################
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
-####################################
-# obtain unique process id (pid) and make temp directories
-####################################
-export pid=${pid:-$$}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir $DATA
-cd $DATA
-
-####################################
-# Determine Job Output Name on System
-####################################
-export outid="LL$job"
-export jobid="${outid}.o${pid}"
-export pgmout="OUTPUT.${pid}"
####################################
# Specify version numbers
@@ -66,37 +67,23 @@ export gfs_ver=${gfs_ver:-v15.0.0}
# Specify Execution Areas
####################################
export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}}
-export EXECgfs=${HOMEgfs:-$HOMEgfs/exec}
-export FIXgfs=${HOMEgfs:-$HOMEgfs/fix}
-export PARMgfs=${HOMEgfs:-$HOMEgfs/parm}
-export USHgfs=${HOMEgfs:-$HOMEgfs/ush}
+export EXECgfs=${HOMEgfs:-${HOMEgfs}/exec}
+export FIXgfs=${HOMEgfs:-${HOMEgfs}/fix}
+export PARMgfs=${HOMEgfs:-${HOMEgfs}/parm}
+export USHgfs=${HOMEgfs:-${HOMEgfs}/ush}
###########################
# Set up EXT variable
###########################
export EXT_FCST=NO
-###################################
-# Set up the UTILITIES
-###################################
-# export HOMEutil=${HOMEutil:-/nw${envir}/util.${util_ver}}
-# export utilscript=${utilscript:-$HOMEutil/ush}
-# export utilexec=${utilexec:-$HOMEutil/exec}
-
-###########################################
-# Run setpdy and initialize PDY variables
-###########################################
-export cycle=t${cyc}z
-setpdy.sh
-. ./PDY
-
-export ROTDIR=${ROTDIR:-${COMROOT:?}/$NET/$envir}
-export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
-export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
+export ROTDIR=${ROTDIR:-${COMROOT:?}/${NET}/${envir}}
+export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
########################################################
# Execute the script.
-$HOMEgfs/scripts/exglobal_atmos_pmgr.sh
+${HOMEgfs}/scripts/exglobal_atmos_pmgr.sh
########################################################
diff --git a/jobs/JGLOBAL_ATMOS_SFCANL b/jobs/JGLOBAL_ATMOS_SFCANL
index 2e8e8a7160..c574f9d0e3 100755
--- a/jobs/JGLOBAL_ATMOS_SFCANL
+++ b/jobs/JGLOBAL_ATMOS_SFCANL
@@ -1,38 +1,13 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#############################
-# Source relevant config files
-#############################
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-configs="base sfcanl"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env sfcanl
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -46,18 +21,38 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
+configs="base sfcanl"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env sfcanl
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
-if [ $RUN_ENVIR = "nco" ]; then
- export ROTDIR=${COMROOT:?}/$NET/$envir
+export COMPONENT="atmos"
+if [ ${RUN_ENVIR} = "nco" ]; then
+ export ROTDIR=${COMROOT:?}/${NET}/${envir}
fi
@@ -65,37 +60,37 @@ fi
# Begin JOB SPECIFIC work
##############################################
-GDATE=$($NDATE -$assim_freq $CDATE)
-gPDY=$(echo $GDATE | cut -c1-8)
-gcyc=$(echo $GDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+gPDY=$(echo ${GDATE} | cut -c1-8)
+gcyc=$(echo ${GDATE} | cut -c9-10)
GDUMP=${GDUMP:-"gdas"}
export OPREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="${GDUMP}.t${gcyc}z."
export APREFIX="${CDUMP}.t${cyc}z."
-export GSUFFIX=${GSUFFIX:-$SUFFIX}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export GSUFFIX=${GSUFFIX:-${SUFFIX}}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
-if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
- export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_OBS=${COMIN_OBS:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
- export COMIN_GES_OBS=${COMIN_GES_OBS:-$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT}
+if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
+ export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_OBS=${COMIN_OBS:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+ export COMIN_GES_OBS=${COMIN_GES_OBS:-${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}}
else
- export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
- export COMIN_OBS="$DMPDIR/$CDATE/$CDUMP"
- export COMIN_GES_OBS="$DMPDIR/$GDATE/$GDUMP"
+ export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+ export COMIN_OBS="${DMPDIR}/${CDATE}/${CDUMP}"
+ export COMIN_GES_OBS="${DMPDIR}/${GDATE}/${GDUMP}"
fi
-mkdir -m 775 -p $COMOUT
+mkdir -m 775 -p ${COMOUT}
# COMIN_GES and COMIN_GES_ENS are used in script
-export COMIN_GES="$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT"
-export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
+export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}"
+export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}"
-export ATMGES="$COMIN_GES/${GPREFIX}atmf006${GSUFFIX}"
-if [ ! -f $ATMGES ]; then
- echo "FATAL ERROR: FILE MISSING: ATMGES = $ATMGES"
+export ATMGES="${COMIN_GES}/${GPREFIX}atmf006${GSUFFIX}"
+if [ ! -f ${ATMGES} ]; then
+ echo "FATAL ERROR: FILE MISSING: ATMGES = ${ATMGES}"
exit 1
fi
@@ -103,9 +98,9 @@ fi
###############################################################
# Run relevant script
-${SFCANALSH:-$SCRgfs/exglobal_atmos_sfcanl.sh}
+${SFCANALSH:-${SCRgfs}/exglobal_atmos_sfcanl.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -115,15 +110,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC b/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC
index e9c9b9db1e..7aa3e5111e 100755
--- a/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC
+++ b/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC
@@ -1,38 +1,36 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base prep"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env prep
+. ${HOMEgfs}/env/${machine}.env prep
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
##############################################
@@ -55,7 +53,7 @@ export pgmerr=errfile
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
##############################################
@@ -67,7 +65,7 @@ export DO_RELOCATE=${DO_RELOCATE:-NO} # Turn on tropical cyclone reloc
export tmmark=tm00
export ARCHSYND=${ROTDIR}/syndat # this location is unique, do not change
-if [ ! -d ${ARCHSYND} ]; then mkdir -p $ARCHSYND; fi
+if [ ! -d ${ARCHSYND} ]; then mkdir -p ${ARCHSYND}; fi
export HOMENHC=${HOMENHC:-/lfs/h1/ops/prod/dcom/nhc/atcf/ncep}
@@ -76,13 +74,13 @@ export TANK_TROPCY=${TANK_TROPCY:-${DCOMROOT}} # path to tropical cyclone reco
##############################################
# Define COM directories
##############################################
-export COMIN=${ROTDIR}/${RUN}.${PDY}/${cyc}/$COMPONENT
-export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/$COMPONENT
-if [ ! -d ${COMOUT} ]; then mkdir -p $COMOUT; fi
+export COMIN=${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}
+export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}
+if [ ! -d ${COMOUT} ]; then mkdir -p ${COMOUT}; fi
#export COMINgdas=${ROTDIR}/gdas.${PDY}/${cyc}
#export COMINgfs=${ROTDIR}/gfs.${PDY}/${cyc}
-export CRES=$(echo $CASE | cut -c2-)
+export CRES=$(echo ${CASE} | cut -c2-)
export LATB=$((CRES*2))
export LONB=$((CRES*4))
export BKGFREQ=1 # for hourly relocation
@@ -92,23 +90,23 @@ export BKGFREQ=1 # for hourly relocation
# Run relevant script
##############################################
-${TROPCYQCRELOSH:-$SCRgfs/exglobal_atmos_tropcy_qc_reloc.sh}
+${TROPCYQCRELOSH:-${SCRgfs}/exglobal_atmos_tropcy_qc_reloc.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_FORECAST b/jobs/JGLOBAL_FORECAST
index 7f6dbd9a26..e272e449fa 100755
--- a/jobs/JGLOBAL_FORECAST
+++ b/jobs/JGLOBAL_FORECAST
@@ -1,50 +1,14 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
-
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
-
-#--------------------------------
-if [ $RUN_ENVIR = "emc" ]; then
-#--------------------------------
+source "${HOMEgfs}/ush/preamble.sh"
##############################################
-# Set variables used in the exglobal script
+# make temp directory
##############################################
-export CDATE=${CDATE:-${PDY}${cyc}}
-export CDUMP=${CDUMP:-${RUN:-"gfs"}}
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
-#############################
-# Source relevant config files
-#############################
-configs="base fcst"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env fcst
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
-#--------------------------------
-fi
-#--------------------------------
-
-##############################################
-# Obtain unique process id (pid) and make temp directory
-##############################################
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
##############################################
# Run setpdy and initialize PDY variables
@@ -57,47 +21,35 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
-#--------------------------------
-if [ $RUN_ENVIR = "nco" ]; then
-#--------------------------------
-
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base fcst"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+[[ ${DO_WAVE:-"NO"} = "YES" ]] && configs+=" wave"
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
-# Source additional configs
-if [ ${DO_WAVE:-"NO"} = "YES" ]; then
- configs="wave"
- for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
- done
-fi
+
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env fcst
+. ${HOMEgfs}/env/${machine}.env fcst
status=$?
-[[ $status -ne 0 ]] && exit $status
-
-#--------------------------------
-fi
-#--------------------------------
+[[ ${status} -ne 0 ]] && exit ${status}
+##############################################
+# Set variables used in the script
+##############################################
# Set wave variables
if [ ${DO_WAVE:-"NO"} = "YES" ]; then
# WAVE component directory
@@ -111,15 +63,15 @@ fi
##############################################
# Restart conditions for GFS cycle come from GDAS
-rCDUMP=$CDUMP
-[[ $CDUMP = "gfs" ]] && export rCDUMP="gdas"
+rCDUMP=${CDUMP}
+[[ ${CDUMP} = "gfs" ]] && export rCDUMP="gdas"
# Forecast length for GFS forecast
-if [ $CDUMP = "gfs" ]; then
- export FHMAX=$FHMAX_GFS
- export FHOUT=$FHOUT_GFS
- export FHMAX_HF=$FHMAX_HF_GFS
- export FHOUT_HF=$FHOUT_HF_GFS
+if [ ${CDUMP} = "gfs" ]; then
+ export FHMAX=${FHMAX_GFS}
+ export FHOUT=${FHOUT_GFS}
+ export FHMAX_HF=${FHMAX_HF_GFS}
+ export FHOUT_HF=${FHOUT_HF_GFS}
else
export FHMAX_HF=0
export FHOUT_HF=0
@@ -129,9 +81,9 @@ fi
###############################################################
# Run relevant exglobal script
-${FORECASTSH:-$SCRgfs/exglobal_forecast.sh}
+${FORECASTSH:-${SCRgfs}/exglobal_forecast.sh}
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
##############################################
@@ -141,15 +93,15 @@ status=$?
##############################################
# Final processing
##############################################
-if [ -e "$pgmout" ] ; then
- cat $pgmout
+if [ -e "${pgmout}" ] ; then
+ cat ${pgmout}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_WAVE_GEMPAK b/jobs/JGLOBAL_WAVE_GEMPAK
index baf2f437f1..76cc44ec1a 100755
--- a/jobs/JGLOBAL_WAVE_GEMPAK
+++ b/jobs/JGLOBAL_WAVE_GEMPAK
@@ -1,34 +1,43 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
-######################################
-# Set up the cycle variable
-######################################
-export cycle=${cycle:-t${cyc}z}
-
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
setpdy.sh
. ./PDY
-#
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
+
+
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
+export COMPONENT="wave"
export machine=${machine:-WCOSS2}
-export HOMEgfs=${HOMEgfs:-$(dirname $(dirname $0))}
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
###################################
# Set COM Paths
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}/gempak}
#export pid=$$
export pgmout="OUTPUT.$$"
@@ -38,8 +47,8 @@ export SENDDBN=${SENDDBN:-YES}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ] ; then
- mkdir -m 775 -p $COMOUT
+if [ ${SENDCOM} = YES ] ; then
+ mkdir -m 775 -p ${COMOUT}
fi
@@ -47,12 +56,13 @@ fi
# Execute the script.
${HOMEgfs}/scripts/exgfs_wave_nawips.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
###################################
+
# Remove temp directories
-if [ "$KEEPDATA" != "YES" ]; then
- cd $DATAROOT
- rm -rf $DATA
+cd ${DATAROOT}
+if [ "${KEEPDATA}" != "YES" ]; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGLOBAL_WAVE_INIT b/jobs/JGLOBAL_WAVE_INIT
index c111330ca9..80726f2918 100755
--- a/jobs/JGLOBAL_WAVE_INIT
+++ b/jobs/JGLOBAL_WAVE_INIT
@@ -1,79 +1,86 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base wave waveinit"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env waveinit
+. ${HOMEgfs}/env/${machine}.env waveinit
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# PATH for working directory
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
+export COMPONENT="wave"
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
-# Create and go to DATA directory
-export DATA=${DATA:-${DATAROOT:?}/${jobid}}
-mkdir -p $DATA
-cd $DATA
-
-cyc=${cyc:-00}
-export cycle=${cycle:-t${cyc}z}
-
-# Set PDY
-setpdy.sh
-. ./PDY
-
-export pgmout=OUTPUT.$$
-
export MP_PULSE=0
# Path to HOME Directory
-export FIXwave=${FIXwave:-$HOMEgfs/fix/fix_wave_${NET}}
-export PARMwave=${PARMwave:-$HOMEgfs/parm/wave}
-export USHwave=${USHwave:-$HOMEgfs/ush}
-export EXECwave=${EXECwave:-$HOMEgfs/exec}
+export FIXwave=${FIXwave:-${HOMEgfs}/fix/fix_wave_${NET}}
+export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
+export USHwave=${USHwave:-${HOMEgfs}/ush}
+export EXECwave=${EXECwave:-${HOMEgfs}/exec}
# Set COM Paths and GETGES environment
-export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
-[[ ! -d $COMOUT ]] && mkdir -m 775 -p $COMOUT
+export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+[[ ! -d ${COMOUT} ]] && mkdir -m 775 -p ${COMOUT}
-if [ $SENDCOM = YES ]; then
- mkdir -p $COMOUT/rundata
+if [ ${SENDCOM} = YES ]; then
+ mkdir -p ${COMOUT}/rundata
fi
# Set mpi serial command
export wavempexec=${wavempexec:-"mpirun -n"}
export wave_mpmd=${wave_mpmd:-"cfp"}
-# Execute the Script
-$HOMEgfs/scripts/exgfs_wave_init.sh
+# Execute the Script
+${HOMEgfs}/scripts/exgfs_wave_init.sh
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_WAVE_POST_BNDPNT b/jobs/JGLOBAL_WAVE_POST_BNDPNT
index 0f0370c940..00c87870bb 100755
--- a/jobs/JGLOBAL_WAVE_POST_BNDPNT
+++ b/jobs/JGLOBAL_WAVE_POST_BNDPNT
@@ -1,71 +1,78 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base wave wavepostsbs wavepostbndpnt"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env wavepostbndpnt
+. ${HOMEgfs}/env/${machine}.env wavepostbndpnt
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# PATH for working directory
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
+export COMPONENT="wave"
-export HOMEgefs=${HOMEgefs:-$PACKAGEROOT/$NET.${gefs_ver}}
-export HOMEgfs=${HOMEgfs:-$PACKAGEROOT/$NET.${gfs_ver}}
+export HOMEgefs=${HOMEgefs:-${PACKAGEROOT}/${NET}.${gefs_ver}}
+export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/${NET}.${gfs_ver}}
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
-# Create and go to DATA directory
-export DATA=${DATA:-${DATAROOT:?}/${jobid}}
-mkdir -p $DATA
-cd $DATA
-
-export cyc=${cyc:-00}
-export cycle=${cycle:-t${cyc}z}
-
-# Set PDY
-setpdy.sh
-. ./PDY
-
-export CDATE=$PDY$cyc
-
-export pgmout=OUTPUT.$$
+export CDATE=${PDY}${cyc}
export MP_PULSE=0
# Path to HOME Directory
-export FIXwave=${FIXwave:-$HOMEgfs/fix/fix_wave_${NET}}
-export PARMwave=${PARMwave:-$HOMEgfs/parm/wave}
-export USHwave=${USHwave:-$HOMEgfs/ush}
-export EXECwave=${EXECwave:-$HOMEgfs/exec}
+export FIXwave=${FIXwave:-${HOMEgfs}/fix/fix_wave_${NET}}
+export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
+export USHwave=${USHwave:-${HOMEgfs}/ush}
+export EXECwave=${EXECwave:-${HOMEgfs}/exec}
# Set COM Paths and GETGES environment
-export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT/station
+mkdir -p ${COMOUT}/station
-# Set wave model ID tag to include member number
+# Set wave model ID tag to include member number
# if ensemble; waveMEMB var empty in deterministic
membTAG='p'
if [ "${waveMEMB}" == "00" ]; then membTAG='c'; fi
@@ -75,15 +82,15 @@ export WAV_MOD_TAG=${CDUMP}wave${waveMEMB}
export CFP_VERBOSE=1
export FHMAX_WAV_PNT=180
-if [ $FHMAX_WAV -lt $FHMAX_WAV_PNT ] ; then export FHMAX_WAV_IBP=$FHMAX_WAV ; fi
+if [ ${FHMAX_WAV} -lt ${FHMAX_WAV_PNT} ] ; then export FHMAX_WAV_IBP=${FHMAX_WAV} ; fi
export DOSPC_WAV='YES' # Spectral post
export DOBLL_WAV='NO' # Bulletin post
export DOBNDPNT_WAV='YES' #not boundary points
-# Execute the Script
-$HOMEgfs/scripts/exgfs_wave_post_pnt.sh
+# Execute the Script
+${HOMEgfs}/scripts/exgfs_wave_post_pnt.sh
err=$?
-if [ $err -ne 0 ]; then
+if [ ${err} -ne 0 ]; then
echo "FATAL ERROR: ex-script of GWES_POST failed!"
exit ${err}
fi
@@ -91,8 +98,8 @@ fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL b/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
index 8b5819a954..863a741438 100755
--- a/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
+++ b/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
@@ -1,69 +1,75 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base wave wavepostsbs wavepostbndpntbll"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env wavepostbndpntbll
+. ${HOMEgfs}/env/${machine}.env wavepostbndpntbll
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# PATH for working directory
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
+export COMPONENT="wave"
-export HOMEgefs=${HOMEgefs:-$PACKAGEROOT/$NET.${gefs_ver}}
-export HOMEgfs=${HOMEgfs:-$PACKAGEROOT/$NET.${gfs_ver}}
+export HOMEgefs=${HOMEgefs:-${PACKAGEROOT}/${NET}.${gefs_ver}}
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
-# Create and go to DATA directory
-export DATA=${DATA:-${DATAROOT:?}/${jobid}}
-mkdir -p $DATA
-cd $DATA
-
-export cyc=${cyc:-00}
-export cycle=${cycle:-t${cyc}z}
-
-# Set PDY
-setpdy.sh
-. ./PDY
-
-export CDATE=$PDY$cyc
-
-export pgmout=OUTPUT.$$
+export CDATE=${PDY}${cyc}
export MP_PULSE=0
# Path to HOME Directory
-export FIXwave=${FIXwave:-$HOMEgfs/fix/fix_wave_${NET}}
-export PARMwave=${PARMwave:-$HOMEgfs/parm/wave}
-export USHwave=${USHwave:-$HOMEgfs/ush}
-export EXECwave=${EXECwave:-$HOMEgfs/exec}
+export FIXwave=${FIXwave:-${HOMEgfs}/fix/fix_wave_${NET}}
+export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
+export USHwave=${USHwave:-${HOMEgfs}/ush}
+export EXECwave=${EXECwave:-${HOMEgfs}/exec}
# Set COM Paths and GETGES environment
-export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT/station
+mkdir -p ${COMOUT}/station
# Set wave model ID tag to include member number
@@ -78,15 +84,15 @@ export WAV_MOD_TAG=${CDUMP}wave${waveMEMB}
export CFP_VERBOSE=1
export FHMAX_WAV_PNT=180
-if [ $FHMAX_WAV -lt $FHMAX_WAV_PNT ] ; then export FHMAX_WAV_IBP=$FHMAX_WAV ; fi
+if [ ${FHMAX_WAV} -lt ${FHMAX_WAV_PNT} ] ; then export FHMAX_WAV_IBP=${FHMAX_WAV} ; fi
export DOSPC_WAV='NO' # Spectral post
export DOBLL_WAV='YES' # Bulletin post
export DOBNDPNT_WAV='YES' #boundary points
# Execute the Script
-$HOMEgfs/scripts/exgfs_wave_post_pnt.sh
+${HOMEgfs}/scripts/exgfs_wave_post_pnt.sh
err=$?
-if [ $err -ne 0 ]; then
+if [ ${err} -ne 0 ]; then
echo "FATAL ERROR: ex-script of GFS_WAVE_POST_PNT failed!"
exit ${err}
fi
@@ -94,8 +100,8 @@ fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_WAVE_POST_PNT b/jobs/JGLOBAL_WAVE_POST_PNT
index 1a2d394a6f..dd35efd15f 100755
--- a/jobs/JGLOBAL_WAVE_POST_PNT
+++ b/jobs/JGLOBAL_WAVE_POST_PNT
@@ -1,71 +1,77 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base wave wavepostsbs wavepostpnt"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-${PACKAGEROOT:-}/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env wavepostpnt
+. ${HOMEgfs}/env/${machine}.env wavepostpnt
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# PATH for working directory
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
+export COMPONENT="wave"
-export HOMEgefs=${HOMEgefs:-${PACKAGEROOT:-}/$NET.${gefs_ver:-}}
-export HOMEgfs=${HOMEgfs:-${PACKAGEROOT:-}/$NET.${gfs_ver}}
+export HOMEgefs=${HOMEgefs:-${PACKAGEROOT:-}/${NET}.${gefs_ver:-}}
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
-# Create and go to DATA directory
-export DATA=${DATA:-${DATAROOT:?}/${jobid}}
-mkdir -p $DATA
-cd $DATA
-
-export cyc=${cyc:-00}
-export cycle=${cycle:-t${cyc}z}
-
-# Set PDY
-setpdy.sh
-. ./PDY
-
-export CDATE=$PDY$cyc
-
-export pgmout=OUTPUT.$$
+export CDATE=${PDY}${cyc}
export MP_PULSE=0
# Path to HOME Directory
-export FIXwave=${FIXwave:-$HOMEgfs/fix/fix_wave_${NET}}
-export PARMwave=${PARMwave:-$HOMEgfs/parm/wave}
-export USHwave=${USHwave:-$HOMEgfs/ush}
-export EXECwave=${EXECwave:-$HOMEgfs/exec}
+export FIXwave=${FIXwave:-${HOMEgfs}/fix/fix_wave_${NET}}
+export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
+export USHwave=${USHwave:-${HOMEgfs}/ush}
+export EXECwave=${EXECwave:-${HOMEgfs}/exec}
# Set COM Paths and GETGES environment
-export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
-mkdir -p $COMOUT/station
+mkdir -p ${COMOUT}/station
-# Set wave model ID tag to include member number
+# Set wave model ID tag to include member number
# if ensemble; waveMEMB var empty in deterministic
# Set wave model ID tag to include member number
# if ensemble; waveMEMB var empty in deterministic
@@ -82,10 +88,10 @@ export DOBLL_WAV='YES' # Bulletin post
export DOBNDPNT_WAV='NO' #not boundary points
-# Execute the Script
-$HOMEgfs/scripts/exgfs_wave_post_pnt.sh
+# Execute the Script
+${HOMEgfs}/scripts/exgfs_wave_post_pnt.sh
err=$?
-if [ $err -ne 0 ]; then
+if [ ${err} -ne 0 ]; then
echo "FATAL ERROR: ex-script of GWES_POST failed!"
exir ${err}
fi
@@ -93,8 +99,8 @@ fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_WAVE_POST_SBS b/jobs/JGLOBAL_WAVE_POST_SBS
index aca8e03f36..dc847f7e46 100755
--- a/jobs/JGLOBAL_WAVE_POST_SBS
+++ b/jobs/JGLOBAL_WAVE_POST_SBS
@@ -1,72 +1,78 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base wave wavepostsbs"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-${PACKAGEROOT:-}/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env wavepostsbs
+. ${HOMEgfs}/env/${machine}.env wavepostsbs
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# PATH for working directory
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
+export COMPONENT="wave"
-export HOMEgefs=${HOMEgefs:-${PACKAGEROOT:-}/$NET.${gefs_ver:-}}
-export HOMEgfs=${HOMEgfs:-${PACKAGEROOT:-}/$NET.${gfs_ver}}
+export HOMEgefs=${HOMEgefs:-${PACKAGEROOT:-}/${NET}.${gefs_ver:-}}
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
-# Create and go to DATA directory
-export DATA=${DATA:-${DATAROOT:?}/${jobid}}
-mkdir -p $DATA
-cd $DATA
-
-export cyc=${cyc:-00}
-export cycle=${cycle:-t${cyc}z}
-
-# Set PDY
-setpdy.sh
-. ./PDY
-
-export CDATE=$PDY$cyc
-
-export pgmout=OUTPUT.$$
+export CDATE=${PDY}${cyc}
export MP_PULSE=0
# Path to HOME Directory
-export FIXwave=${FIXwave:-$HOMEgfs/fix/fix_wave_${NET}}
-export PARMwave=${PARMwave:-$HOMEgfs/parm/wave}
-export USHwave=${USHwave:-$HOMEgfs/ush}
-export EXECwave=${EXECwave:-$HOMEgfs/exec}
+export FIXwave=${FIXwave:-${HOMEgfs}/fix/fix_wave_${NET}}
+export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
+export USHwave=${USHwave:-${HOMEgfs}/ush}
+export EXECwave=${EXECwave:-${HOMEgfs}/exec}
# Set COM Paths and GETGES environment
-export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
export COMINice=${COMINice:-${COMROOTp2:-${COMROOT}}/omb/prod}
export COMINwnd=${COMINwnd:-${COMROOT}/gfs/prod}
export COMIN_WAV_CUR=${COMIN_WAV_CUR:-$(compath.py ${envir}/rtofs/${rtofs_ver})}
-mkdir -p $COMOUT/gridded
+mkdir -p ${COMOUT}/gridded
# Set wave model ID tag to include member number
@@ -81,18 +87,18 @@ export WAV_MOD_TAG=${CDUMP}wave${waveMEMB}
export CFP_VERBOSE=1
# Execute the Script
-$HOMEgfs/scripts/exgfs_wave_post_gridded_sbs.sh
+${HOMEgfs}/scripts/exgfs_wave_post_gridded_sbs.sh
err=$?
-if [ $err -ne 0 ]; then
+if [ ${err} -ne 0 ]; then
echo "FATAL ERROR: ex-script of GWES_POST failed!"
- exit $err
+ exit ${err}
fi
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/JGLOBAL_WAVE_PRDGEN_BULLS b/jobs/JGLOBAL_WAVE_PRDGEN_BULLS
index 52481f848a..d52a85ce46 100755
--- a/jobs/JGLOBAL_WAVE_PRDGEN_BULLS
+++ b/jobs/JGLOBAL_WAVE_PRDGEN_BULLS
@@ -1,32 +1,42 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
-######################################
-# Set up the cycle variable
-######################################
-export cycle=${cycle:-t${cyc}z}
-# Set PDY
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
setpdy.sh
. ./PDY
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
+
+
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
-export HOMEgfs=${HOMEgfs:-$(dirname $(dirname $0))} # parent directory of current job card
+export COMPONENT="wave"
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
###################################
# Set COM Paths
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
export PCOM=${PCOM:-${COMOUT}/wmo}
export SENDCOM=${SENDCOM:-YES}
@@ -35,25 +45,24 @@ export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ]; then
- mkdir -p $COMOUT $PCOM
+if [ ${SENDCOM} = YES ]; then
+ mkdir -p ${COMOUT} ${PCOM}
fi
###################################
-# Execute the Script
+# Execute the Script
-$HOMEgfs/scripts/exgfs_wave_prdgen_bulls.sh
+${HOMEgfs}/scripts/exgfs_wave_prdgen_bulls.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
###################################
# Remove temp directories
-
-if [ "$KEEPDATA" != "YES" ]; then
- cd $DATAROOT
- rm -rf $DATA
+cd ${DATAROOT}
+if [ "${KEEPDATA}" != "YES" ]; then
+ rm -rf ${DATA}
fi
exit 0
-
diff --git a/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED b/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED
index 7a54c87ccc..5374d31648 100755
--- a/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED
+++ b/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED
@@ -1,25 +1,35 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
-export DATA=${DATA:-${DATAROOT}/${jobid:?}}
-mkdir -p $DATA
-cd $DATA
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
-######################################
-# Set up the cycle variable
-######################################
-export cycle=${cycle:-t${cyc}z}
-# Set PDY
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
setpdy.sh
. ./PDY
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
+
+
# PATH for working directory
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
-export HOMEgfs=${HOMEgfs:-$(dirname $(dirname $0))} # parent directory of current job card
+export COMPONENT="wave"
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
@@ -27,8 +37,8 @@ export errchk=${errchk:-err_chk}
###################################
# Set COM Paths
###################################
-export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT}
+export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/${COMPONENT}}
export PCOM=${PCOM:-${COMOUT}/wmo}
export SENDCOM=${SENDCOM:-YES}
@@ -36,22 +46,23 @@ export SENDDBN_NTC=${SENDDBN_NTC:-YES}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
-if [ $SENDCOM = YES ]; then
- mkdir -p $COMOUT $PCOM
+if [ ${SENDCOM} = YES ]; then
+ mkdir -p ${COMOUT} ${PCOM}
fi
###################################
-# Execute the Script
+# Execute the Script
###################################
-$HOMEgfs/scripts/exgfs_wave_prdgen_gridded.sh
+${HOMEgfs}/scripts/exgfs_wave_prdgen_gridded.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
###################################
# Remove temp directories
###################################
-if [ "$KEEPDATA" != "YES" ]; then
- cd $DATAROOT
- rm -rf $DATA
+cd ${DATAROOT}
+if [ "${KEEPDATA}" != "YES" ]; then
+ rm -rf ${DATA}
fi
diff --git a/jobs/JGLOBAL_WAVE_PREP b/jobs/JGLOBAL_WAVE_PREP
index eba4af8784..ddc68cde3b 100755
--- a/jobs/JGLOBAL_WAVE_PREP
+++ b/jobs/JGLOBAL_WAVE_PREP
@@ -1,53 +1,59 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
-export RUN_ENVIR=${RUN_ENVIR:-"nco"}
#############################
# Source relevant config files
#############################
+export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config}
configs="base wave waveprep"
-export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env waveprep
+. ${HOMEgfs}/env/${machine}.env waveprep
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# PATH for working directory
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
-export COMPONENT=${COMPONENT:-wave}
-
-export HOMEgfs=${HOMEgfs:-$PACKAGEROOT/gfs.${gfs_ver}}
+export COMPONENT="wave"
# Add default errchk = err_chk
export errchk=${errchk:-err_chk}
-# Create and go to DATA directory
-export DATA=${DATA:-${DATAROOT:?}/${jobid}}
-mkdir -p $DATA
-cd $DATA
-
-cyc=${cyc:-00}
-export cycle=${cycle:-t${cyc}z}
-
-# Set PDY
-setpdy.sh
-. ./PDY
# Set rtofs PDY
-export RPDY=$PDY
-
-export pgmout=OUTPUT.$$
+export RPDY=${PDY}
export MP_PULSE=0
@@ -55,47 +61,47 @@ export MP_PULSE=0
export CDO=${CDO_ROOT}/bin/cdo
# Path to HOME Directory
-export FIXwave=${FIXwave:-$HOMEgfs/fix/fix_wave_${NET}}
-export PARMwave=${PARMwave:-$HOMEgfs/parm/wave}
-export USHwave=${USHwave:-$HOMEgfs/ush}
-export EXECwave=${EXECwave:-$HOMEgfs/exec}
+export FIXwave=${FIXwave:-${HOMEgfs}/fix/fix_wave_${NET}}
+export PARMwave=${PARMwave:-${HOMEgfs}/parm/wave}
+export USHwave=${USHwave:-${HOMEgfs}/ush}
+export EXECwave=${EXECwave:-${HOMEgfs}/exec}
# Set COM Paths and GETGES environment
-export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
-export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
-[[ ! -d $COMOUT ]] && mkdir -m 775 -p $COMOUT
+export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}}
+[[ ! -d ${COMOUT} ]] && mkdir -m 775 -p ${COMOUT}
-if [ $RUN_ENVIR = "nco" ]; then
+if [ ${RUN_ENVIR} = "nco" ]; then
export COMIN_WAV_ICE=${COMIN_WAV_ICE:-$(compath.py ${envir}/obsproc/${obsproc_ver})}/${CDUMP}.${PDY}/${cyc}/atmos
export COMIN_WAV_RTOFS=${COMIN_WAV_RTOFS:-$(compath.py ${envir}/${WAVECUR_DID}/${rtofs_ver})}
else
- if [ $WW3CURINP = "YES" ]; then
- if [ ! -d $DMPDIR/${WAVECUR_DID}.${RPDY} ]; then export RPDY=$($NDATE -24 ${PDY}00 | cut -c1-8); fi
- if [ ! -L $ROTDIR/${WAVECUR_DID}.${RPDY} ]; then # Check if symlink already exists in ROTDIR
- $NLN $DMPDIR/${WAVECUR_DID}.${RPDY} $ROTDIR/${WAVECUR_DID}.${RPDY}
+ if [ ${WW3CURINP} = "YES" ]; then
+ if [ ! -d ${DMPDIR}/${WAVECUR_DID}.${RPDY} ]; then export RPDY=$(${NDATE} -24 ${PDY}00 | cut -c1-8); fi
+ if [ ! -L ${ROTDIR}/${WAVECUR_DID}.${RPDY} ]; then # Check if symlink already exists in ROTDIR
+ ${NLN} ${DMPDIR}/${WAVECUR_DID}.${RPDY} ${ROTDIR}/${WAVECUR_DID}.${RPDY}
fi
- BRPDY=$($NDATE -24 ${RPDY}00 | cut -c1-8)
- if [ ! -L $ROTDIR/${WAVECUR_DID}.${BRPDY} ]; then # Check if symlink already exists in ROTDIR
- $NLN $DMPDIR/${WAVECUR_DID}.${BRPDY} $ROTDIR/${WAVECUR_DID}.${BRPDY}
+ BRPDY=$(${NDATE} -24 ${RPDY}00 | cut -c1-8)
+ if [ ! -L ${ROTDIR}/${WAVECUR_DID}.${BRPDY} ]; then # Check if symlink already exists in ROTDIR
+ ${NLN} ${DMPDIR}/${WAVECUR_DID}.${BRPDY} ${ROTDIR}/${WAVECUR_DID}.${BRPDY}
fi
- export COMIN_WAV_RTOFS=${COMIN_WAV_RTOFS:-$ROTDIR}
- fi
- if [ $WW3ICEINP = "YES" ]; then
- if [ ! -L $ROTDIR/${CDUMP}.${PDY}/${cyc}/atmos/${WAVICEFILE} ]; then # Check if symlink already exists in ROTDIR
- $NLN $DMPDIR/$CDUMP.${PDY}/$cyc/atmos/${WAVICEFILE} $ROTDIR/$CDUMP.${PDY}/$cyc/atmos/${WAVICEFILE}
+ export COMIN_WAV_RTOFS=${COMIN_WAV_RTOFS:-${ROTDIR}}
+ fi
+ if [ ${WW3ICEINP} = "YES" ]; then
+ if [ ! -L ${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos/${WAVICEFILE} ]; then # Check if symlink already exists in ROTDIR
+ ${NLN} ${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos/${WAVICEFILE} ${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos/${WAVICEFILE}
fi
- export COMIN_WAV_ICE=${COMIN_WAV_ICE:-$ROTDIR/$RUN.$PDY/$cyc/atmos}
- fi
+ export COMIN_WAV_ICE=${COMIN_WAV_ICE:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos}
+ fi
fi
# Execute the Script
-$HOMEgfs/scripts/exgfs_wave_prep.sh
+${HOMEgfs}/scripts/exgfs_wave_prep.sh
##########################################
# Remove the Temporary working directory
##########################################
-cd $DATAROOT
-[[ $KEEPDATA = "NO" ]] && rm -rf $DATA
+cd ${DATAROOT}
+[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}
exit 0
diff --git a/jobs/rocoto/anal.sh b/jobs/rocoto/anal.sh
index cd7fdc932a..d99152ef19 100755
--- a/jobs/rocoto/anal.sh
+++ b/jobs/rocoto/anal.sh
@@ -1,16 +1,19 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="anal"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_ATMOS_ANALYSIS
+${HOMEgfs}/jobs/JGLOBAL_ATMOS_ANALYSIS
status=$?
diff --git a/jobs/rocoto/analcalc.sh b/jobs/rocoto/analcalc.sh
index d80756cfc7..2e669b0163 100755
--- a/jobs/rocoto/analcalc.sh
+++ b/jobs/rocoto/analcalc.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="analcalc"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC
+${HOMEgfs}/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/analdiag.sh b/jobs/rocoto/analdiag.sh
index f9d97360c6..cd6e1113f0 100755
--- a/jobs/rocoto/analdiag.sh
+++ b/jobs/rocoto/analdiag.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="analdiag"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_ATMOS_ANALYSIS_DIAG
+${HOMEgfs}/jobs/JGDAS_ATMOS_ANALYSIS_DIAG
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/atmanalpost.sh b/jobs/rocoto/atmanalpost.sh
index 5be6644140..71ace70c8b 100755
--- a/jobs/rocoto/atmanalpost.sh
+++ b/jobs/rocoto/atmanalpost.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
export STRICT="NO"
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export STRICT="YES"
###############################################################
# Source UFSDA workflow modules
-. $HOMEgfs/ush/load_ufsda_modules.sh
+. ${HOMEgfs}/ush/load_ufsda_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="atmanalpost"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST
+${HOMEgfs}/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/atmanalprep.sh b/jobs/rocoto/atmanalprep.sh
index f37de54d1d..d5b729194a 100755
--- a/jobs/rocoto/atmanalprep.sh
+++ b/jobs/rocoto/atmanalprep.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
export STRICT="NO"
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export STRICT="YES"
###############################################################
# Source UFSDA workflow modules
-. $HOMEgfs/ush/load_ufsda_modules.sh
+. ${HOMEgfs}/ush/load_ufsda_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="atmanalprep"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP
+${HOMEgfs}/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/atmanalrun.sh b/jobs/rocoto/atmanalrun.sh
index 56bf47db89..63aa08c184 100755
--- a/jobs/rocoto/atmanalrun.sh
+++ b/jobs/rocoto/atmanalrun.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
export STRICT="NO"
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export STRICT="YES"
###############################################################
# Source UFSDA workflow modules
-. $HOMEgfs/ush/load_ufsda_modules.sh
+. ${HOMEgfs}/ush/load_ufsda_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="atmanalrun"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN
+${HOMEgfs}/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/atmensanalpost.sh b/jobs/rocoto/atmensanalpost.sh
index 92f5541f60..91ac2d6212 100755
--- a/jobs/rocoto/atmensanalpost.sh
+++ b/jobs/rocoto/atmensanalpost.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
export STRICT="NO"
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export STRICT="YES"
###############################################################
# Source UFSDA workflow modules
-. $HOMEgfs/ush/load_ufsda_modules.sh
+. ${HOMEgfs}/ush/load_ufsda_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="atmensanalpost"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST
+${HOMEgfs}/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/atmensanalprep.sh b/jobs/rocoto/atmensanalprep.sh
index e47f2cdcfa..b54a1b464e 100755
--- a/jobs/rocoto/atmensanalprep.sh
+++ b/jobs/rocoto/atmensanalprep.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
export STRICT="NO"
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export STRICT="YES"
###############################################################
# Source UFSDA workflow modules
-. $HOMEgfs/ush/load_ufsda_modules.sh
+. ${HOMEgfs}/ush/load_ufsda_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="atmensanalprep"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP
+${HOMEgfs}/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/atmensanalrun.sh b/jobs/rocoto/atmensanalrun.sh
index 5b778a5830..a2509a310e 100755
--- a/jobs/rocoto/atmensanalrun.sh
+++ b/jobs/rocoto/atmensanalrun.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
export STRICT="NO"
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
export STRICT="YES"
###############################################################
# Source UFSDA workflow modules
-. $HOMEgfs/ush/load_ufsda_modules.sh
+. ${HOMEgfs}/ush/load_ufsda_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="atmensanalrun"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN
+${HOMEgfs}/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/ecen.sh b/jobs/rocoto/ecen.sh
index dd4a8ac8a6..8a98974615 100755
--- a/jobs/rocoto/ecen.sh
+++ b/jobs/rocoto/ecen.sh
@@ -1,26 +1,27 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
# Loop over groups to Execute the JJOB
-fhrlst=$(echo $FHRLST | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
-for fhr in $fhrlst; do
+fhrlst=$(echo ${FHRLST} | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
+for fhr in ${fhrlst}; do
- export FHMIN_ECEN=$fhr
- export FHMAX_ECEN=$fhr
- export FHOUT_ECEN=$fhr
+ export FHMIN_ECEN=${fhr}
+ export FHMAX_ECEN=${fhr}
+ export FHOUT_ECEN=${fhr}
export job=ecen${fhr}
+ export jobid="${job}.$$"
- $HOMEgfs/jobs/JGDAS_ENKF_ECEN
+ ${HOMEgfs}/jobs/JGDAS_ENKF_ECEN
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
diff --git a/jobs/rocoto/echgres.sh b/jobs/rocoto/echgres.sh
index 3171388f6a..5779a91f06 100755
--- a/jobs/rocoto/echgres.sh
+++ b/jobs/rocoto/echgres.sh
@@ -1,16 +1,19 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="echgres"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_ATMOS_CHGRES_FORENKF
+${HOMEgfs}/jobs/JGDAS_ATMOS_CHGRES_FORENKF
status=$?
diff --git a/jobs/rocoto/ediag.sh b/jobs/rocoto/ediag.sh
index b09a7f4963..8462edf296 100755
--- a/jobs/rocoto/ediag.sh
+++ b/jobs/rocoto/ediag.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="ediag"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_ENKF_DIAG
+${HOMEgfs}/jobs/JGDAS_ENKF_DIAG
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/efcs.sh b/jobs/rocoto/efcs.sh
index 4454ad6c8b..b202015149 100755
--- a/jobs/rocoto/efcs.sh
+++ b/jobs/rocoto/efcs.sh
@@ -1,16 +1,19 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="efcs"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_ENKF_FCST
+${HOMEgfs}/jobs/JGDAS_ENKF_FCST
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/eobs.sh b/jobs/rocoto/eobs.sh
index f6dc275578..95fa42cb08 100755
--- a/jobs/rocoto/eobs.sh
+++ b/jobs/rocoto/eobs.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="eobs"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_ENKF_SELECT_OBS
+${HOMEgfs}/jobs/JGDAS_ENKF_SELECT_OBS
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/eomg.sh b/jobs/rocoto/eomg.sh
deleted file mode 100755
index de981c02bb..0000000000
--- a/jobs/rocoto/eomg.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /usr/bin/env bash
-
-source "$HOMEgfs/ush/preamble.sh"
-
-###############################################################
-# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
-status=$?
-[[ $status -ne 0 ]] && exit $status
-
-###############################################################
-# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_ENKF_INNOVATE_OBS
-status=$?
-
-
-exit $status
diff --git a/jobs/rocoto/epos.sh b/jobs/rocoto/epos.sh
index 1039b8ab20..21c8e0019e 100755
--- a/jobs/rocoto/epos.sh
+++ b/jobs/rocoto/epos.sh
@@ -1,27 +1,28 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
# Loop over groups to Execute the JJOB
-fhrlst=$(echo $FHRLST | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
+fhrlst=$(echo ${FHRLST} | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
-for fhr in $fhrlst; do
-
- export FHMIN_EPOS=$fhr
- export FHMAX_EPOS=$fhr
- export FHOUT_EPOS=$fhr
+for fhr in ${fhrlst}; do
+
+ export FHMIN_EPOS=${fhr}
+ export FHMAX_EPOS=${fhr}
+ export FHOUT_EPOS=${fhr}
export job=epos${fhr}
-
- $HOMEgfs/jobs/JGDAS_ENKF_POST
+ export jobid="${job}.$$"
+
+ ${HOMEgfs}/jobs/JGDAS_ENKF_POST
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
diff --git a/jobs/rocoto/esfc.sh b/jobs/rocoto/esfc.sh
index d830c59c50..85f44151c9 100755
--- a/jobs/rocoto/esfc.sh
+++ b/jobs/rocoto/esfc.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="esfc"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_ENKF_SFC
+${HOMEgfs}/jobs/JGDAS_ENKF_SFC
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/eupd.sh b/jobs/rocoto/eupd.sh
index d202c45aef..3ed028f87a 100755
--- a/jobs/rocoto/eupd.sh
+++ b/jobs/rocoto/eupd.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="eupd"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGDAS_ENKF_UPDATE
+${HOMEgfs}/jobs/JGDAS_ENKF_UPDATE
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/fcst.sh b/jobs/rocoto/fcst.sh
index d59872c60c..ba40472d99 100755
--- a/jobs/rocoto/fcst.sh
+++ b/jobs/rocoto/fcst.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="fcst"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_FORECAST
+${HOMEgfs}/jobs/JGLOBAL_FORECAST
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/metp.sh b/jobs/rocoto/metp.sh
index 80138b9026..82254a0435 100755
--- a/jobs/rocoto/metp.sh
+++ b/jobs/rocoto/metp.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
## Abstract:
@@ -19,62 +19,78 @@ source "$HOMEgfs/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+export job="metp${METPCASE}"
+export jobid="${job}.$$"
+
+##############################################
+# make temp directory
+##############################################
+export DATA=${DATA:-${DATAROOT}/${jobid}}
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
###############################################################
echo
echo "=============== START TO SOURCE RELEVANT CONFIGS ==============="
configs="base metp"
-for config in $configs; do
- . $EXPDIR/config.${config}
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
###############################################################
echo
echo "=============== START TO SOURCE MACHINE RUNTIME ENVIRONMENT ==============="
-. $BASE_ENV/${machine}.env metp
+. ${BASE_ENV}/${machine}.env metp
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
-export COMPONENT=${COMPONENT:-atmos}
-export VDATE="$(echo $($NDATE -${VRFYBACK_HRS} $CDATE) | cut -c1-8)"
-
-export pid=${pid:-$$}
-export jobid=${job}.${pid}
-export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP/metp.${jobid}"
-[[ -d $DATAROOT ]] && rm -rf $DATAROOT
-mkdir -p $DATAROOT
+export COMPONENT="atmos"
+export VDATE="$(echo $(${NDATE} -${VRFYBACK_HRS} ${CDATE}) | cut -c1-8)"
+export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
+# TODO: This should not be permitted as DATAROOT is set at the job-card level.
+# TODO: DATAROOT is being used as DATA in metp jobs. This should be rectified in metp.
+# TODO: The temporary directory is DATA and is created at the top of the J-Job.
+# TODO: remove this line
+export DATAROOT=${DATA}
###############################################################
echo
echo "=============== START TO RUN METPLUS VERIFICATION ==============="
-if [ $CDUMP = "gfs" ]; then
+if [ ${CDUMP} = "gfs" ]; then
- if [ $RUN_GRID2GRID_STEP1 = "YES" -o $RUN_GRID2OBS_STEP1 = "YES" -o $RUN_PRECIP_STEP1 = "YES" ]; then
+ if [ ${RUN_GRID2GRID_STEP1} = "YES" -o ${RUN_GRID2OBS_STEP1} = "YES" -o ${RUN_PRECIP_STEP1} = "YES" ]; then
- $VERIF_GLOBALSH
+ ${VERIF_GLOBALSH}
status=$?
- [[ $status -ne 0 ]] && exit $status
- [[ $status -eq 0 ]] && echo "Succesfully ran $VERIF_GLOBALSH"
+ [[ ${status} -ne 0 ]] && exit ${status}
+ [[ ${status} -eq 0 ]] && echo "Succesfully ran ${VERIF_GLOBALSH}"
fi
fi
-if [ $CDUMP = "gdas" ]; then
+if [ ${CDUMP} = "gdas" ]; then
echo "METplus verification currently not supported for CDUMP=${CDUMP}"
fi
###############################################################
# Force Exit out cleanly
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
+if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf ${DATAROOT} ; fi # TODO: This should be $DATA
exit 0
diff --git a/jobs/rocoto/ocnpost.sh b/jobs/rocoto/ocnpost.sh
index 7f242ea2a5..54e3652b44 100755
--- a/jobs/rocoto/ocnpost.sh
+++ b/jobs/rocoto/ocnpost.sh
@@ -1,55 +1,27 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
-## CICE5/MOM6 post driver script
+## CICE5/MOM6 post driver script
## FHRGRP : forecast hour group to post-process (e.g. 0, 1, 2 ...)
## FHRLST : forecast hourlist to be post-process (e.g. anl, f000, f000_f001_f002, ...)
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
-
-#############################
-# Source relevant config files
-#############################
-configs="base ocnpost"
-config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config}
-for config in $configs; do
- . $config_path/config.$config
- status=$?
- [[ $status -ne 0 ]] && exit $status
-done
-
-
-##########################################
-# Source machine runtime environment
-##########################################
-. $HOMEgfs/env/${machine}.env ocnpost
-status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+export job="ocnpost"
+export jobid=${job}.$$
##############################################
-# Obtain unique process id (pid) and make temp directory
+# make temp directory
##############################################
-export job=${job:-"ocnpost"}
-export pid=${pid:-$$}
-export outid=${outid:-"LL$job"}
-export jobid=${jobid:-"${outid}.o${pid}"}
-
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP"
-[[ ! -d $DATAROOT ]] && mkdir -p $DATAROOT
-
-export DATA="$DATAROOT/${job}.${pid}"
-# DATA dir not used for now.
-
-[[ -d $DATA ]] && rm -rf $DATA
-mkdir -p $DATA
-cd $DATA
+export DATA="${DATAROOT}/${jobid}"
+[[ -d ${DATA} ]] && rm -rf ${DATA}
+mkdir -p ${DATA} && cd ${DATA}
##############################################
# Run setpdy and initialize PDY variables
@@ -61,94 +33,115 @@ setpdy.sh
##############################################
# Determine Job Output Name on System
##############################################
+export pid=${pid:-$$}
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
+#############################
+# Source relevant config files
+#############################
+config_path=${EXPDIR:-${PACKAGEROOT}/gfs.${gfs_ver}/parm/config}
+configs="base ocnpost"
+for config in ${configs}; do
+ . ${config_path}/config.${config}
+ status=$?
+ [[ ${status} -ne 0 ]] && exit ${status}
+done
+
+
+##########################################
+# Source machine runtime environment
+##########################################
+. ${HOMEgfs}/env/${machine}.env ocnpost
+status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
+
+
##############################################
# Set variables used in the exglobal script
##############################################
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
-if [ $RUN_ENVIR = "nco" ]; then
- export ROTDIR=${COMROOT:?}/$NET/$envir
+if [ ${RUN_ENVIR} = "nco" ]; then
+ export ROTDIR=${COMROOT:?}/${NET}/${envir}
fi
##############################################
# Begin JOB SPECIFIC work
##############################################
-[[ ! -d $COMOUTocean ]] && mkdir -p $COMOUTocean
-[[ ! -d $COMOUTice ]] && mkdir -p $COMOUTice
+[[ ! -d ${COMOUTocean} ]] && mkdir -p ${COMOUTocean}
+[[ ! -d ${COMOUTice} ]] && mkdir -p ${COMOUTice}
-fhrlst=$(echo $FHRLST | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
+fhrlst=$(echo ${FHRLST} | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
export OMP_NUM_THREADS=1
export ENSMEM=${ENSMEM:-01}
-export IDATE=$CDATE
+export IDATE=${CDATE}
-for fhr in $fhrlst; do
- export fhr=$fhr
- VDATE=$($NDATE $fhr $IDATE)
+for fhr in ${fhrlst}; do
+ export fhr=${fhr}
+ VDATE=$(${NDATE} ${fhr} ${IDATE})
# Regrid the MOM6 and CICE5 output from tripolar to regular grid via NCL
# This can take .25 degree input and convert to .5 degree - other opts avail
# The regrid scripts use CDATE for the current day, restore it to IDATE afterwards
- export CDATE=$VDATE
- cd $DATA
- if [ $fhr -gt 0 ]; then
- export MOM6REGRID=${MOM6REGRID:-$HOMEgfs}
- $MOM6REGRID/scripts/run_regrid.sh
+ export CDATE=${VDATE}
+ cd ${DATA}
+ if [ ${fhr} -gt 0 ]; then
+ export MOM6REGRID=${MOM6REGRID:-${HOMEgfs}}
+ ${MOM6REGRID}/scripts/run_regrid.sh
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
# Convert the netcdf files to grib2
- export executable=$MOM6REGRID/exec/reg2grb2.x
- $MOM6REGRID/scripts/run_reg2grb2.sh
+ export executable=${MOM6REGRID}/exec/reg2grb2.x
+ ${MOM6REGRID}/scripts/run_reg2grb2.sh
status=$?
- [[ $status -ne 0 ]] && exit $status
-
+ [[ ${status} -ne 0 ]] && exit ${status}
+
- #break up ocn netcdf into multiple files:
- if [ -f $COMOUTocean/ocn_2D_$VDATE.$ENSMEM.$IDATE.nc ]; then
- echo "File $COMOUTocean/ocn_2D_$VDATE.$ENSMEM.$IDATE.nc already exists"
+ #break up ocn netcdf into multiple files:
+ if [ -f ${COMOUTocean}/ocn_2D_${VDATE}.${ENSMEM}.${IDATE}.nc ]; then
+ echo "File ${COMOUTocean}/ocn_2D_${VDATE}.${ENSMEM}.${IDATE}.nc already exists"
else
- ncks -x -v vo,uo,so,temp $COMOUTocean/ocn$VDATE.$ENSMEM.$IDATE.nc $COMOUTocean/ocn_2D_$VDATE.$ENSMEM.$IDATE.nc
+ ncks -x -v vo,uo,so,temp ${COMOUTocean}/ocn${VDATE}.${ENSMEM}.${IDATE}.nc ${COMOUTocean}/ocn_2D_${VDATE}.${ENSMEM}.${IDATE}.nc
status=$?
- [[ $status -ne 0 ]] && exit $status
- fi
- if [ -f $COMOUTocean/ocn_3D_$VDATE.$ENSMEM.$IDATE.nc ]; then
- echo "File $COMOUTocean/ocn_3D_$VDATE.$ENSMEM.$IDATE.nc already exists"
- else
- ncks -x -v Heat_PmE,LW,LwLatSens,MLD_003,MLD_0125,SSH,SSS,SST,SSU,SSV,SW,cos_rot,ePBL,evap,fprec,frazil,latent,lprec,lrunoff,sensible,sin_rot,speed,taux,tauy,wet_c,wet_u,wet_v $COMOUTocean/ocn$VDATE.$ENSMEM.$IDATE.nc $COMOUTocean/ocn_3D_$VDATE.$ENSMEM.$IDATE.nc
+ [[ ${status} -ne 0 ]] && exit ${status}
+ fi
+ if [ -f ${COMOUTocean}/ocn_3D_${VDATE}.${ENSMEM}.${IDATE}.nc ]; then
+ echo "File ${COMOUTocean}/ocn_3D_${VDATE}.${ENSMEM}.${IDATE}.nc already exists"
+ else
+ ncks -x -v Heat_PmE,LW,LwLatSens,MLD_003,MLD_0125,SSH,SSS,SST,SSU,SSV,SW,cos_rot,ePBL,evap,fprec,frazil,latent,lprec,lrunoff,sensible,sin_rot,speed,taux,tauy,wet_c,wet_u,wet_v ${COMOUTocean}/ocn${VDATE}.${ENSMEM}.${IDATE}.nc ${COMOUTocean}/ocn_3D_${VDATE}.${ENSMEM}.${IDATE}.nc
status=$?
- [[ $status -ne 0 ]] && exit $status
- fi
- if [ -f $COMOUTocean/ocn-temp-EQ_$VDATE.$ENSMEM.$IDATE.nc ]; then
- echo "File $COMOUTocean/ocn-temp-EQ_$VDATE.$ENSMEM.$IDATE.nc already exists"
- else
- ncks -v temp -d yh,503 -d xh,-299.92,60.03 $COMOUTocean/ocn_3D_$VDATE.$ENSMEM.$IDATE.nc $COMOUTocean/ocn-temp-EQ_$VDATE.$ENSMEM.$IDATE.nc
+ [[ ${status} -ne 0 ]] && exit ${status}
+ fi
+ if [ -f ${COMOUTocean}/ocn-temp-EQ_${VDATE}.${ENSMEM}.${IDATE}.nc ]; then
+ echo "File ${COMOUTocean}/ocn-temp-EQ_${VDATE}.${ENSMEM}.${IDATE}.nc already exists"
+ else
+ ncks -v temp -d yh,503 -d xh,-299.92,60.03 ${COMOUTocean}/ocn_3D_${VDATE}.${ENSMEM}.${IDATE}.nc ${COMOUTocean}/ocn-temp-EQ_${VDATE}.${ENSMEM}.${IDATE}.nc
status=$?
- [[ $status -ne 0 ]] && exit $status
- fi
- if [ -f $COMOUTocean/ocn-uo-EQ_$VDATE.$ENSMEM.$IDATE.nc ]; then
- echo "File $COMOUTocean/ocn-uo-EQ_$VDATE.$ENSMEM.$IDATE.nc already exists"
- else
- ncks -v uo -d yh,503 -d xh,-299.92,60.03 $COMOUTocean/ocn_3D_$VDATE.$ENSMEM.$IDATE.nc $COMOUTocean/ocn-uo-EQ_$VDATE.$ENSMEM.$IDATE.nc
+ [[ ${status} -ne 0 ]] && exit ${status}
+ fi
+ if [ -f ${COMOUTocean}/ocn-uo-EQ_${VDATE}.${ENSMEM}.${IDATE}.nc ]; then
+ echo "File ${COMOUTocean}/ocn-uo-EQ_${VDATE}.${ENSMEM}.${IDATE}.nc already exists"
+ else
+ ncks -v uo -d yh,503 -d xh,-299.92,60.03 ${COMOUTocean}/ocn_3D_${VDATE}.${ENSMEM}.${IDATE}.nc ${COMOUTocean}/ocn-uo-EQ_${VDATE}.${ENSMEM}.${IDATE}.nc
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
fi
fi
done
# Restore CDATE to what is expected
-export CDATE=$IDATE
-$NMV ocn_ice*.grb2 $COMOUTocean/
+export CDATE=${IDATE}
+${NMV} ocn_ice*.grb2 ${COMOUTocean}/
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
# clean up working folder
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATA ; fi
+if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf ${DATA} ; fi
###############################################################
# Exit out cleanly
diff --git a/jobs/rocoto/post.sh b/jobs/rocoto/post.sh
index a6dfb0fbaf..bc7da5709a 100755
--- a/jobs/rocoto/post.sh
+++ b/jobs/rocoto/post.sh
@@ -1,6 +1,6 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
## NCEP post driver script
@@ -9,27 +9,29 @@ source "$HOMEgfs/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
-export COMPONENT=${COMPONENT:-atmos}
+export COMPONENT="atmos"
-if [ $FHRGRP = 'anl' ]; then
+if [ ${FHRGRP} = 'anl' ]; then
fhrlst="anl"
- restart_file=$ROTDIR/${CDUMP}.${PDY}/${cyc}/$COMPONENT/${CDUMP}.t${cyc}z.atm
+ restart_file=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}/${CDUMP}.t${cyc}z.atm
else
- fhrlst=$(echo $FHRLST | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
- restart_file=$ROTDIR/${CDUMP}.${PDY}/${cyc}/$COMPONENT/${CDUMP}.t${cyc}z.logf
+ fhrlst=$(echo ${FHRLST} | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
+ restart_file=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}/${CDUMP}.t${cyc}z.logf
fi
#---------------------------------------------------------------
-for fhr in $fhrlst; do
- export post_times=$fhr
- $HOMEgfs/jobs/JGLOBAL_ATMOS_POST
+for fhr in ${fhrlst}; do
+ export post_times=${fhr}
+ export job="post${post_times}"
+ export jobid="${job}.$$"
+ ${HOMEgfs}/jobs/JGLOBAL_ATMOS_POST
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
exit 0
diff --git a/jobs/rocoto/postsnd.sh b/jobs/rocoto/postsnd.sh
index fadfaa6d9e..bc274361db 100755
--- a/jobs/rocoto/postsnd.sh
+++ b/jobs/rocoto/postsnd.sh
@@ -1,20 +1,22 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+export job="postsnd"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGFS_ATMOS_POSTSND
+${HOMEgfs}/jobs/JGFS_ATMOS_POSTSND
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/sfcanl.sh b/jobs/rocoto/sfcanl.sh
index 7b9812f37b..44f93ee0c3 100755
--- a/jobs/rocoto/sfcanl.sh
+++ b/jobs/rocoto/sfcanl.sh
@@ -1,17 +1,20 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
# Source FV3GFS workflow modules
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="sfcanl"
+export jobid="${job}.$$"
###############################################################
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_ATMOS_SFCANL
+${HOMEgfs}/jobs/JGLOBAL_ATMOS_SFCANL
status=$?
-exit $status
+exit ${status}
diff --git a/jobs/rocoto/vrfy.sh b/jobs/rocoto/vrfy.sh
index 50750a94ec..aef08ec90e 100755
--- a/jobs/rocoto/vrfy.sh
+++ b/jobs/rocoto/vrfy.sh
@@ -1,109 +1,117 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
-###############################################################
-## Abstract:
-## Inline verification and diagnostics driver script
-## RUN_ENVIR : runtime environment (emc | nco)
-## HOMEgfs : /full/path/to/workflow
-## EXPDIR : /full/path/to/config/files
-## CDATE : current analysis date (YYYYMMDDHH)
-## CDUMP : cycle name (gdas / gfs)
-## PDY : current date (YYYYMMDD)
-## cyc : current cycle (HH)
-###############################################################
-
-###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="vrfy"
+export jobid="${job}.$$"
+
+
+##############################################
+# make temp directory
+##############################################
+export DATA="${DATA:-${DATAROOT}/${jobid}}"
+mkdir -p ${DATA}
+cd ${DATA}
+
+
+##############################################
+# Run setpdy and initialize PDY variables
+##############################################
+export cycle="t${cyc}z"
+setpdy.sh
+. ./PDY
+
+##############################################
+# Determine Job Output Name on System
+##############################################
+export pid=${pid:-$$}
+export pgmout="OUTPUT.${pid}"
+export pgmerr=errfile
###############################################################
echo
echo "=============== START TO SOURCE RELEVANT CONFIGS ==============="
configs="base vrfy"
-for config in $configs; do
- . $EXPDIR/config.${config}
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
###############################################################
echo
echo "=============== START TO SOURCE MACHINE RUNTIME ENVIRONMENT ==============="
-. $BASE_ENV/${machine}.env vrfy
+. ${BASE_ENV}/${machine}.env vrfy
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
-export COMPONENT=${COMPONENT:-atmos}
-export CDATEm1=$($NDATE -24 $CDATE)
-export PDYm1=$(echo $CDATEm1 | cut -c1-8)
+export COMPONENT="atmos"
+export CDATEm1=$(${NDATE} -24 ${CDATE})
+export PDYm1=$(echo ${CDATEm1} | cut -c1-8)
-CDATEm1c=$($NDATE -06 $CDATE)
-PDYm1c=$(echo $CDATEm1c | cut -c1-8)
+CDATEm1c=$(${NDATE} -06 ${CDATE})
+PDYm1c=$(echo ${CDATEm1c} | cut -c1-8)
pcyc=$(echo ${CDATEm1c} | cut -c9-10)
-export pid=${pid:-$$}
-export jobid=${job}.${pid}
-export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP/vrfy.${jobid}"
-[[ -d $DATAROOT ]] && rm -rf $DATAROOT
-mkdir -p $DATAROOT
+export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
###############################################################
echo
echo "=============== START TO GENERATE QUARTER DEGREE GRIB1 FILES ==============="
-if [ $MKPGB4PRCP = "YES" -a $CDUMP = "gfs" ]; then
- if [ ! -d $ARCDIR ]; then mkdir $ARCDIR ; fi
+if [ ${MKPGB4PRCP} = "YES" -a ${CDUMP} = "gfs" ]; then
+ if [ ! -d ${ARCDIR} ]; then mkdir ${ARCDIR} ; fi
nthreads_env=${OMP_NUM_THREADS:-1} # get threads set in env
export OMP_NUM_THREADS=1
- cd $COMIN
- fhmax=${vhr_rain:-$FHMAX_GFS}
+ cd ${COMIN}
+ fhmax=${vhr_rain:-${FHMAX_GFS}}
fhr=0
- while [ $fhr -le $fhmax ]; do
- fhr2=$(printf %02i $fhr)
- fhr3=$(printf %03i $fhr)
- fname=${CDUMP}.t${cyc}z.sfluxgrbf$fhr3.grib2
- fileout=$ARCDIR/pgbq${fhr2}.${CDUMP}.${CDATE}.grib2
- $WGRIB2 $fname -match "(:PRATE:surface:)|(:TMP:2 m above ground:)" -grib $fileout
- (( fhr = $fhr + 6 ))
+ while [ ${fhr} -le ${fhmax} ]; do
+ fhr2=$(printf %02i ${fhr})
+ fhr3=$(printf %03i ${fhr})
+ fname=${CDUMP}.t${cyc}z.sfluxgrbf${fhr3}.grib2
+ fileout=${ARCDIR}/pgbq${fhr2}.${CDUMP}.${CDATE}.grib2
+ ${WGRIB2} ${fname} -match "(:PRATE:surface:)|(:TMP:2 m above ground:)" -grib ${fileout}
+ (( fhr = ${fhr} + 6 ))
done
- export OMP_NUM_THREADS=$nthreads_env # revert to threads set in env
+ export OMP_NUM_THREADS=${nthreads_env} # revert to threads set in env
fi
###############################################################
echo
echo "=============== START TO RUN MOS ==============="
-if [ $RUNMOS = "YES" -a $CDUMP = "gfs" ]; then
- $RUNGFSMOSSH $PDY$cyc
+if [ ${RUNMOS} = "YES" -a ${CDUMP} = "gfs" ]; then
+ ${RUNGFSMOSSH} ${PDY}${cyc}
fi
###############################################################
echo
echo "=============== START TO RUN FIT2OBS VERIFICATION ==============="
-if [ $VRFYFITS = "YES" -a $CDUMP = $CDFNL -a $CDATE != $SDATE ]; then
+if [ ${VRFYFITS} = "YES" -a ${CDUMP} = ${CDFNL} -a ${CDATE} != ${SDATE} ]; then
- export CDUMPFCST=$VDUMP
- export TMPDIR="$RUNDIR/$CDATE/$CDUMP"
- [[ ! -d $TMPDIR ]] && mkdir -p $TMPDIR
+ export CDUMPFCST=${VDUMP}
+ export TMPDIR="${RUNDIR}/${CDATE}/${CDUMP}"
+ [[ ! -d ${TMPDIR} ]] && mkdir -p ${TMPDIR}
- xdate=$($NDATE -${VBACKUP_FITS} $CDATE)
+ xdate=$(${NDATE} -${VBACKUP_FITS} ${CDATE})
- export RUN_ENVIR_SAVE=$RUN_ENVIR
- export RUN_ENVIR=$OUTPUT_FILE
+ export RUN_ENVIR_SAVE=${RUN_ENVIR}
+ export RUN_ENVIR=${OUTPUT_FILE}
- $PREPQFITSH $PSLOT $xdate $ROTDIR $ARCDIR $TMPDIR
+ ${PREPQFITSH} ${PSLOT} ${xdate} ${ROTDIR} ${ARCDIR} ${TMPDIR}
- export RUN_ENVIR=$RUN_ENVIR_SAVE
+ export RUN_ENVIR=${RUN_ENVIR_SAVE}
fi
@@ -111,7 +119,7 @@ fi
###############################################################
echo
echo "=============== START TO RUN RADMON DATA EXTRACTION ==============="
-if [ $VRFYRAD = "YES" -a "${CDUMP}" = "${CDFNL}" -a "${CDATE}" != "${SDATE}" ]; then
+if [ ${VRFYRAD} = "YES" -a "${CDUMP}" = "${CDFNL}" -a "${CDATE}" != "${SDATE}" ]; then
export EXP=${PSLOT}
export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}"
@@ -184,7 +192,8 @@ fi
###############################################################
# Force Exit out cleanly
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf "${DATAROOT}" ; fi
+cd ${DATAROOT}
+if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf ${DATA} ; fi
exit 0
diff --git a/jobs/rocoto/wafs.sh b/jobs/rocoto/wafs.sh
index 8aab955cc8..59d1ede139 100755
--- a/jobs/rocoto/wafs.sh
+++ b/jobs/rocoto/wafs.sh
@@ -1,59 +1,46 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+export job="wafs"
+export jobid="${job}.$$"
+
+###############################################################
###############################################################
+# TODO: sourcing configs should be in the j-job
echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ==============="
configs="base wafs"
-for config in $configs; do
- . $EXPDIR/config.${config}
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
###############################################################
-export pid=${pid:-$$}
-export jobid=${job}.${pid}
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP/wafs.$jobid"
-[[ -d $DATAROOT ]] && rm -rf $DATAROOT
-mkdir -p $DATAROOT
-
-export DATA="${DATAROOT}/$job"
-
-###############################################################
echo
echo "=============== START TO RUN WAFS ==============="
# Loop through fcsthrs
hr=0
-while [ $hr -le 120 ]; do
+while [ ${hr} -le 120 ]; do
- if [ $hr -le 100 ]; then
- export fcsthrs="$(printf "%02d" $(( 10#$hr )) )"
- else
- export fcsthrs=$hr
- fi
+ export fcsthrs=$(printf "%03d" ${hr})
# Execute the JJOB
- $HOMEgfs/jobs/JGFS_ATMOS_WAFS
+ ${HOMEgfs}/jobs/JGFS_ATMOS_WAFS
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
- hr=$(expr $hr + 6)
+ hr=$(expr ${hr} + 6)
done
-###############################################################
-# Force Exit out cleanly
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
-
-
exit 0
diff --git a/jobs/rocoto/wafsblending.sh b/jobs/rocoto/wafsblending.sh
index 2793986e80..e16e8fa2b3 100755
--- a/jobs/rocoto/wafsblending.sh
+++ b/jobs/rocoto/wafsblending.sh
@@ -1,43 +1,38 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="wafsblending"
+export jobid="${job}.$$"
###############################################################
+# TODO: sourcing configs should be in the j-job
echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ==============="
configs="base wafsblending"
-for config in $configs; do
- . $EXPDIR/config.${config}
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
-###############################################################
-
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP/wafsblending"
-[[ -d $DATAROOT ]] && rm -rf $DATAROOT
-mkdir -p $DATAROOT
-
-export pid=${pid:-$$}
-export jobid=${job}.${pid}
-export DATA="${DATAROOT}/$job"
+# TODO: Mising source machine runtime environment
###############################################################
+
echo
echo "=============== START TO RUN WAFSBLENDING ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGFS_ATMOS_WAFS_BLENDING
+${HOMEgfs}/jobs/JGFS_ATMOS_WAFS_BLENDING
status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
-# Force Exit out cleanly
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
-
-exit $status
+exit 0
diff --git a/jobs/rocoto/wafsblending0p25.sh b/jobs/rocoto/wafsblending0p25.sh
index fb06284f55..11788baf4d 100755
--- a/jobs/rocoto/wafsblending0p25.sh
+++ b/jobs/rocoto/wafsblending0p25.sh
@@ -1,43 +1,38 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
+
+export job="wafsblending0p25"
+export jobid="${job}.$$"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
+# TODO: sourcing configs should be in the j-job
echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ==============="
configs="base wafsblending0p25"
-for config in $configs; do
- . $EXPDIR/config.${config}
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
-###############################################################
-
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP/wafsblending0p25"
-[[ -d $DATAROOT ]] && rm -rf $DATAROOT
-mkdir -p $DATAROOT
-
-export pid=${pid:-$$}
-export jobid=${job}.${pid}
-export DATA="${DATAROOT}/$job"
+# TODO: Mising source machine runtime environment
###############################################################
+
echo
echo "=============== START TO RUN WAFSBLENDING0P25 ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGFS_ATMOS_WAFS_BLENDING_0P25
+${HOMEgfs}/jobs/JGFS_ATMOS_WAFS_BLENDING_0P25
status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
-# Force Exit out cleanly
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
-
-exit $status
+exit 0
diff --git a/jobs/rocoto/wafsgcip.sh b/jobs/rocoto/wafsgcip.sh
index 53cfd90da5..36b2b491d7 100755
--- a/jobs/rocoto/wafsgcip.sh
+++ b/jobs/rocoto/wafsgcip.sh
@@ -1,50 +1,45 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+export job="wafsgcip"
+export jobid="${job}.$$"
+
+#
###############################################################
+# TODO: sourcing configs should be in the j-job
echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ==============="
configs="base wafsgcip"
-for config in $configs; do
- . $EXPDIR/config.${config}
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
##########################################
# Source machine runtime environment
##########################################
-. $HOMEgfs/env/${machine}.env wafsgcip
+. ${HOMEgfs}/env/${machine}.env wafsgcip
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP/wafsgcip"
-[[ -d $DATAROOT ]] && rm -rf $DATAROOT
-mkdir -p $DATAROOT
-
-export pid=${pid:-$$}
-export jobid=${job}.${pid}
-export DATA="${DATAROOT}/$job"
-
###############################################################
echo
echo "=============== START TO RUN WAFSGCIP ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGFS_ATMOS_WAFS_GCIP
+${HOMEgfs}/jobs/JGFS_ATMOS_WAFS_GCIP
status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
-# Force Exit out cleanly
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
-
-exit $status
+exit 0
diff --git a/jobs/rocoto/wafsgrib2.sh b/jobs/rocoto/wafsgrib2.sh
index c7dbead30d..a2903e5aa2 100755
--- a/jobs/rocoto/wafsgrib2.sh
+++ b/jobs/rocoto/wafsgrib2.sh
@@ -1,43 +1,38 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="wafsgrib2"
+export jobid=${job}.$$
###############################################################
+# TODO: Sourcing configs should be done in the j-job
echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ==============="
configs="base wafsgrib2"
-for config in $configs; do
- . $EXPDIR/config.${config}
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
-###############################################################
-
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP/wafsgrib2"
-[[ -d $DATAROOT ]] && rm -rf $DATAROOT
-mkdir -p $DATAROOT
-
-export pid=${pid:-$$}
-export jobid=${job}.${pid}
-export DATA="${DATAROOT}/$job"
+# TODO: Missing sourcing of $MACHINE.env
###############################################################
+
echo
echo "=============== START TO RUN WAFSGRIB2 ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGFS_ATMOS_WAFS_GRIB2
+${HOMEgfs}/jobs/JGFS_ATMOS_WAFS_GRIB2
status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
-# Force Exit out cleanly
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
-
-exit $status
+exit 0
diff --git a/jobs/rocoto/wafsgrib20p25.sh b/jobs/rocoto/wafsgrib20p25.sh
index e99ee210d9..585ca23524 100755
--- a/jobs/rocoto/wafsgrib20p25.sh
+++ b/jobs/rocoto/wafsgrib20p25.sh
@@ -1,43 +1,37 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="wafsgrib20p25"
+export jobid="${job}.$$"
###############################################################
+# TODO: sourcing configs should be in the j-job
echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ==============="
configs="base wafsgrib20p25"
-for config in $configs; do
- . $EXPDIR/config.${config}
+for config in ${configs}; do
+ . ${EXPDIR}/config.${config}
status=$?
- [[ $status -ne 0 ]] && exit $status
+ [[ ${status} -ne 0 ]] && exit ${status}
done
-###############################################################
-
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP/wafsgrib20p25"
-[[ -d $DATAROOT ]] && rm -rf $DATAROOT
-mkdir -p $DATAROOT
-
-export pid=${pid:-$$}
-export jobid=${job}.${pid}
-export DATA="${DATAROOT}/$job"
+# TODO: missing sourcing $MACHINE.env
###############################################################
echo
echo "=============== START TO RUN WAFSGRIB20p25 ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGFS_ATMOS_WAFS_GRIB2_0P25
+${HOMEgfs}/jobs/JGFS_ATMOS_WAFS_GRIB2_0P25
status=$?
+[[ ${status} -ne 0 ]] && exit ${status}
###############################################################
-# Force Exit out cleanly
-if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
-
-exit $status
+exit 0
diff --git a/jobs/rocoto/waveinit.sh b/jobs/rocoto/waveinit.sh
index 5995b85302..d0c3f49929 100755
--- a/jobs/rocoto/waveinit.sh
+++ b/jobs/rocoto/waveinit.sh
@@ -1,20 +1,23 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="waveinit"
+export jobid="${job}.$$"
###############################################################
echo
echo "=============== START TO RUN WAVE INIT ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_WAVE_INIT
+${HOMEgfs}/jobs/JGLOBAL_WAVE_INIT
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
exit 0
diff --git a/jobs/rocoto/wavepostbndpnt.sh b/jobs/rocoto/wavepostbndpnt.sh
index fe0e2a0723..5d26498356 100755
--- a/jobs/rocoto/wavepostbndpnt.sh
+++ b/jobs/rocoto/wavepostbndpnt.sh
@@ -1,20 +1,23 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="wavepostbndpnt"
+export jobid="${job}.$$"
###############################################################
echo
echo "=============== START TO RUN WAVE_POST_BNDPNT ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_WAVE_POST_BNDPNT
+${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_BNDPNT
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
exit 0
diff --git a/jobs/rocoto/wavepostbndpntbll.sh b/jobs/rocoto/wavepostbndpntbll.sh
index cea3c0bc6b..ce4f9e6b2d 100755
--- a/jobs/rocoto/wavepostbndpntbll.sh
+++ b/jobs/rocoto/wavepostbndpntbll.sh
@@ -1,20 +1,23 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="wavepostbndpntbll"
+export jobid="${job}.$$"
###############################################################
echo
echo "=============== START TO RUN WAVE_POST_BNDPNT ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
+${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
exit 0
diff --git a/jobs/rocoto/wavepostpnt.sh b/jobs/rocoto/wavepostpnt.sh
index 1b1d8c9765..9efb755dec 100755
--- a/jobs/rocoto/wavepostpnt.sh
+++ b/jobs/rocoto/wavepostpnt.sh
@@ -1,20 +1,23 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="wavepostpnt"
+export jobid="${job}.$$"
###############################################################
echo
echo "=============== START TO RUN WAVE_POST_PNT ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_WAVE_POST_PNT
+${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_PNT
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
exit 0
diff --git a/jobs/rocoto/wavepostsbs.sh b/jobs/rocoto/wavepostsbs.sh
index fb4fdfbd8b..fa61d31eec 100755
--- a/jobs/rocoto/wavepostsbs.sh
+++ b/jobs/rocoto/wavepostsbs.sh
@@ -1,20 +1,23 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="wavepostsbs"
+export jobid="${job}.$$"
###############################################################
echo
echo "=============== START TO RUN WAVE POST_SBS ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_WAVE_POST_SBS
+${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_SBS
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
exit 0
diff --git a/jobs/rocoto/waveprep.sh b/jobs/rocoto/waveprep.sh
index c55c8526d9..0cbafde87e 100755
--- a/jobs/rocoto/waveprep.sh
+++ b/jobs/rocoto/waveprep.sh
@@ -1,20 +1,23 @@
#! /usr/bin/env bash
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
-. $HOMEgfs/ush/load_fv3gfs_modules.sh
+. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
+
+export job="waveprep"
+export jobid="${job}.$$"
###############################################################
echo
echo "=============== START TO RUN WAVE PREP ==============="
# Execute the JJOB
-$HOMEgfs/jobs/JGLOBAL_WAVE_PREP
+${HOMEgfs}/jobs/JGLOBAL_WAVE_PREP
status=$?
-[[ $status -ne 0 ]] && exit $status
+[[ ${status} -ne 0 ]] && exit ${status}
exit 0
diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn
index 107441b6be..29bdbe9fec 100755
--- a/parm/config/config.base.emc.dyn
+++ b/parm/config/config.base.emc.dyn
@@ -37,11 +37,10 @@ export FIXreg2grb2=$HOMEgfs/fix/reg2grb2
########################################################################
# GLOBAL static environment parameters
-export PACKAGEROOT="@PACKAGEROOT@"
-export COMROOT="@COMROOT@"
+export PACKAGEROOT="@PACKAGEROOT@" # TODO: set via prod_envir in Ops
+export COMROOT="@COMROOT@" # TODO: set via prod_envir in Ops
export COMINsyn="@COMINsyn@"
export DMPDIR="@DMPDIR@"
-export RTMFIX=$CRTM_FIX
# USER specific paths
export HOMEDIR="@HOMEDIR@"
@@ -110,8 +109,8 @@ export DUMP_SUFFIX=""
if [[ "$CDATE" -ge "2019092100" && "$CDATE" -le "2019110700" ]]; then
export DUMP_SUFFIX="p" # Use dumps from NCO GFS v15.3 parallel
fi
-export RUNDIR="$STMP/RUNDIRS/$PSLOT"
-export DATAROOT="$RUNDIR/$CDATE/$CDUMP"
+export DATAROOT="${STMP}/RUNDIRS/${PSLOT}" # TODO: set via prod_envir in Ops
+export RUNDIR="${DATAROOT}" # TODO: Should be removed; use DATAROOT instead
export ARCDIR="$NOSCRUB/archive/$PSLOT"
export ICSDIR="@ICSDIR@"
export ATARDIR="@ATARDIR@"
diff --git a/parm/config/config.resources b/parm/config/config.resources
index bee8a83d46..875470e0c8 100755
--- a/parm/config/config.resources
+++ b/parm/config/config.resources
@@ -197,15 +197,15 @@ elif [ ${step} = "aeroanlinit" ]; then
elif [ ${step} = "aeroanlrun" ]; then
case ${CASE} in
- C768)
+ C768)
layout_x=6
layout_y=6
;;
- C384)
+ C384)
layout_x=5
layout_y=5
;;
- C192 | C96 | C48)
+ C192 | C96 | C48)
layout_x=3
layout_y=3
;;
diff --git a/scripts/exgfs_atmos_post.sh b/scripts/exgfs_atmos_post.sh
index 6777b1a380..fc44274502 100755
--- a/scripts/exgfs_atmos_post.sh
+++ b/scripts/exgfs_atmos_post.sh
@@ -206,7 +206,7 @@ if [ "${stime}" = "anl" ]; then
wafsgrid="latlon 0:1440:0.25 90:721:-0.25"
${WGRIB2} "${PGBOUT}" -set_grib_type same -new_grid_winds earth \
-new_grid_interpolation bilinear -set_bitmap 1 \
- -new_grid "${wafsgrid}" "${PGBOUT}.tmp"
+ -new_grid ${wafsgrid} "${PGBOUT}.tmp"
if [ "${SENDCOM}" = "YES" ]; then
cp "${PGBOUT}.tmp" "${COMOUT}/${PREFIX}wafs.0p25.anl"
@@ -437,7 +437,7 @@ else ## not_anl if_stime
"${USHgfs}/link_crtm_fix.sh" "${FIXCRTM}"
if [ "${GRIBVERSION}" = 'grib2' ]; then
- export PostFlatFile="${PARMpost}/postxconfig-NT-GFS-GOES.txt "
+ export PostFlatFile="${PARMpost}/postxconfig-NT-GFS-GOES.txt"
export CTLFILE="${PARMpost}/postcntrl_gfs_goes.xml"
fi
export FLXINP=flxfile
diff --git a/scripts/exglobal_atmos_analysis.sh b/scripts/exglobal_atmos_analysis.sh
index c1d3c01834..17a9c9984a 100755
--- a/scripts/exglobal_atmos_analysis.sh
+++ b/scripts/exglobal_atmos_analysis.sh
@@ -19,7 +19,7 @@
# Set environment.
-source "$HOMEgfs/ush/preamble.sh"
+source "${HOMEgfs}/ush/preamble.sh"
# Directories.
pwd=$(pwd)
@@ -30,12 +30,12 @@ CDUMP=${CDUMP:-"gdas"}
GDUMP=${GDUMP:-"gdas"}
# Derived base variables
-GDATE=$($NDATE -$assim_freq $CDATE)
-BDATE=$($NDATE -3 $CDATE)
-PDY=$(echo $CDATE | cut -c1-8)
-cyc=$(echo $CDATE | cut -c9-10)
-bPDY=$(echo $BDATE | cut -c1-8)
-bcyc=$(echo $BDATE | cut -c9-10)
+GDATE=$(${NDATE} -${assim_freq} ${CDATE})
+BDATE=$(${NDATE} -3 ${CDATE})
+PDY=$(echo ${CDATE} | cut -c1-8)
+cyc=$(echo ${CDATE} | cut -c9-10)
+bPDY=$(echo ${BDATE} | cut -c1-8)
+bcyc=$(echo ${BDATE} | cut -c9-10)
# Utilities
export NCP=${NCP:-"/bin/cp"}
@@ -43,7 +43,7 @@ export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
export NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get}
-export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
+export NCLEN=${NCLEN:-${HOMEgfs}/ush/getncdimlen}
COMPRESS=${COMPRESS:-gzip}
UNCOMPRESS=${UNCOMPRESS:-gunzip}
APRUNCFP=${APRUNCFP:-""}
@@ -69,20 +69,20 @@ DOIAU=${DOIAU:-"NO"}
export IAUFHRS=${IAUFHRS:-"6"}
# Dependent Scripts and Executables
-GSIEXEC=${GSIEXEC:-$HOMEgfs/exec/gsi.x}
+GSIEXEC=${GSIEXEC:-${HOMEgfs}/exec/gsi.x}
export NTHREADS_CALCINC=${NTHREADS_CALCINC:-1}
export APRUN_CALCINC=${APRUN_CALCINC:-${APRUN:-""}}
export APRUN_CALCANL=${APRUN_CALCANL:-${APRUN:-""}}
export APRUN_CHGRES=${APRUN_CALCANL:-${APRUN:-""}}
-export CALCINCEXEC=${CALCINCEXEC:-$HOMEgfs/exec/calc_increment_ens.x}
-export CALCINCNCEXEC=${CALCINCNCEXEC:-$HOMEgfs/exec/calc_increment_ens_ncio.x}
-export CALCANLEXEC=${CALCANLEXEC:-$HOMEgfs/exec/calc_analysis.x}
-export CHGRESNCEXEC=${CHGRESNCEXEC:-$HOMEgfs/exec/enkf_chgres_recenter_nc.x}
-export CHGRESINCEXEC=${CHGRESINCEXEC:-$HOMEgfs/exec/interp_inc.x}
-CHGRESEXEC=${CHGRESEXEC:-$HOMEgfs/exec/enkf_chgres_recenter.x}
+export CALCINCEXEC=${CALCINCEXEC:-${HOMEgfs}/exec/calc_increment_ens.x}
+export CALCINCNCEXEC=${CALCINCNCEXEC:-${HOMEgfs}/exec/calc_increment_ens_ncio.x}
+export CALCANLEXEC=${CALCANLEXEC:-${HOMEgfs}/exec/calc_analysis.x}
+export CHGRESNCEXEC=${CHGRESNCEXEC:-${HOMEgfs}/exec/enkf_chgres_recenter_nc.x}
+export CHGRESINCEXEC=${CHGRESINCEXEC:-${HOMEgfs}/exec/interp_inc.x}
+CHGRESEXEC=${CHGRESEXEC:-${HOMEgfs}/exec/enkf_chgres_recenter.x}
export NTHREADS_CHGRES=${NTHREADS_CHGRES:-24}
-CALCINCPY=${CALCINCPY:-$HOMEgfs/ush/calcinc_gfs.py}
-CALCANLPY=${CALCANLPY:-$HOMEgfs/ush/calcanl_gfs.py}
+CALCINCPY=${CALCINCPY:-${HOMEgfs}/ush/calcinc_gfs.py}
+CALCANLPY=${CALCANLPY:-${HOMEgfs}/ush/calcanl_gfs.py}
# OPS flags
RUN=${RUN:-""}
@@ -90,7 +90,7 @@ SENDECF=${SENDECF:-"NO"}
SENDDBN=${SENDDBN:-"NO"}
RUN_GETGES=${RUN_GETGES:-"NO"}
GETGESSH=${GETGESSH:-"getges.sh"}
-export gesenvir=${gesenvir:-$envir}
+export gesenvir=${gesenvir:-${envir}}
# Observations
OPREFIX=${OPREFIX:-""}
@@ -158,7 +158,7 @@ HDOB=${HDOB:-${COMIN_OBS}/${OPREFIX}hdob.tm00.bufr_d${OSUFFIX}}
# Guess files
GPREFIX=${GPREFIX:-""}
-GSUFFIX=${GSUFFIX:-$SUFFIX}
+GSUFFIX=${GSUFFIX:-${SUFFIX}}
SFCG03=${SFCG03:-${COMIN_GES}/${GPREFIX}sfcf003${GSUFFIX}}
SFCG04=${SFCG04:-${COMIN_GES}/${GPREFIX}sfcf004${GSUFFIX}}
SFCG05=${SFCG05:-${COMIN_GES}/${GPREFIX}sfcf005${GSUFFIX}}
@@ -180,7 +180,7 @@ GRADSTAT=${GRADSTAT:-${COMIN_GES}/${GPREFIX}radstat}
# Analysis files
export APREFIX=${APREFIX:-""}
-export ASUFFIX=${ASUFFIX:-$SUFFIX}
+export ASUFFIX=${ASUFFIX:-${SUFFIX}}
SFCANL=${SFCANL:-${COMOUT}/${APREFIX}sfcanl${ASUFFIX}}
DTFANL=${DTFANL:-${COMOUT}/${APREFIX}dtfanl.nc}
ATMANL=${ATMANL:-${COMOUT}/${APREFIX}atmanl${ASUFFIX}}
@@ -204,7 +204,7 @@ USE_RADSTAT=${USE_RADSTAT:-"YES"}
SELECT_OBS=${SELECT_OBS:-${COMOUT}/${APREFIX}obsinput}
GENDIAG=${GENDIAG:-"YES"}
DIAG_SUFFIX=${DIAG_SUFFIX:-""}
-if [ $netcdf_diag = ".true." ] ; then
+if [ ${netcdf_diag} = ".true." ] ; then
DIAG_SUFFIX="${DIAG_SUFFIX}.nc4"
fi
DIAG_COMPRESS=${DIAG_COMPRESS:-"YES"}
@@ -212,7 +212,7 @@ DIAG_TARBALL=${DIAG_TARBALL:-"YES"}
USE_CFP=${USE_CFP:-"NO"}
CFP_MP=${CFP_MP:-"NO"}
nm=""
-if [ $CFP_MP = "YES" ]; then
+if [ ${CFP_MP} = "YES" ]; then
nm=0
fi
DIAG_DIR=${DIAG_DIR:-${COMOUT}/gsidiags}
@@ -238,62 +238,62 @@ USE_CORRELATED_OBERRS=${USE_CORRELATED_OBERRS:-"YES"}
# Get header information from Guess files
if [ ${SUFFIX} = ".nc" ]; then
- LONB=${LONB:-$($NCLEN $ATMGES grid_xt)} # get LONB
- LATB=${LATB:-$($NCLEN $ATMGES grid_yt)} # get LATB
- LEVS=${LEVS:-$($NCLEN $ATMGES pfull)} # get LEVS
+ LONB=${LONB:-$(${NCLEN} ${ATMGES} grid_xt)} # get LONB
+ LATB=${LATB:-$(${NCLEN} ${ATMGES} grid_yt)} # get LATB
+ LEVS=${LEVS:-$(${NCLEN} ${ATMGES} pfull)} # get LEVS
JCAP=${JCAP:--9999} # there is no jcap in these files
else
- LONB=${LONB:-$($NEMSIOGET $ATMGES dimx | grep -i "dimx" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LONB
- LATB=${LATB:-$($NEMSIOGET $ATMGES dimy | grep -i "dimy" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LATB
- LEVS=${LEVS:-$($NEMSIOGET $ATMGES dimz | grep -i "dimz" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LEVS
- JCAP=${JCAP:-$($NEMSIOGET $ATMGES jcap | grep -i "jcap" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get JCAP
+ LONB=${LONB:-$(${NEMSIOGET} ${ATMGES} dimx | grep -i "dimx" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LONB
+ LATB=${LATB:-$(${NEMSIOGET} ${ATMGES} dimy | grep -i "dimy" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LATB
+ LEVS=${LEVS:-$(${NEMSIOGET} ${ATMGES} dimz | grep -i "dimz" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LEVS
+ JCAP=${JCAP:-$(${NEMSIOGET} ${ATMGES} jcap | grep -i "jcap" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get JCAP
fi
-[ $JCAP -eq -9999 -a $LATB -ne -9999 ] && JCAP=$((LATB-2))
-[ $LONB -eq -9999 -o $LATB -eq -9999 -o $LEVS -eq -9999 -o $JCAP -eq -9999 ] && exit -9999
+[ ${JCAP} -eq -9999 -a ${LATB} -ne -9999 ] && JCAP=$((LATB-2))
+[ ${LONB} -eq -9999 -o ${LATB} -eq -9999 -o ${LEVS} -eq -9999 -o ${JCAP} -eq -9999 ] && exit -9999
# Get header information from Ensemble Guess files
-if [ $DOHYBVAR = "YES" ]; then
+if [ ${DOHYBVAR} = "YES" ]; then
SFCGES_ENSMEAN=${SFCGES_ENSMEAN:-${COMIN_GES_ENS}/${GPREFIX}sfcf006.ensmean${GSUFFIX}}
export ATMGES_ENSMEAN=${ATMGES_ENSMEAN:-${COMIN_GES_ENS}/${GPREFIX}atmf006.ensmean${GSUFFIX}}
if [ ${SUFFIX} = ".nc" ]; then
- LONB_ENKF=${LONB_ENKF:-$($NCLEN $ATMGES_ENSMEAN grid_xt)} # get LONB_ENKF
- LATB_ENKF=${LATB_ENKF:-$($NCLEN $ATMGES_ENSMEAN grid_yt)} # get LATB_ENFK
- LEVS_ENKF=${LEVS_ENKF:-$($NCLEN $ATMGES_ENSMEAN pfull)} # get LATB_ENFK
+ LONB_ENKF=${LONB_ENKF:-$(${NCLEN} ${ATMGES_ENSMEAN} grid_xt)} # get LONB_ENKF
+ LATB_ENKF=${LATB_ENKF:-$(${NCLEN} ${ATMGES_ENSMEAN} grid_yt)} # get LATB_ENFK
+ LEVS_ENKF=${LEVS_ENKF:-$(${NCLEN} ${ATMGES_ENSMEAN} pfull)} # get LATB_ENFK
JCAP_ENKF=${JCAP_ENKF:--9999} # again, no jcap in the netcdf files
else
- LONB_ENKF=${LONB_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimx | grep -i "dimx" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LONB_ENKF
- LATB_ENKF=${LATB_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimy | grep -i "dimy" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LATB_ENKF
- LEVS_ENKF=${LEVS_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimz | grep -i "dimz" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LEVS_ENKF
- JCAP_ENKF=${JCAP_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN jcap | grep -i "jcap" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get JCAP_ENKF
+ LONB_ENKF=${LONB_ENKF:-$(${NEMSIOGET} ${ATMGES_ENSMEAN} dimx | grep -i "dimx" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LONB_ENKF
+ LATB_ENKF=${LATB_ENKF:-$(${NEMSIOGET} ${ATMGES_ENSMEAN} dimy | grep -i "dimy" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LATB_ENKF
+ LEVS_ENKF=${LEVS_ENKF:-$(${NEMSIOGET} ${ATMGES_ENSMEAN} dimz | grep -i "dimz" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LEVS_ENKF
+ JCAP_ENKF=${JCAP_ENKF:-$(${NEMSIOGET} ${ATMGES_ENSMEAN} jcap | grep -i "jcap" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get JCAP_ENKF
fi
- NLON_ENKF=${NLON_ENKF:-$LONB_ENKF}
- NLAT_ENKF=${NLAT_ENKF:-$(($LATB_ENKF+2))}
- [ $JCAP_ENKF -eq -9999 -a $LATB_ENKF -ne -9999 ] && JCAP_ENKF=$((LATB_ENKF-2))
- [ $LONB_ENKF -eq -9999 -o $LATB_ENKF -eq -9999 -o $LEVS_ENKF -eq -9999 -o $JCAP_ENKF -eq -9999 ] && exit -9999
+ NLON_ENKF=${NLON_ENKF:-${LONB_ENKF}}
+ NLAT_ENKF=${NLAT_ENKF:-$((${LATB_ENKF}+2))}
+ [ ${JCAP_ENKF} -eq -9999 -a ${LATB_ENKF} -ne -9999 ] && JCAP_ENKF=$((LATB_ENKF-2))
+ [ ${LONB_ENKF} -eq -9999 -o ${LATB_ENKF} -eq -9999 -o ${LEVS_ENKF} -eq -9999 -o ${JCAP_ENKF} -eq -9999 ] && exit -9999
else
LONB_ENKF=0 # just for if statement later
fi
# Get dimension information based on CASE
-res=$(echo $CASE | cut -c2-)
+res=$(echo ${CASE} | cut -c2-)
JCAP_CASE=$((res*2-2))
LATB_CASE=$((res*2))
LONB_CASE=$((res*4))
# Set analysis resolution information
-if [ $DOHYBVAR = "YES" ]; then
- JCAP_A=${JCAP_A:-${JCAP_ENKF:-$JCAP}}
- LONA=${LONA:-${LONB_ENKF:-$LONB}}
- LATA=${LATA:-${LATB_ENKF:-$LATB}}
+if [ ${DOHYBVAR} = "YES" ]; then
+ JCAP_A=${JCAP_A:-${JCAP_ENKF:-${JCAP}}}
+ LONA=${LONA:-${LONB_ENKF:-${LONB}}}
+ LATA=${LATA:-${LATB_ENKF:-${LATB}}}
else
- JCAP_A=${JCAP_A:-$JCAP}
- LONA=${LONA:-$LONB}
- LATA=${LATA:-$LATB}
+ JCAP_A=${JCAP_A:-${JCAP}}
+ LONA=${LONA:-${LONB}}
+ LATA=${LATA:-${LATB}}
fi
-NLON_A=${NLON_A:-$LONA}
-NLAT_A=${NLAT_A:-$(($LATA+2))}
+NLON_A=${NLON_A:-${LONA}}
+NLAT_A=${NLAT_A:-$((${LATA}+2))}
-DELTIM=${DELTIM:-$((3600/($JCAP_A/20)))}
+DELTIM=${DELTIM:-$((3600/(${JCAP_A}/20)))}
# logic for netCDF I/O
if [ ${SUFFIX} = ".nc" ]; then
@@ -307,17 +307,17 @@ else
fi
# determine if writing or calculating increment
-if [ $DO_CALC_INCREMENT = "YES" ]; then
+if [ ${DO_CALC_INCREMENT} = "YES" ]; then
write_fv3_increment=".false."
else
write_fv3_increment=".true."
- WRITE_INCR_ZERO="incvars_to_zero= $INCREMENTS_TO_ZERO,"
- WRITE_ZERO_STRAT="incvars_zero_strat= $INCVARS_ZERO_STRAT,"
- WRITE_STRAT_EFOLD="incvars_efold= $INCVARS_EFOLD,"
+ WRITE_INCR_ZERO="incvars_to_zero= ${INCREMENTS_TO_ZERO},"
+ WRITE_ZERO_STRAT="incvars_zero_strat= ${INCVARS_ZERO_STRAT},"
+ WRITE_STRAT_EFOLD="incvars_efold= ${INCVARS_EFOLD},"
fi
# GSI Fix files
-RTMFIX=${RTMFIX:-${CRTM_FIX}}
+RTMFIX=${CRTM_FIX}
BERROR=${BERROR:-${FIXgsi}/Big_Endian/global_berror.l${LEVS}y${NLAT_A}.f77}
SATANGL=${SATANGL:-${FIXgsi}/global_satangbias.txt}
SATINFO=${SATINFO:-${FIXgsi}/global_satinfo.txt}
@@ -353,7 +353,7 @@ NST=${NST:-""}
#uGSI Namelist parameters
lrun_subdirs=${lrun_subdirs:-".true."}
-if [ $DOHYBVAR = "YES" ]; then
+if [ ${DOHYBVAR} = "YES" ]; then
l_hyb_ens=.true.
export l4densvar=${l4densvar:-".false."}
export lwrite4danl=${lwrite4danl:-".false."}
@@ -364,7 +364,7 @@ else
fi
# Set 4D-EnVar specific variables
-if [ $DOHYBVAR = "YES" -a $l4densvar = ".true." -a $lwrite4danl = ".true." ]; then
+if [ ${DOHYBVAR} = "YES" -a ${l4densvar} = ".true." -a ${lwrite4danl} = ".true." ]; then
ATMA03=${ATMA03:-${COMOUT}/${APREFIX}atma003${ASUFFIX}}
ATMI03=${ATMI03:-${COMOUT}/${APREFIX}atmi003.nc}
ATMA04=${ATMA04:-${COMOUT}/${APREFIX}atma004${ASUFFIX}}
@@ -382,44 +382,44 @@ fi
################################################################################
# Preprocessing
mkdata=NO
-if [ ! -d $DATA ]; then
+if [ ! -d ${DATA} ]; then
mkdata=YES
- mkdir -p $DATA
+ mkdir -p ${DATA}
fi
-cd $DATA || exit 99
+cd ${DATA} || exit 99
##############################################################
# Fixed files
-$NLN $BERROR berror_stats
-$NLN $SATANGL satbias_angle
-$NLN $SATINFO satinfo
-$NLN $RADCLOUDINFO cloudy_radiance_info.txt
-$NLN $ATMSFILTER atms_beamwidth.txt
-$NLN $ANAVINFO anavinfo
-$NLN $CONVINFO convinfo
-$NLN $vqcdat vqctp001.dat
-$NLN $INSITUINFO insituinfo
-$NLN $OZINFO ozinfo
-$NLN $PCPINFO pcpinfo
-$NLN $AEROINFO aeroinfo
-$NLN $SCANINFO scaninfo
-$NLN $HYBENSINFO hybens_info
-$NLN $OBERROR errtable
+${NLN} ${BERROR} berror_stats
+${NLN} ${SATANGL} satbias_angle
+${NLN} ${SATINFO} satinfo
+${NLN} ${RADCLOUDINFO} cloudy_radiance_info.txt
+${NLN} ${ATMSFILTER} atms_beamwidth.txt
+${NLN} ${ANAVINFO} anavinfo
+${NLN} ${CONVINFO} convinfo
+${NLN} ${vqcdat} vqctp001.dat
+${NLN} ${INSITUINFO} insituinfo
+${NLN} ${OZINFO} ozinfo
+${NLN} ${PCPINFO} pcpinfo
+${NLN} ${AEROINFO} aeroinfo
+${NLN} ${SCANINFO} scaninfo
+${NLN} ${HYBENSINFO} hybens_info
+${NLN} ${OBERROR} errtable
#If using correlated error, link to the covariance files
-if [ $USE_CORRELATED_OBERRS == "YES" ]; then
- if grep -q "Rcov" $ANAVINFO ; then
+if [ ${USE_CORRELATED_OBERRS} == "YES" ]; then
+ if grep -q "Rcov" ${ANAVINFO} ; then
if ls ${FIXgsi}/Rcov* 1> /dev/null 2>&1; then
- $NLN ${FIXgsi}/Rcov* $DATA
+ ${NLN} ${FIXgsi}/Rcov* ${DATA}
echo "using correlated obs error"
else
echo "FATAL ERROR: Satellite error covariance files (Rcov) are missing."
- echo "Check for the required Rcov files in " $ANAVINFO
+ echo "Check for the required Rcov files in " ${ANAVINFO}
exit 1
fi
else
- echo "FATAL ERROR: Satellite error covariance info missing in " $ANAVINFO
+ echo "FATAL ERROR: Satellite error covariance info missing in " ${ANAVINFO}
exit 1
fi
@@ -436,138 +436,136 @@ fi
# CRTM Spectral and Transmittance coefficients
mkdir -p crtm_coeffs
for file in $(awk '{if($1!~"!"){print $1}}' satinfo | sort | uniq); do
- $NLN $RTMFIX/${file}.SpcCoeff.bin ./crtm_coeffs/${file}.SpcCoeff.bin
- $NLN $RTMFIX/${file}.TauCoeff.bin ./crtm_coeffs/${file}.TauCoeff.bin
+ ${NLN} ${RTMFIX}/${file}.SpcCoeff.bin ./crtm_coeffs/${file}.SpcCoeff.bin
+ ${NLN} ${RTMFIX}/${file}.TauCoeff.bin ./crtm_coeffs/${file}.TauCoeff.bin
done
-$NLN $RTMFIX/amsua_metop-a_v2.SpcCoeff.bin ./crtm_coeffs/amsua_metop-a_v2.SpcCoeff.bin
-
-$NLN $RTMFIX/Nalli.IRwater.EmisCoeff.bin ./crtm_coeffs/Nalli.IRwater.EmisCoeff.bin
-$NLN $RTMFIX/NPOESS.IRice.EmisCoeff.bin ./crtm_coeffs/NPOESS.IRice.EmisCoeff.bin
-$NLN $RTMFIX/NPOESS.IRland.EmisCoeff.bin ./crtm_coeffs/NPOESS.IRland.EmisCoeff.bin
-$NLN $RTMFIX/NPOESS.IRsnow.EmisCoeff.bin ./crtm_coeffs/NPOESS.IRsnow.EmisCoeff.bin
-$NLN $RTMFIX/NPOESS.VISice.EmisCoeff.bin ./crtm_coeffs/NPOESS.VISice.EmisCoeff.bin
-$NLN $RTMFIX/NPOESS.VISland.EmisCoeff.bin ./crtm_coeffs/NPOESS.VISland.EmisCoeff.bin
-$NLN $RTMFIX/NPOESS.VISsnow.EmisCoeff.bin ./crtm_coeffs/NPOESS.VISsnow.EmisCoeff.bin
-$NLN $RTMFIX/NPOESS.VISwater.EmisCoeff.bin ./crtm_coeffs/NPOESS.VISwater.EmisCoeff.bin
-$NLN $RTMFIX/FASTEM6.MWwater.EmisCoeff.bin ./crtm_coeffs/FASTEM6.MWwater.EmisCoeff.bin
-$NLN $RTMFIX/AerosolCoeff.bin ./crtm_coeffs/AerosolCoeff.bin
-$NLN $RTMFIX/CloudCoeff.bin ./crtm_coeffs/CloudCoeff.bin
+${NLN} ${RTMFIX}/amsua_metop-a_v2.SpcCoeff.bin ./crtm_coeffs/amsua_metop-a_v2.SpcCoeff.bin
+
+${NLN} ${RTMFIX}/Nalli.IRwater.EmisCoeff.bin ./crtm_coeffs/Nalli.IRwater.EmisCoeff.bin
+${NLN} ${RTMFIX}/NPOESS.IRice.EmisCoeff.bin ./crtm_coeffs/NPOESS.IRice.EmisCoeff.bin
+${NLN} ${RTMFIX}/NPOESS.IRland.EmisCoeff.bin ./crtm_coeffs/NPOESS.IRland.EmisCoeff.bin
+${NLN} ${RTMFIX}/NPOESS.IRsnow.EmisCoeff.bin ./crtm_coeffs/NPOESS.IRsnow.EmisCoeff.bin
+${NLN} ${RTMFIX}/NPOESS.VISice.EmisCoeff.bin ./crtm_coeffs/NPOESS.VISice.EmisCoeff.bin
+${NLN} ${RTMFIX}/NPOESS.VISland.EmisCoeff.bin ./crtm_coeffs/NPOESS.VISland.EmisCoeff.bin
+${NLN} ${RTMFIX}/NPOESS.VISsnow.EmisCoeff.bin ./crtm_coeffs/NPOESS.VISsnow.EmisCoeff.bin
+${NLN} ${RTMFIX}/NPOESS.VISwater.EmisCoeff.bin ./crtm_coeffs/NPOESS.VISwater.EmisCoeff.bin
+${NLN} ${RTMFIX}/FASTEM6.MWwater.EmisCoeff.bin ./crtm_coeffs/FASTEM6.MWwater.EmisCoeff.bin
+${NLN} ${RTMFIX}/AerosolCoeff.bin ./crtm_coeffs/AerosolCoeff.bin
+${NLN} ${RTMFIX}/CloudCoeff.bin ./crtm_coeffs/CloudCoeff.bin
#$NLN $RTMFIX/CloudCoeff.GFDLFV3.-109z-1.bin ./crtm_coeffs/CloudCoeff.bin
##############################################################
# Observational data
-$NLN $PREPQC prepbufr
-$NLN $PREPQCPF prepbufr_profl
-$NLN $SATWND satwndbufr
-$NLN $OSCATBF oscatbufr
-$NLN $RAPIDSCATBF rapidscatbufr
-$NLN $GSNDBF gsndrbufr
-$NLN $GSNDBF1 gsnd1bufr
-$NLN $B1HRS2 hirs2bufr
-$NLN $B1MSU msubufr
-$NLN $B1HRS3 hirs3bufr
-$NLN $B1HRS4 hirs4bufr
-$NLN $B1AMUA amsuabufr
-$NLN $B1AMUB amsubbufr
-$NLN $B1MHS mhsbufr
-$NLN $ESHRS3 hirs3bufrears
-$NLN $ESAMUA amsuabufrears
-$NLN $ESAMUB amsubbufrears
+${NLN} ${PREPQC} prepbufr
+${NLN} ${PREPQCPF} prepbufr_profl
+${NLN} ${SATWND} satwndbufr
+${NLN} ${OSCATBF} oscatbufr
+${NLN} ${RAPIDSCATBF} rapidscatbufr
+${NLN} ${GSNDBF} gsndrbufr
+${NLN} ${GSNDBF1} gsnd1bufr
+${NLN} ${B1HRS2} hirs2bufr
+${NLN} ${B1MSU} msubufr
+${NLN} ${B1HRS3} hirs3bufr
+${NLN} ${B1HRS4} hirs4bufr
+${NLN} ${B1AMUA} amsuabufr
+${NLN} ${B1AMUB} amsubbufr
+${NLN} ${B1MHS} mhsbufr
+${NLN} ${ESHRS3} hirs3bufrears
+${NLN} ${ESAMUA} amsuabufrears
+${NLN} ${ESAMUB} amsubbufrears
#$NLN $ESMHS mhsbufrears
-$NLN $HRS3DB hirs3bufr_db
-$NLN $AMUADB amsuabufr_db
-$NLN $AMUBDB amsubbufr_db
+${NLN} ${HRS3DB} hirs3bufr_db
+${NLN} ${AMUADB} amsuabufr_db
+${NLN} ${AMUBDB} amsubbufr_db
#$NLN $MHSDB mhsbufr_db
-$NLN $SBUVBF sbuvbufr
-$NLN $OMPSNPBF ompsnpbufr
-$NLN $OMPSLPBF ompslpbufr
-$NLN $OMPSTCBF ompstcbufr
-$NLN $GOMEBF gomebufr
-$NLN $OMIBF omibufr
-$NLN $MLSBF mlsbufr
-$NLN $SMIPCP ssmirrbufr
-$NLN $TMIPCP tmirrbufr
-$NLN $AIRSBF airsbufr
-$NLN $IASIBF iasibufr
-$NLN $ESIASI iasibufrears
-$NLN $IASIDB iasibufr_db
-$NLN $AMSREBF amsrebufr
-$NLN $AMSR2BF amsr2bufr
-$NLN $GMI1CRBF gmibufr
-$NLN $SAPHIRBF saphirbufr
-$NLN $SEVIRIBF seviribufr
-$NLN $CRISBF crisbufr
-$NLN $ESCRIS crisbufrears
-$NLN $CRISDB crisbufr_db
-$NLN $CRISFSBF crisfsbufr
-$NLN $ESCRISFS crisfsbufrears
-$NLN $CRISFSDB crisfsbufr_db
-$NLN $ATMSBF atmsbufr
-$NLN $ESATMS atmsbufrears
-$NLN $ATMSDB atmsbufr_db
-$NLN $SSMITBF ssmitbufr
-$NLN $SSMISBF ssmisbufr
-$NLN $GPSROBF gpsrobufr
-$NLN $TCVITL tcvitl
-$NLN $B1AVHAM avhambufr
-$NLN $B1AVHPM avhpmbufr
-$NLN $AHIBF ahibufr
-$NLN $ABIBF abibufr
-$NLN $HDOB hdobbufr
-$NLN $SSTVIIRS sstviirs
-
-[[ $DONST = "YES" ]] && $NLN $NSSTBF nsstbufr
+${NLN} ${SBUVBF} sbuvbufr
+${NLN} ${OMPSNPBF} ompsnpbufr
+${NLN} ${OMPSLPBF} ompslpbufr
+${NLN} ${OMPSTCBF} ompstcbufr
+${NLN} ${GOMEBF} gomebufr
+${NLN} ${OMIBF} omibufr
+${NLN} ${MLSBF} mlsbufr
+${NLN} ${SMIPCP} ssmirrbufr
+${NLN} ${TMIPCP} tmirrbufr
+${NLN} ${AIRSBF} airsbufr
+${NLN} ${IASIBF} iasibufr
+${NLN} ${ESIASI} iasibufrears
+${NLN} ${IASIDB} iasibufr_db
+${NLN} ${AMSREBF} amsrebufr
+${NLN} ${AMSR2BF} amsr2bufr
+${NLN} ${GMI1CRBF} gmibufr
+${NLN} ${SAPHIRBF} saphirbufr
+${NLN} ${SEVIRIBF} seviribufr
+${NLN} ${CRISBF} crisbufr
+${NLN} ${ESCRIS} crisbufrears
+${NLN} ${CRISDB} crisbufr_db
+${NLN} ${CRISFSBF} crisfsbufr
+${NLN} ${ESCRISFS} crisfsbufrears
+${NLN} ${CRISFSDB} crisfsbufr_db
+${NLN} ${ATMSBF} atmsbufr
+${NLN} ${ESATMS} atmsbufrears
+${NLN} ${ATMSDB} atmsbufr_db
+${NLN} ${SSMITBF} ssmitbufr
+${NLN} ${SSMISBF} ssmisbufr
+${NLN} ${GPSROBF} gpsrobufr
+${NLN} ${TCVITL} tcvitl
+${NLN} ${B1AVHAM} avhambufr
+${NLN} ${B1AVHPM} avhpmbufr
+${NLN} ${AHIBF} ahibufr
+${NLN} ${ABIBF} abibufr
+${NLN} ${HDOB} hdobbufr
+${NLN} ${SSTVIIRS} sstviirs
+
+[[ ${DONST} = "YES" ]] && ${NLN} ${NSSTBF} nsstbufr
##############################################################
# Required bias guess files
-$NLN $GBIAS satbias_in
-$NLN $GBIASPC satbias_pc
-$NLN $GBIASAIR aircftbias_in
-$NLN $GRADSTAT radstat.gdas
+${NLN} ${GBIAS} satbias_in
+${NLN} ${GBIASPC} satbias_pc
+${NLN} ${GBIASAIR} aircftbias_in
+${NLN} ${GRADSTAT} radstat.gdas
##############################################################
# Required model guess files
-$NLN $ATMG03 sigf03
-$NLN $ATMGES sigf06
-$NLN $ATMG09 sigf09
+${NLN} ${ATMG03} sigf03
+${NLN} ${ATMGES} sigf06
+${NLN} ${ATMG09} sigf09
-$NLN $SFCG03 sfcf03
-$NLN $SFCGES sfcf06
-$NLN $SFCG09 sfcf09
+${NLN} ${SFCG03} sfcf03
+${NLN} ${SFCGES} sfcf06
+${NLN} ${SFCG09} sfcf09
-# Link hourly backgrounds (if present)
+[[ -f ${ATMG04} ]] && ${NLN} ${ATMG04} sigf04
+[[ -f ${ATMG05} ]] && ${NLN} ${ATMG05} sigf05
+[[ -f ${ATMG07} ]] && ${NLN} ${ATMG07} sigf07
+[[ -f ${ATMG08} ]] && ${NLN} ${ATMG08} sigf08
-[[ -f $ATMG04 ]] && $NLN $ATMG04 sigf04
-[[ -f $ATMG05 ]] && $NLN $ATMG05 sigf05
-[[ -f $ATMG07 ]] && $NLN $ATMG07 sigf07
-[[ -f $ATMG08 ]] && $NLN $ATMG08 sigf08
+[[ -f ${SFCG04} ]] && ${NLN} ${SFCG04} sfcf04
+[[ -f ${SFCG05} ]] && ${NLN} ${SFCG05} sfcf05
+[[ -f ${SFCG07} ]] && ${NLN} ${SFCG07} sfcf07
+[[ -f ${SFCG08} ]] && ${NLN} ${SFCG08} sfcf08
-[[ -f $SFCG04 ]] && $NLN $SFCG04 sfcf04
-[[ -f $SFCG05 ]] && $NLN $SFCG05 sfcf05
-[[ -f $SFCG07 ]] && $NLN $SFCG07 sfcf07
-[[ -f $SFCG08 ]] && $NLN $SFCG08 sfcf08
-
-if [ $DOHYBVAR = "YES" ]; then
+if [ ${DOHYBVAR} = "YES" ]; then
# Link ensemble members
mkdir -p ensemble_data
ENKF_SUFFIX="s"
- [[ $SMOOTH_ENKF = "NO" ]] && ENKF_SUFFIX=""
+ [[ ${SMOOTH_ENKF} = "NO" ]] && ENKF_SUFFIX=""
fhrs="06"
- if [ $l4densvar = ".true." ]; then
+ if [ ${l4densvar} = ".true." ]; then
fhrs="03 04 05 06 07 08 09"
nhr_obsbin=1
fi
- for imem in $(seq 1 $NMEM_ENKF); do
- memchar="mem"$(printf %03i $imem)
- for fhr in $fhrs; do
- $NLN ${COMIN_GES_ENS}/$memchar/${GPREFIX}atmf0${fhr}${ENKF_SUFFIX}${GSUFFIX} ./ensemble_data/sigf${fhr}_ens_$memchar
- if [ $cnvw_option = ".true." ]; then
- $NLN ${COMIN_GES_ENS}/$memchar/${GPREFIX}sfcf0${fhr}${GSUFFIX} ./ensemble_data/sfcf${fhr}_ens_$memchar
+ for imem in $(seq 1 ${NMEM_ENKF}); do
+ memchar="mem"$(printf %03i ${imem})
+ for fhr in ${fhrs}; do
+ ${NLN} ${COMIN_GES_ENS}/${memchar}/${GPREFIX}atmf0${fhr}${ENKF_SUFFIX}${GSUFFIX} ./ensemble_data/sigf${fhr}_ens_${memchar}
+ if [ ${cnvw_option} = ".true." ]; then
+ ${NLN} ${COMIN_GES_ENS}/${memchar}/${GPREFIX}sfcf0${fhr}${GSUFFIX} ./ensemble_data/sfcf${fhr}_ens_${memchar}
fi
done
done
@@ -577,11 +575,11 @@ fi
##############################################################
# Handle inconsistent surface mask between background, ensemble and analysis grids
# This needs re-visiting in the context of NSST; especially references to JCAP*
-if [ $JCAP -ne $JCAP_A ]; then
- if [ $DOHYBVAR = "YES" -a $JCAP_A = $JCAP_ENKF ]; then
- if [ -e $SFCGES_ENSMEAN ]; then
+if [ ${JCAP} -ne ${JCAP_A} ]; then
+ if [ ${DOHYBVAR} = "YES" -a ${JCAP_A} = ${JCAP_ENKF} ]; then
+ if [ -e ${SFCGES_ENSMEAN} ]; then
USE_READIN_ANL_SFCMASK=.true.
- $NLN $SFCGES_ENSMEAN sfcf06_anlgrid
+ ${NLN} ${SFCGES_ENSMEAN} sfcf06_anlgrid
else
echo "Warning: Inconsistent sfc mask between analysis and ensemble grids, GSI will interpolate"
fi
@@ -593,108 +591,108 @@ fi
##############################################################
# Diagnostic files
# if requested, link GSI diagnostic file directories for use later
-if [ $GENDIAG = "YES" ] ; then
- if [ $lrun_subdirs = ".true." ] ; then
- if [ -d $DIAG_DIR ]; then
- rm -rf $DIAG_DIR
+if [ ${GENDIAG} = "YES" ] ; then
+ if [ ${lrun_subdirs} = ".true." ] ; then
+ if [ -d ${DIAG_DIR} ]; then
+ rm -rf ${DIAG_DIR}
fi
- npe_m1="$(($npe_gsi-1))"
- for pe in $(seq 0 $npe_m1); do
- pedir="dir."$(printf %04i $pe)
- mkdir -p $DIAG_DIR/$pedir
- $NLN $DIAG_DIR/$pedir $pedir
+ npe_m1="$((${npe_gsi}-1))"
+ for pe in $(seq 0 ${npe_m1}); do
+ pedir="dir."$(printf %04i ${pe})
+ mkdir -p ${DIAG_DIR}/${pedir}
+ ${NLN} ${DIAG_DIR}/${pedir} ${pedir}
done
else
- err_exit "FATAL ERROR: lrun_subdirs must be true. lrun_subdirs=$lrun_subdirs"
+ err_exit "FATAL ERROR: lrun_subdirs must be true. lrun_subdirs=${lrun_subdirs}"
fi
fi
##############################################################
# Output files
-$NLN $ATMANL siganl
-$NLN $ATMINC siginc.nc
-if [ $DOHYBVAR = "YES" -a $l4densvar = ".true." -a $lwrite4danl = ".true." ]; then
- $NLN $ATMA03 siga03
- $NLN $ATMI03 sigi03.nc
- $NLN $ATMA04 siga04
- $NLN $ATMI04 sigi04.nc
- $NLN $ATMA05 siga05
- $NLN $ATMI05 sigi05.nc
- $NLN $ATMA07 siga07
- $NLN $ATMI07 sigi07.nc
- $NLN $ATMA08 siga08
- $NLN $ATMI08 sigi08.nc
- $NLN $ATMA09 siga09
- $NLN $ATMI09 sigi09.nc
+${NLN} ${ATMANL} siganl
+${NLN} ${ATMINC} siginc.nc
+if [ ${DOHYBVAR} = "YES" -a ${l4densvar} = ".true." -a ${lwrite4danl} = ".true." ]; then
+ ${NLN} ${ATMA03} siga03
+ ${NLN} ${ATMI03} sigi03.nc
+ ${NLN} ${ATMA04} siga04
+ ${NLN} ${ATMI04} sigi04.nc
+ ${NLN} ${ATMA05} siga05
+ ${NLN} ${ATMI05} sigi05.nc
+ ${NLN} ${ATMA07} siga07
+ ${NLN} ${ATMI07} sigi07.nc
+ ${NLN} ${ATMA08} siga08
+ ${NLN} ${ATMI08} sigi08.nc
+ ${NLN} ${ATMA09} siga09
+ ${NLN} ${ATMI09} sigi09.nc
fi
-$NLN $ABIAS satbias_out
-$NLN $ABIASPC satbias_pc.out
-$NLN $ABIASAIR aircftbias_out
+${NLN} ${ABIAS} satbias_out
+${NLN} ${ABIASPC} satbias_pc.out
+${NLN} ${ABIASAIR} aircftbias_out
-if [ $DONST = "YES" ]; then
- $NLN $DTFANL dtfanl
+if [ ${DONST} = "YES" ]; then
+ ${NLN} ${DTFANL} dtfanl
fi
# If requested, link (and if tarred, de-tar obsinput.tar) into obs_input.* files
-if [ $USE_SELECT = "YES" ]; then
+if [ ${USE_SELECT} = "YES" ]; then
rm obs_input.*
- nl=$(file $SELECT_OBS | cut -d: -f2 | grep tar | wc -l)
- if [ $nl -eq 1 ]; then
+ nl=$(file ${SELECT_OBS} | cut -d: -f2 | grep tar | wc -l)
+ if [ ${nl} -eq 1 ]; then
rm obsinput.tar
- $NLN $SELECT_OBS obsinput.tar
+ ${NLN} ${SELECT_OBS} obsinput.tar
tar -xvf obsinput.tar
rm obsinput.tar
else
- for filetop in $(ls $SELECT_OBS/obs_input.*); do
- fileloc=$(basename $filetop)
- $NLN $filetop $fileloc
+ for filetop in $(ls ${SELECT_OBS}/obs_input.*); do
+ fileloc=$(basename ${filetop})
+ ${NLN} ${filetop} ${fileloc}
done
fi
fi
##############################################################
# If requested, copy and de-tar guess radstat file
-if [ $USE_RADSTAT = "YES" ]; then
- if [ $USE_CFP = "YES" ]; then
- [[ -f $DATA/unzip.sh ]] && rm $DATA/unzip.sh
- [[ -f $DATA/mp_unzip.sh ]] && rm $DATA/mp_unzip.sh
- cat > $DATA/unzip.sh << EOFunzip
+if [ ${USE_RADSTAT} = "YES" ]; then
+ if [ ${USE_CFP} = "YES" ]; then
+ [[ -f ${DATA}/unzip.sh ]] && rm ${DATA}/unzip.sh
+ [[ -f ${DATA}/mp_unzip.sh ]] && rm ${DATA}/mp_unzip.sh
+ cat > ${DATA}/unzip.sh << EOFunzip
#!/bin/sh
diag_file=\$1
diag_suffix=\$2
fname=\$(echo \$diag_file | cut -d'.' -f1)
fdate=\$(echo \$diag_file | cut -d'.' -f2)
- $UNCOMPRESS \$diag_file
+ ${UNCOMPRESS} \$diag_file
fnameges=\$(echo \$fname | sed 's/_ges//g')
- $NMV \$fname.\$fdate\$diag_suffix \$fnameges
+ ${NMV} \$fname.\$fdate\$diag_suffix \$fnameges
EOFunzip
- chmod 755 $DATA/unzip.sh
+ chmod 755 ${DATA}/unzip.sh
fi
listdiag=$(tar xvf radstat.gdas | cut -d' ' -f2 | grep _ges)
- for type in $listdiag; do
- diag_file=$(echo $type | cut -d',' -f1)
- if [ $USE_CFP = "YES" ] ; then
- echo "$nm $DATA/unzip.sh $diag_file $DIAG_SUFFIX" | tee -a $DATA/mp_unzip.sh
+ for type in ${listdiag}; do
+ diag_file=$(echo ${type} | cut -d',' -f1)
+ if [ ${USE_CFP} = "YES" ] ; then
+ echo "${nm} ${DATA}/unzip.sh ${diag_file} ${DIAG_SUFFIX}" | tee -a ${DATA}/mp_unzip.sh
if [ ${CFP_MP:-"NO"} = "YES" ]; then
nm=$((nm+1))
fi
else
- fname=$(echo $diag_file | cut -d'.' -f1)
- date=$(echo $diag_file | cut -d'.' -f2)
- $UNCOMPRESS $diag_file
- fnameges=$(echo $fname|sed 's/_ges//g')
- $NMV $fname.$date$DIAG_SUFFIX $fnameges
+ fname=$(echo ${diag_file} | cut -d'.' -f1)
+ date=$(echo ${diag_file} | cut -d'.' -f2)
+ ${UNCOMPRESS} ${diag_file}
+ fnameges=$(echo ${fname}|sed 's/_ges//g')
+ ${NMV} ${fname}.${date}${DIAG_SUFFIX} ${fnameges}
fi
done
- if [ $USE_CFP = "YES" ] ; then
- chmod 755 $DATA/mp_unzip.sh
- ncmd=$(cat $DATA/mp_unzip.sh | wc -l)
- if [ $ncmd -gt 0 ]; then
+ if [ ${USE_CFP} = "YES" ] ; then
+ chmod 755 ${DATA}/mp_unzip.sh
+ ncmd=$(cat ${DATA}/mp_unzip.sh | wc -l)
+ if [ ${ncmd} -gt 0 ]; then
ncmd_max=$((ncmd < npe_node_max ? ncmd : npe_node_max))
- APRUNCFP_UNZIP=$(eval echo $APRUNCFP)
- $APRUNCFP_UNZIP $DATA/mp_unzip.sh
+ APRUNCFP_UNZIP=$(eval echo ${APRUNCFP})
+ ${APRUNCFP_UNZIP} ${DATA}/mp_unzip.sh
export err=$?; err_chk
fi
fi
@@ -702,18 +700,18 @@ fi # if [ $USE_RADSTAT = "YES" ]
##############################################################
# GSI Namelist options
-if [ $DOHYBVAR = "YES" ]; then
- HYBRID_ENSEMBLE="n_ens=$NMEM_ENKF,jcap_ens=$JCAP_ENKF,nlat_ens=$NLAT_ENKF,nlon_ens=$NLON_ENKF,jcap_ens_test=$JCAP_ENKF,$HYBRID_ENSEMBLE"
- if [ $l4densvar = ".true." ]; then
- SETUP="niter(1)=50,niter(2)=150,niter_no_qc(1)=25,niter_no_qc(2)=0,thin4d=.true.,ens_nstarthr=3,l4densvar=$l4densvar,lwrite4danl=$lwrite4danl,$SETUP"
- JCOPTS="ljc4tlevs=.true.,$JCOPTS"
- STRONGOPTS="tlnmc_option=3,$STRONGOPTS"
- OBSQC="c_varqc=0.04,$OBSQC"
+if [ ${DOHYBVAR} = "YES" ]; then
+ HYBRID_ENSEMBLE="n_ens=${NMEM_ENKF},jcap_ens=${JCAP_ENKF},nlat_ens=${NLAT_ENKF},nlon_ens=${NLON_ENKF},jcap_ens_test=${JCAP_ENKF},${HYBRID_ENSEMBLE}"
+ if [ ${l4densvar} = ".true." ]; then
+ SETUP="niter(1)=50,niter(2)=150,niter_no_qc(1)=25,niter_no_qc(2)=0,thin4d=.true.,ens_nstarthr=3,l4densvar=${l4densvar},lwrite4danl=${lwrite4danl},${SETUP}"
+ JCOPTS="ljc4tlevs=.true.,${JCOPTS}"
+ STRONGOPTS="tlnmc_option=3,${STRONGOPTS}"
+ OBSQC="c_varqc=0.04,${OBSQC}"
fi
fi
-if [ $DONST = "YES" ]; then
- NST="nstinfo=$NSTINFO,fac_dtl=$FAC_DTL,fac_tsl=$FAC_TSL,zsea1=$ZSEA1,zsea2=$ZSEA2,$NST"
+if [ ${DONST} = "YES" ]; then
+ NST="nstinfo=${NSTINFO},fac_dtl=${FAC_DTL},fac_tsl=${FAC_TSL},zsea1=${ZSEA1},zsea2=${ZSEA2},${NST}"
fi
##############################################################
@@ -725,33 +723,33 @@ cat > gsiparm.anl << EOF
niter_no_qc(1)=50,niter_no_qc(2)=0,
write_diag(1)=.true.,write_diag(2)=.false.,write_diag(3)=.true.,
qoption=2,
- gencode=${IGEN:-0},deltim=$DELTIM,
+ gencode=${IGEN:-0},deltim=${DELTIM},
factqmin=0.5,factqmax=0.0002,
iguess=-1,
- tzr_qc=$TZR_QC,
+ tzr_qc=${TZR_QC},
oneobtest=.false.,retrieval=.false.,l_foto=.false.,
use_pbl=.false.,use_compress=.true.,nsig_ext=12,gpstop=50.,commgpstop=45.,commgpserrinf=1.0,
use_gfs_nemsio=${use_gfs_nemsio},use_gfs_ncio=${use_gfs_ncio},sfcnst_comb=.true.,
use_readin_anl_sfcmask=${USE_READIN_ANL_SFCMASK},
- lrun_subdirs=$lrun_subdirs,
+ lrun_subdirs=${lrun_subdirs},
crtm_coeffs_path='./crtm_coeffs/',
newpc4pred=.true.,adp_anglebc=.true.,angord=4,passive_bc=.true.,use_edges=.false.,
diag_precon=.true.,step_start=1.e-3,emiss_bc=.true.,nhr_obsbin=${nhr_obsbin:-3},
- cwoption=3,imp_physics=$imp_physics,lupp=$lupp,cnvw_option=$cnvw_option,cao_check=${cao_check},
- netcdf_diag=$netcdf_diag,binary_diag=$binary_diag,
- lobsdiag_forenkf=$lobsdiag_forenkf,
- write_fv3_incr=$write_fv3_increment,
+ cwoption=3,imp_physics=${imp_physics},lupp=${lupp},cnvw_option=${cnvw_option},cao_check=${cao_check},
+ netcdf_diag=${netcdf_diag},binary_diag=${binary_diag},
+ lobsdiag_forenkf=${lobsdiag_forenkf},
+ write_fv3_incr=${write_fv3_increment},
nhr_anal=${IAUFHRS},
ta2tb=${ta2tb},
- $WRITE_INCR_ZERO
- $WRITE_ZERO_STRAT
- $WRITE_STRAT_EFOLD
- $SETUP
+ ${WRITE_INCR_ZERO}
+ ${WRITE_ZERO_STRAT}
+ ${WRITE_STRAT_EFOLD}
+ ${SETUP}
/
&GRIDOPTS
- JCAP_B=$JCAP,JCAP=$JCAP_A,NLAT=$NLAT_A,NLON=$NLON_A,nsig=$LEVS,
+ JCAP_B=${JCAP},JCAP=${JCAP_A},NLAT=${NLAT_A},NLON=${NLON_A},nsig=${LEVS},
regional=.false.,nlayers(63)=3,nlayers(64)=6,
- $GRIDOPTS
+ ${GRIDOPTS}
/
&BKGERR
vs=0.7,
@@ -761,30 +759,30 @@ cat > gsiparm.anl << EOF
bkgv_flowdep=.true.,bkgv_rewgtfct=1.5,
bkgv_write=.false.,
cwcoveqqcov=.false.,
- $BKGVERR
+ ${BKGVERR}
/
&ANBKGERR
anisotropic=.false.,
- $ANBKGERR
+ ${ANBKGERR}
/
&JCOPTS
ljcdfi=.false.,alphajc=0.0,ljcpdry=.true.,bamp_jcpdry=5.0e7,
- $JCOPTS
+ ${JCOPTS}
/
&STRONGOPTS
tlnmc_option=2,nstrong=1,nvmodes_keep=8,period_max=6.,period_width=1.5,
- $STRONGOPTS
+ ${STRONGOPTS}
/
&OBSQC
dfact=0.75,dfact1=3.0,noiqc=.true.,oberrflg=.false.,c_varqc=0.02,
use_poq7=.true.,qc_noirjaco3_pole=.true.,vqc=.false.,nvqc=.true.,
aircraft_t_bc=.true.,biaspredt=1.0e5,upd_aircraft=.true.,cleanup_tail=.true.,
tcp_width=70.0,tcp_ermax=7.35,
- $OBSQC
+ ${OBSQC}
/
&OBS_INPUT
dmesh(1)=145.0,dmesh(2)=150.0,dmesh(3)=100.0,dmesh(4)=25.0,time_window_max=3.0,
- $OBSINPUT
+ ${OBSINPUT}
/
OBS_INPUT::
! dfile dtype dplat dsis dval dthin dsfcalc
@@ -906,37 +904,37 @@ OBS_INPUT::
gomebufr gome metop-c gome_metop-c 0.0 2 0
::
&SUPEROB_RADAR
- $SUPERRAD
+ ${SUPERRAD}
/
&LAG_DATA
- $LAGDATA
+ ${LAGDATA}
/
&HYBRID_ENSEMBLE
- l_hyb_ens=$l_hyb_ens,
+ l_hyb_ens=${l_hyb_ens},
generate_ens=.false.,
beta_s0=0.125,readin_beta=.false.,
s_ens_h=800.,s_ens_v=-0.8,readin_localization=.true.,
aniso_a_en=.false.,oz_univ_static=.false.,uv_hyb_ens=.true.,
ensemble_path='./ensemble_data/',
ens_fast_read=.true.,
- $HYBRID_ENSEMBLE
+ ${HYBRID_ENSEMBLE}
/
&RAPIDREFRESH_CLDSURF
dfi_radar_latent_heat_time_period=30.0,
- $RAPIDREFRESH_CLDSURF
+ ${RAPIDREFRESH_CLDSURF}
/
&CHEM
- $CHEM
+ ${CHEM}
/
&SINGLEOB_TEST
maginnov=0.1,magoberr=0.1,oneob_type='t',
- oblat=45.,oblon=180.,obpres=1000.,obdattim=$CDATE,
+ oblat=45.,oblon=180.,obpres=1000.,obdattim=${CDATE},
obhourset=0.,
- $SINGLEOB
+ ${SINGLEOB}
/
&NST
- nst_gsi=$NST_GSI,
- $NST
+ nst_gsi=${NST_GSI},
+ ${NST}
/
EOF
cat gsiparm.anl
@@ -944,20 +942,20 @@ cat gsiparm.anl
##############################################################
# Run gsi analysis
-export OMP_NUM_THREADS=$NTHREADS_GSI
-export pgm=$GSIEXEC
+export OMP_NUM_THREADS=${NTHREADS_GSI}
+export pgm=${GSIEXEC}
. prep_step
-$NCP $GSIEXEC $DATA
-$APRUN_GSI ${DATA}/$(basename $GSIEXEC) 1>&1 2>&2
+${NCP} ${GSIEXEC} ${DATA}
+${APRUN_GSI} ${DATA}/$(basename ${GSIEXEC}) 1>&1 2>&2
export err=$?; err_chk
##############################################################
# If full analysis field written, calculate analysis increment
# here before releasing FV3 forecast
-if [ $DO_CALC_INCREMENT = "YES" ]; then
- $CALCINCPY
+if [ ${DO_CALC_INCREMENT} = "YES" ]; then
+ ${CALCINCPY}
export err=$?; err_chk
fi
@@ -965,52 +963,52 @@ fi
##############################################################
# For eupd
if [ -s satbias_out.int ]; then
- $NCP satbias_out.int $ABIASe
+ ${NCP} satbias_out.int ${ABIASe}
else
- $NCP satbias_in $ABIASe
+ ${NCP} satbias_in ${ABIASe}
fi
# Cat runtime output files.
-cat fort.2* > $GSISTAT
+cat fort.2* > ${GSISTAT}
# If requested, create obsinput tarball from obs_input.* files
-if [ $RUN_SELECT = "YES" ]; then
+if [ ${RUN_SELECT} = "YES" ]; then
echo $(date) START tar obs_input >&2
[[ -s obsinput.tar ]] && rm obsinput.tar
- $NLN $SELECT_OBS obsinput.tar
+ ${NLN} ${SELECT_OBS} obsinput.tar
${CHGRP_CMD} obs_input.*
tar -cvf obsinput.tar obs_input.*
- chmod 750 $SELECT_OBS
- ${CHGRP_CMD} $SELECT_OBS
+ chmod 750 ${SELECT_OBS}
+ ${CHGRP_CMD} ${SELECT_OBS}
rm obsinput.tar
echo $(date) END tar obs_input >&2
fi
################################################################################
# Send alerts
-if [ $SENDDBN = "YES" ]; then
- if [ $RUN = "gfs" ]; then
- $DBNROOT/bin/dbn_alert MODEL GFS_abias $job $ABIAS
+if [ ${SENDDBN} = "YES" ]; then
+ if [ ${RUN} = "gfs" ]; then
+ ${DBNROOT}/bin/dbn_alert MODEL GFS_abias ${job} ${ABIAS}
fi
fi
################################################################################
# Postprocessing
-cd $pwd
-[[ $mkdata = "YES" ]] && rm -rf $DATA
+cd ${pwd}
+[[ ${mkdata} = "YES" ]] && rm -rf ${DATA}
##############################################################
# Add this statement to release the forecast job once the
# atmopsheric analysis and updated surface RESTARTS are
# available. Do not release forecast when RUN=enkf
##############################################################
-if [ $SENDECF = "YES" -a "$RUN" != "enkf" ]; then
+if [ ${SENDECF} = "YES" -a "${RUN}" != "enkf" ]; then
ecflow_client --event release_fcst
fi
-echo "$CDUMP $CDATE atminc done at $(date)" > $COMOUT/${APREFIX}loginc.txt
+echo "${CDUMP} ${CDATE} atminc done at $(date)" > ${COMOUT}/${APREFIX}loginc.txt
################################################################################
-exit $err
+exit ${err}
################################################################################
diff --git a/sorc/checkout.sh b/sorc/checkout.sh
index dc58f19253..066502abc7 100755
--- a/sorc/checkout.sh
+++ b/sorc/checkout.sh
@@ -19,7 +19,7 @@ Usage: ${BASH_SOURCE[0]} [-c][-h][-m ufs_hash][-o]
Check out this UFS hash instead of the default
-o:
Check out operational-only code (GTG and WAFS)
- -g:
+ -g:
Check out GSI for GSI-based DA
-u:
Check out GDASApp for UFS-based DA
diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh
index 36dd448cb9..42345ea4ed 100755
--- a/sorc/link_workflow.sh
+++ b/sorc/link_workflow.sh
@@ -27,7 +27,7 @@ OPTIND=1
while getopts ":ho" option; do
case "${option}" in
h) usage ;;
- o)
+ o)
echo "-o option received, configuring for NCO"
RUN_ENVIR="nco";;
:)
diff --git a/workflow/applications.py b/workflow/applications.py
index 5622b6ff70..d2776f7f7b 100644
--- a/workflow/applications.py
+++ b/workflow/applications.py
@@ -103,7 +103,7 @@ def __init__(self, configuration: Configuration) -> None:
self.do_bufrsnd = _base.get('DO_BUFRSND', False)
self.do_gempak = _base.get('DO_GEMPAK', False)
self.do_awips = _base.get('DO_AWIPS', False)
- self.do_wafs = _base.get('DO_WAFS', False)
+ self.do_wafs = _base.get('WAFSF', False)
self.do_vrfy = _base.get('DO_VRFY', True)
self.do_metp = _base.get('DO_METP', False)
self.do_jedivar = _base.get('DO_JEDIVAR', False)
diff --git a/workflow/rocoto/workflow_tasks.py b/workflow/rocoto/workflow_tasks.py
index 67c2847a53..6273c16491 100644
--- a/workflow/rocoto/workflow_tasks.py
+++ b/workflow/rocoto/workflow_tasks.py
@@ -41,7 +41,9 @@ def __init__(self, app_config: AppConfig, cdump: str) -> None:
'CDUMP': self.cdump,
'CDATE': '@Y@m@d@H',
'PDY': '@Y@m@d',
- 'cyc': '@H'}
+ 'cyc': '@H',
+ 'COMROOT': self._base.get('COMROOT'),
+ 'DATAROOT': self._base.get('DATAROOT')}
self.envars = self._set_envars(envar_dict)
@staticmethod