From b67ec89958f93db768c9bd278bd4f34e0f132831 Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Tue, 6 Dec 2022 13:07:31 -0500 Subject: [PATCH 1/3] make ocean analysis j-jobs consistent --- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST | 27 +++++++++++- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP | 59 +++++++++++++-------------- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN | 57 ++++++++++++-------------- 3 files changed, 80 insertions(+), 63 deletions(-) diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST index 6b64e5ab8a..98385ddfe4 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST @@ -2,14 +2,37 @@ export STRICT="NO" source "${HOMEgfs}/ush/preamble.sh" +############################################## +# make temp directory +############################################## +export DATA=${DATA:-${DATAROOT}/ocnanal_${cyc}} +mkdir -p ${DATA} +cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; 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 ocnanalpost" -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/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP index 9ba0a96ae5..07be734626 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP @@ -2,36 +2,13 @@ export STRICT="NO" source "${HOMEgfs}/ush/preamble.sh" -############################# -# Source relevant config files -############################# -export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} -configs="base ocnanal ocnanalprep" -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 ocnanalprep -status=$? -[[ ${status} -ne 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}/ocnanal_${CDATE}} -mkdir -p "${DATA}" -cd "${DATA}" || (echo "${DATA} does not exist. ABORT!"; exit 1) +export DATA=${DATA:-${DATAROOT}/ocnanal_${cyc}} +rm -rf ${DATA} # Ensure starting with a clean DATA +mkdir -p ${DATA} +cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1) ############################################## @@ -45,23 +22,43 @@ 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 ocnanal ocnanalprep" +for config in ${configs}; do + . ${EXPDIR}/config.${config} + status=$? + [[ ${status} -ne 0 ]] && exit "${status}" +done + + +########################################## +# Source machine runtime environment +########################################## +. ${HOMEgfs}/env/${machine}.env ocnanalprep +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:-ocean} +export COMPONENT="ocean" ############################################## # Begin JOB SPECIFIC work ############################################## -GDATE=$(date +%Y%m%d%H -d "${CDATE:0:8} ${CDATE:8:2} - ${assim_freq} hours") -export GDATE +export GDATE=$(date +%Y%m%d%H -d "${CDATE:0:8} ${CDATE:8:2} - ${assim_freq} hours") gPDY=${GDATE:0:8} export gcyc=${GDATE:8:2} export GDUMP=${GDUMP:-"gdas"} diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN index 374d889ee6..a41117cf40 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN @@ -2,36 +2,13 @@ export STRICT="NO" source "${HOMEgfs}/ush/preamble.sh" -############################# -# Source relevant config files -############################# -export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} -configs="base ocnanal ocnanalrun" -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 ocnanalrun -status=$? -[[ ${status} -ne 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}/ocnanal_${CDATE}} -mkdir -p "${DATA}" -cd "${DATA}" || (echo "${DATA} does not exist. ABORT!"; exit 1) +export DATA=${DATA:-${DATAROOT}/ocnanal_${cyc}} +mkdir -p ${DATA} +cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1) ############################################## @@ -45,16 +22,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 ocnanal ocnanalrun" +for config in ${configs}; do + . ${EXPDIR}/config.${config} + status=$? + [[ ${status} -ne 0 ]] && exit "${status}" +done + + +########################################## +# Source machine runtime environment +########################################## +. ${HOMEgfs}/env/${machine}.env ocnanalrun +status=$? +[[ ${status} -ne 0 ]] && exit "${status}" + + ############################################## # Set variables used in the script ############################################## export CDUMP=${CDUMP:-${RUN:-"gfs"}} -export COMPONENT=${COMPONENT:-ocean} +export COMPONENT="ocean" ############################################## # Begin JOB SPECIFIC work @@ -82,9 +80,8 @@ if [[ -e "${pgmout}" ]] ; then fi ########################################## -# Remove the Temporary working directory +# Do not remove the Temporary working directory (do this in POST) ########################################## cd "${DATAROOT}" || exit 1 -[[ ${KEEPDATA} = "NO" ]] && rm -rf "${DATA}" exit 0 From c2fb077274a0d833f4586c2c2ff44522dd27ce99 Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Tue, 6 Dec 2022 13:45:57 -0500 Subject: [PATCH 2/3] fix SC2155 --- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP index 07be734626..b43d9c4fbe 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP @@ -58,8 +58,9 @@ export COMPONENT="ocean" # Begin JOB SPECIFIC work ############################################## -export GDATE=$(date +%Y%m%d%H -d "${CDATE:0:8} ${CDATE:8:2} - ${assim_freq} hours") -gPDY=${GDATE:0:8} +GDATE=$(date +%Y%m%d%H -d "${PDY} ${cyc} - ${assim_freq} hours") +export GDATE +export gPDY=${GDATE:0:8} export gcyc=${GDATE:8:2} export GDUMP=${GDUMP:-"gdas"} From 72f28488a9c436b1bda7500182c4dfb652fe4e9c Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Tue, 6 Dec 2022 14:05:23 -0500 Subject: [PATCH 3/3] fix SC2086 in the canonical form --- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST | 8 ++++---- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP | 10 +++++----- jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST index 98385ddfe4..00526d45e7 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_POST @@ -6,8 +6,8 @@ source "${HOMEgfs}/ush/preamble.sh" # make temp directory ############################################## export DATA=${DATA:-${DATAROOT}/ocnanal_${cyc}} -mkdir -p ${DATA} -cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1) +mkdir -p "${DATA}" +cd "${DATA}" || (echo "${DATA} does not exist. ABORT!"; exit 1) ############################################## @@ -32,7 +32,7 @@ export pgmerr=errfile export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} configs="base ocnanalpost" for config in ${configs}; do - . ${EXPDIR}/config.${config} + . "${EXPDIR}/config.${config}" status=$? [[ "${status}" -ne 0 ]] && exit "${status}" done @@ -41,6 +41,6 @@ done # Remove the Temporary working directory ########################################## cd "${DATAROOT}" || exit 1 -[[ ${KEEPDATA} = "NO" ]] && rm -rf "${DATA}" +[[ "${KEEPDATA}" = "NO" ]] && rm -rf "${DATA}" exit 0 diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP index b43d9c4fbe..3c036674fa 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP @@ -6,9 +6,9 @@ source "${HOMEgfs}/ush/preamble.sh" # make temp directory ############################################## export DATA=${DATA:-${DATAROOT}/ocnanal_${cyc}} -rm -rf ${DATA} # Ensure starting with a clean DATA -mkdir -p ${DATA} -cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1) +rm -rf "${DATA}" # Ensure starting with a clean DATA +mkdir -p "${DATA}" +cd "${DATA}" || (echo "${DATA} does not exist. ABORT!"; exit 1) ############################################## @@ -33,7 +33,7 @@ export pgmerr=errfile export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} configs="base ocnanal ocnanalprep" for config in ${configs}; do - . ${EXPDIR}/config.${config} + . "${EXPDIR}/config.${config}" status=$? [[ ${status} -ne 0 ]] && exit "${status}" done @@ -42,7 +42,7 @@ done ########################################## # Source machine runtime environment ########################################## -. ${HOMEgfs}/env/${machine}.env ocnanalprep +. "${HOMEgfs}/env/${machine}.env ocnanalprep" status=$? [[ ${status} -ne 0 ]] && exit "${status}" diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN index a41117cf40..25941d1784 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN @@ -7,8 +7,8 @@ source "${HOMEgfs}/ush/preamble.sh" # make temp directory ############################################## export DATA=${DATA:-${DATAROOT}/ocnanal_${cyc}} -mkdir -p ${DATA} -cd ${DATA} || (echo "${DATA} does not exist. ABORT!"; exit 1) +mkdir -p "${DATA}" +cd "${DATA}" || (echo "${DATA} does not exist. ABORT!"; exit 1) ############################################## @@ -33,7 +33,7 @@ export pgmerr=errfile export EXPDIR=${EXPDIR:-${HOMEgfs}/parm/config} configs="base ocnanal ocnanalrun" for config in ${configs}; do - . ${EXPDIR}/config.${config} + . "${EXPDIR}/config.${config}" status=$? [[ ${status} -ne 0 ]] && exit "${status}" done @@ -42,7 +42,7 @@ done ########################################## # Source machine runtime environment ########################################## -. ${HOMEgfs}/env/${machine}.env ocnanalrun +. "${HOMEgfs}/env/${machine}.env ocnanalrun" status=$? [[ ${status} -ne 0 ]] && exit "${status}"