diff --git a/dev/jobs/JGDAS_AERO_ANALYSIS_GENERATE_BMATRIX b/dev/jobs/JGDAS_AERO_ANALYSIS_GENERATE_BMATRIX index 884647017be..ea88d92b487 100755 --- a/dev/jobs/JGDAS_AERO_ANALYSIS_GENERATE_BMATRIX +++ b/dev/jobs/JGDAS_AERO_ANALYSIS_GENERATE_BMATRIX @@ -41,7 +41,7 @@ EXSCRIPT=${GDASAEROBMATPY:-${SCRgfs}/exgdas_aero_analysis_generate_bmatrix.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate bmatrix for aerosol analysis" fi ############################################## @@ -61,7 +61,7 @@ fi cd "${DATAROOT}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to change directory to ${DATAROOT}" fi if [[ "${KEEPDATA}" == "NO" ]]; then rm -rf "${DATA}" diff --git a/dev/jobs/JGDAS_ATMOS_CHGRES_FORENKF b/dev/jobs/JGDAS_ATMOS_CHGRES_FORENKF index 7e93cb36ce9..75c7356e301 100755 --- a/dev/jobs/JGDAS_ATMOS_CHGRES_FORENKF +++ b/dev/jobs/JGDAS_ATMOS_CHGRES_FORENKF @@ -36,7 +36,7 @@ declare -rx COMIN_ATMOS_HISTORY_MEM="${ROTDIR}/${RUN}.${PDY}/${cyc}/mem001/model ${CHGRESFCSTSH:-${SCRgfs}/exgdas_atmos_chgres_forenkf.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to run chgres for the ensemble" fi ############################################## diff --git a/dev/jobs/JGDAS_ATMOS_GEMPAK b/dev/jobs/JGDAS_ATMOS_GEMPAK index 13b3a2629aa..f45f81cdf8f 100755 --- a/dev/jobs/JGDAS_ATMOS_GEMPAK +++ b/dev/jobs/JGDAS_ATMOS_GEMPAK @@ -42,7 +42,7 @@ done export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate AWIPS products at 1 degree resolution for forecast hour ${FHR3}" fi ######################################################## @@ -53,7 +53,7 @@ fi export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate AWIPS products at 0.25 degree resolution for forecast hour ${FHR3}" fi ############################################ diff --git a/dev/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC b/dev/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC index fef36512048..5982ac9d2ae 100755 --- a/dev/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC +++ b/dev/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC @@ -63,13 +63,13 @@ export pgmout=OUTPUT.$$ "${HOMEgfs}/gempak/ush/gdas_meta_na.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate North American meta gempak products" fi "${HOMEgfs}/gempak/ush/gdas_meta_loop.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate looped image meta gempak products" fi ######################################################## @@ -85,7 +85,7 @@ if ((cyc % 12 == 0)); then fi export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate NCDC GIFs from GDAS GEMPAK products" fi ######################################################## diff --git a/dev/jobs/JGDAS_ATMOS_VERFOZN b/dev/jobs/JGDAS_ATMOS_VERFOZN index aa516ba8719..1321da8cdac 100755 --- a/dev/jobs/JGDAS_ATMOS_VERFOZN +++ b/dev/jobs/JGDAS_ATMOS_VERFOZN @@ -42,7 +42,7 @@ if [[ ! -d ${TANKverf_ozn} ]]; then mkdir -p "${TANKverf_ozn}"; fi "${SCRgfs}/exgdas_atmos_verfozn.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate ozone monitor products" fi ################################ diff --git a/dev/jobs/JGDAS_ATMOS_VERFRAD b/dev/jobs/JGDAS_ATMOS_VERFRAD index 32bce617758..18cd6b5cd92 100755 --- a/dev/jobs/JGDAS_ATMOS_VERFRAD +++ b/dev/jobs/JGDAS_ATMOS_VERFRAD @@ -45,7 +45,7 @@ if [[ ! -d ${TANKverf_rad} ]]; then mkdir -p "${TANKverf_rad}"; fi "${SCRgfs}/exgdas_atmos_verfrad.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate radiance monitor products" fi ################################ diff --git a/dev/jobs/JGDAS_ENKF_POST b/dev/jobs/JGDAS_ENKF_POST index 4f32f8f42db..f15b6d09be9 100755 --- a/dev/jobs/JGDAS_ENKF_POST +++ b/dev/jobs/JGDAS_ENKF_POST @@ -33,7 +33,7 @@ export LEVS=$((LEVS - 1)) ${ENKFPOSTSH:-${SCRgfs}/exgdas_enkf_post.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to run ensemble post processing" fi ############################################## diff --git a/dev/jobs/JGDAS_FIT2OBS b/dev/jobs/JGDAS_FIT2OBS index 8babc65b5f7..ed8b68d9a7c 100755 --- a/dev/jobs/JGDAS_FIT2OBS +++ b/dev/jobs/JGDAS_FIT2OBS @@ -76,10 +76,10 @@ if [[ ${CDATE} -gt ${SDATE} ]]; then # Un-export SHELLOPTS before going into the Fit2Obs package (let that package handle logging/errors) export -n SHELLOPTS - "${SCRIPTSfit2obs}/excfs_gdas_vrfyfits.sh" + "${SCRIPTSfit2obs}/excfs_gdas_vrfyfits.sh" && true err=$? if [[ ${err} -ne 0 ]]; then - exit "${err}" + err_exit "Failed to run Fit2Obs verification" fi ############################################## diff --git a/dev/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG b/dev/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG index 36989f0998c..619fcf05044 100755 --- a/dev/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG +++ b/dev/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG @@ -42,7 +42,7 @@ export pgmout=OUTPUT.$$ "${SCRgfs}/exgfs_atmos_awips_20km_1p0deg.sh" "${fcsthr}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate AWIPS products at 20km resolution for forecast hour ${fcsthr}" fi ######################################################## diff --git a/dev/jobs/JGFS_ATMOS_CYCLONE_GENESIS b/dev/jobs/JGFS_ATMOS_CYCLONE_GENESIS index 5e63b57201d..bac2fe10372 100755 --- a/dev/jobs/JGFS_ATMOS_CYCLONE_GENESIS +++ b/dev/jobs/JGFS_ATMOS_CYCLONE_GENESIS @@ -51,7 +51,7 @@ source "${USHgfs}/unset_strict.sh" export err=$? source "${USHgfs}/set_strict.sh" if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to run the tropical cyclone genesis script" fi ############################################## diff --git a/dev/jobs/JGFS_ATMOS_CYCLONE_TRACKER b/dev/jobs/JGFS_ATMOS_CYCLONE_TRACKER index 63f8dc8f316..3a3a98cde55 100755 --- a/dev/jobs/JGFS_ATMOS_CYCLONE_TRACKER +++ b/dev/jobs/JGFS_ATMOS_CYCLONE_TRACKER @@ -60,14 +60,14 @@ export loopnum=1 "${USHens_tracker}/data_check_gfs.sh" export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Data check failed for GFS input data. Cannot run the tracker script." fi #------------------------------------------------ "${USHens_tracker}/extrkr_gfs.sh" "${loopnum}" "${cmodel}" "${PDY}${cyc}" "${pert}" "${DATA}" export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Tropical cyclone tracking failed" fi # cat ${DATA}/trak.avnx.atcfunix.${PDY}${cyc} | \ diff --git a/dev/jobs/JGFS_ATMOS_FBWIND b/dev/jobs/JGFS_ATMOS_FBWIND index bbe1e9bf8f0..69665fc4f11 100755 --- a/dev/jobs/JGFS_ATMOS_FBWIND +++ b/dev/jobs/JGFS_ATMOS_FBWIND @@ -36,7 +36,7 @@ fi "${SCRgfs}/exgfs_atmos_fbwind.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate Pacific WMO wind products" fi ######################################################## diff --git a/dev/jobs/JGFS_ATMOS_GEMPAK b/dev/jobs/JGFS_ATMOS_GEMPAK index e30df0ca682..7079e56248b 100755 --- a/dev/jobs/JGFS_ATMOS_GEMPAK +++ b/dev/jobs/JGFS_ATMOS_GEMPAK @@ -56,7 +56,7 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "1p00" "${FHR3}" "GFS_GEMPAK" "${COMOUT_ATMOS_GEMPAK_1p00}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 1 degree GEMPAK products for forecast hour ${FHR3}" fi fi fi @@ -68,7 +68,7 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "1p00" "${FHR3}" "GFS_GEMPAK" "${COMOUT_ATMOS_GEMPAK_1p00}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 1 degree GEMPAK products for forecast hour ${FHR3}" fi fi fi @@ -83,7 +83,7 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "0p50" "${FHR3}" "GFS_GEMPAK" "${COMOUT_ATMOS_GEMPAK_0p50}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 0.5 degree GEMPAK products for forecast hour ${FHR3}" fi fi fi @@ -95,7 +95,7 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "0p50" "${FHR3}" "GFS_GEMPAK" "${COMOUT_ATMOS_GEMPAK_0p50}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 0.5 degree GEMPAK products for forecast hour ${FHR3}" fi fi fi @@ -107,7 +107,7 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "0p50" "${FHR3}" "GFS_GEMPAK" "${COMOUT_ATMOS_GEMPAK_0p50}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 0.5 degree GEMPAK products for forecast hour ${FHR3}" fi fi fi @@ -122,7 +122,7 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "0p25" "${FHR3}" "GFS_GEMPAK" "${COMOUT_ATMOS_GEMPAK_0p25}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 0.25 degree GEMPAK products for forecast hour ${FHR3}" fi fi fi @@ -134,7 +134,7 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "0p25" "${FHR3}" "GFS_GEMPAK" "${COMOUT_ATMOS_GEMPAK_0p25}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 0.25 degree GEMPAK products for forecast hour ${FHR3}" fi fi fi @@ -146,7 +146,7 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "0p25" "${FHR3}" "GFS_GEMPAK" "${COMOUT_ATMOS_GEMPAK_0p25}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 0.25 degree GEMPAK products for forecast hour ${FHR3}" fi fi fi @@ -161,19 +161,19 @@ if [[ "${fhr}" -ge "${fhmin}" ]] && [[ "${fhr}" -le "${fhmax}" ]]; then "${SCRgfs}/exgfs_atmos_nawips.sh" "35km_pac" "${FHR3}" "GFS_GEMPAK_WWB" "${COMOUT_ATMOS_GEMPAK_35km_pac}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate Pacific 35km GEMPAK products for forecast hour ${FHR3}" fi "${SCRgfs}/exgfs_atmos_nawips.sh" "35km_atl" "${FHR3}" "GFS_GEMPAK_WWB" "${COMOUT_ATMOS_GEMPAK_35km_atl}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate Atlantic 35km GEMPAK products for forecast hour ${FHR3}" fi "${SCRgfs}/exgfs_atmos_nawips.sh" "40km" "${FHR3}" "GFS_GEMPAK_WWB" "${COMOUT_ATMOS_GEMPAK_40km}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate 40km GEMPAK products for forecast hour ${FHR3}" fi fi fi diff --git a/dev/jobs/JGFS_ATMOS_GEMPAK_META b/dev/jobs/JGFS_ATMOS_GEMPAK_META index 06146e6ee03..9d09b93034d 100755 --- a/dev/jobs/JGFS_ATMOS_GEMPAK_META +++ b/dev/jobs/JGFS_ATMOS_GEMPAK_META @@ -52,7 +52,7 @@ mkdir -m 775 -p "${COMOUT_ATMOS_GEMPAK_META}" "${SCRgfs}/exgfs_atmos_gempak_meta.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate at least one GFS GEMPAK meta product" fi ######################################################## diff --git a/dev/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF b/dev/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF index 94cef0a567e..58bbfd6d7c8 100755 --- a/dev/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF +++ b/dev/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF @@ -57,7 +57,7 @@ export pgmout=OUTPUT.$$ "${SCRgfs}/exgfs_atmos_gempak_gif_ncdc_skew_t.sh" export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate NCDC skew-T GIFs from GFS GEMPAK products" fi ######################################################## diff --git a/dev/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC b/dev/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC index dd8673568ea..622221b7864 100755 --- a/dev/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC +++ b/dev/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC @@ -58,7 +58,7 @@ export EXT=".grd221" export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to simulate GOES data from GFS GEMPAK products for forecast hour ${FHR3}" fi cd "${DATA}" || exit 1 diff --git a/dev/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS b/dev/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS index 7f89cd2e28b..d0a1d0583d2 100755 --- a/dev/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS +++ b/dev/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS @@ -36,7 +36,7 @@ mkdir -m 775 -p "${COMOUT_ATMOS_GOES}" "${SCRgfs}/exgfs_atmos_grib2_special_npoess.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to simulate NPOESS data from GFS GRIB2 products" fi ############################################################# diff --git a/dev/jobs/JGFS_ATMOS_POSTSND b/dev/jobs/JGFS_ATMOS_POSTSND index 1908373cead..4cf83c7354c 100755 --- a/dev/jobs/JGFS_ATMOS_POSTSND +++ b/dev/jobs/JGFS_ATMOS_POSTSND @@ -43,7 +43,7 @@ fi "${SCRgfs}/exgfs_atmos_postsnd.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate GFS BUFR soundings and/or associated WMO products" fi ############################################## diff --git a/dev/jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE b/dev/jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE index 0ed0770e15d..1900da29dfd 100755 --- a/dev/jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE +++ b/dev/jobs/JGLOBAL_AERO_ANALYSIS_FINALIZE @@ -42,7 +42,7 @@ EXSCRIPT=${GDASAEROFINALPY:-${SCRgfs}/exglobal_aero_analysis_finalize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to finalize the aerosol analysis" fi ############################################## @@ -62,7 +62,7 @@ fi cd "${DATAROOT}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to change directory to ${DATAROOT} to remove temporary working directory" fi if [[ "${KEEPDATA}" == "NO" ]]; then rm -rf "${DATA}" diff --git a/dev/jobs/JGLOBAL_AERO_ANALYSIS_INITIALIZE b/dev/jobs/JGLOBAL_AERO_ANALYSIS_INITIALIZE index 3f15ba6973f..e66bff5822b 100755 --- a/dev/jobs/JGLOBAL_AERO_ANALYSIS_INITIALIZE +++ b/dev/jobs/JGLOBAL_AERO_ANALYSIS_INITIALIZE @@ -52,7 +52,7 @@ EXSCRIPT=${GDASAEROINITPY:-${SCRgfs}/exglobal_aero_analysis_initialize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to initialize the aerosol analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_AERO_ANALYSIS_VARIATIONAL b/dev/jobs/JGLOBAL_AERO_ANALYSIS_VARIATIONAL index e107c5ebdf6..64120e9b8e9 100755 --- a/dev/jobs/JGLOBAL_AERO_ANALYSIS_VARIATIONAL +++ b/dev/jobs/JGLOBAL_AERO_ANALYSIS_VARIATIONAL @@ -34,7 +34,7 @@ EXSCRIPT=${GDASAEROVARSH:-${SCRgfs}/exglobal_aero_analysis_variational.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the aerosol analysis increment" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ANALYSIS_STATS b/dev/jobs/JGLOBAL_ANALYSIS_STATS index cb665c74c42..93d8b3972c9 100755 --- a/dev/jobs/JGLOBAL_ANALYSIS_STATS +++ b/dev/jobs/JGLOBAL_ANALYSIS_STATS @@ -57,7 +57,7 @@ EXSCRIPT=${ANLSTATSPY:-${SCRgfs}/exglobal_analysis_stats.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate analysis statistics for ${RUN} ${PDY}${cyc}" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ARCHIVE_VRFY b/dev/jobs/JGLOBAL_ARCHIVE_VRFY index 0ed430941a4..24d3bccdeb2 100755 --- a/dev/jobs/JGLOBAL_ARCHIVE_VRFY +++ b/dev/jobs/JGLOBAL_ARCHIVE_VRFY @@ -55,10 +55,10 @@ fi # Run archive script ############################################################### -${GLOBALARCHIVESH:-${SCRgfs}/exglobal_archive_vrfy.py} -err=$? +${GLOBALARCHIVESH:-${SCRgfs}/exglobal_archive_vrfy.py} && true +export err=$? if [[ ${err} -ne 0 ]]; then - exit "${err}" + err_exit "Failed to archive analysis and forecast files for verification" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_FINALIZE b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_FINALIZE index dedd4439b4f..cd46482b066 100755 --- a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_FINALIZE +++ b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_FINALIZE @@ -42,7 +42,7 @@ EXSCRIPT=${GDASATMENSFINALPY:-${SCRgfs}/exglobal_atmens_analysis_finalize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to finalize the ensemble deterministic atmospheric analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_FV3_INCREMENT b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_FV3_INCREMENT index 9d441f496a6..35af7a365b6 100755 --- a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_FV3_INCREMENT +++ b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_FV3_INCREMENT @@ -34,7 +34,7 @@ EXSCRIPT=${GDASATMENSRUNSH:-${SCRgfs}/exglobal_atmens_analysis_fv3_increment.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the ensemble atmospheric FV3 increments" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE index b70c3c31935..3d057aee5ca 100755 --- a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE +++ b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_INITIALIZE @@ -42,7 +42,7 @@ EXSCRIPT=${GDASATMENSINITPY:-${SCRgfs}/exglobal_atmens_analysis_initialize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to initialize the ensemble atmospheric analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_LETKF b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_LETKF index c16d3cad7b4..fc05c7129c5 100755 --- a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_LETKF +++ b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_LETKF @@ -33,7 +33,7 @@ EXSCRIPT=${GDASATMENSRUNSH:-${SCRgfs}/exglobal_atmens_analysis_letkf.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the ensemble atmospheric analysis increments" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_OBS b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_OBS index 969c24b341b..3e0db5107dd 100755 --- a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_OBS +++ b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_OBS @@ -33,7 +33,7 @@ EXSCRIPT=${GDASATMENSOBSSH:-${SCRgfs}/exglobal_atmens_analysis_obs.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to assimilate observations for the ensemble atmospheric analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_SOL b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_SOL index ed9e4db50f3..533b6bc6173 100755 --- a/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_SOL +++ b/dev/jobs/JGLOBAL_ATMENS_ANALYSIS_SOL @@ -34,7 +34,7 @@ EXSCRIPT=${GDASATMENSSOLSH:-${SCRgfs}/exglobal_atmens_analysis_sol.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the ensemble atmospheric analysis increments" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_ANALYSIS b/dev/jobs/JGLOBAL_ATMOS_ANALYSIS index d0d7852b7bb..1e104ddbeac 100755 --- a/dev/jobs/JGLOBAL_ATMOS_ANALYSIS +++ b/dev/jobs/JGLOBAL_ATMOS_ANALYSIS @@ -69,7 +69,7 @@ export LEVS LEVS=$(${NCLEN} "${ATMGES}" pfull) && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to get LEVS from ${ATMGES}" fi if [[ "${DOHYBVAR}" == "YES" ]]; then @@ -103,7 +103,7 @@ fi ${ANALYSISSH:-${SCRgfs}/exglobal_atmos_analysis.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to run the GSI atmospheric analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC b/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC index 9a01513ab83..f5cf40da6d9 100755 --- a/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC +++ b/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC @@ -58,7 +58,7 @@ export LEVS LEVS=$(${NCLEN} "${ATMGES}" pfull) && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to get LEVS from ${ATMGES}" fi export DOGAUSFCANL=${DOGAUSFCANL:-"YES"} @@ -69,7 +69,7 @@ export DOGAUSFCANL=${DOGAUSFCANL:-"YES"} ${ANALCALCSH:-${SCRgfs}/exglobal_atmos_analysis_calc.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate gaussian gridded analysis for ${RUN} ${PDY}${cyc}" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC_FV3JEDI b/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC_FV3JEDI index f4f98b191e6..6e9f7d579e4 100755 --- a/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC_FV3JEDI +++ b/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC_FV3JEDI @@ -48,7 +48,7 @@ EXSCRIPT=${GDASATMRUNPY:-${SCRgfs}/exglobal_atmos_analysis_calc_fv3jedi.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the deterministic atmospheric analysis" fi # Write analysis log file diff --git a/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_DIAG b/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_DIAG index 3d2427702e2..53ac40f7cbd 100755 --- a/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_DIAG +++ b/dev/jobs/JGLOBAL_ATMOS_ANALYSIS_DIAG @@ -47,7 +47,7 @@ export pCOMIN_ATMOS_ANALYSIS ${ANALDIAGSH:-${SCRgfs}/exglobal_diag.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate GSI diagnostics from the atmospheric analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_ENSSTAT b/dev/jobs/JGLOBAL_ATMOS_ENSSTAT index 59d467d8346..0064e75c7d6 100755 --- a/dev/jobs/JGLOBAL_ATMOS_ENSSTAT +++ b/dev/jobs/JGLOBAL_ATMOS_ENSSTAT @@ -36,7 +36,7 @@ done "${SCRgfs}/exglobal_atmos_ensstat.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the atmospheric ensemble statistics" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_POST_MANAGER b/dev/jobs/JGLOBAL_ATMOS_POST_MANAGER index 0b53cbb8207..0d0e8fbc8a9 100755 --- a/dev/jobs/JGLOBAL_ATMOS_POST_MANAGER +++ b/dev/jobs/JGLOBAL_ATMOS_POST_MANAGER @@ -34,6 +34,6 @@ declare -rx COMIN_ATMOS_HISTORY="${ROTDIR}/${RUN}.${PDY}/${cyc}/model/atmos/hist "${SCRgfs}/exglobal_atmos_pmgr.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate atmospheric post files" fi ######################################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_PRODUCTS b/dev/jobs/JGLOBAL_ATMOS_PRODUCTS index 6550afe7dc9..9f8445d68c8 100755 --- a/dev/jobs/JGLOBAL_ATMOS_PRODUCTS +++ b/dev/jobs/JGLOBAL_ATMOS_PRODUCTS @@ -48,7 +48,7 @@ export PREFIX="${RUN}.t${cyc}z." "${SCRgfs}/exglobal_atmos_products.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate atmospheric GRIB2 products" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_SFCANL_GCYCLE b/dev/jobs/JGLOBAL_ATMOS_SFCANL_GCYCLE index 5e7c11d5b9e..47947d19b09 100755 --- a/dev/jobs/JGLOBAL_ATMOS_SFCANL_GCYCLE +++ b/dev/jobs/JGLOBAL_ATMOS_SFCANL_GCYCLE @@ -50,7 +50,7 @@ export USE_CFP=YES ${SFCANALSH:-${SCRgfs}/exglobal_atmos_sfcanl_gcycle.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the surface analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_SFCANL_REGRID b/dev/jobs/JGLOBAL_ATMOS_SFCANL_REGRID index faeac6cd3a7..f8b2735b042 100755 --- a/dev/jobs/JGLOBAL_ATMOS_SFCANL_REGRID +++ b/dev/jobs/JGLOBAL_ATMOS_SFCANL_REGRID @@ -47,7 +47,7 @@ export USE_CFP=YES ${SFCANALSH:-${SCRgfs}/exglobal_atmos_sfcanl_regrid.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to regrid the land increments" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC b/dev/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC index eb763f01498..81c5522172d 100755 --- a/dev/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC +++ b/dev/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC @@ -47,7 +47,7 @@ export BKGFREQ=1 # for hourly relocation ${TROPCYQCRELOSH:-${SCRgfs}/exglobal_atmos_tropcy_qc_reloc.sh} export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to run tropical cyclone QC and/or relocation" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_UPP b/dev/jobs/JGLOBAL_ATMOS_UPP index 055de9beea2..890b2594c31 100755 --- a/dev/jobs/JGLOBAL_ATMOS_UPP +++ b/dev/jobs/JGLOBAL_ATMOS_UPP @@ -37,7 +37,7 @@ mkdir -p "${COMOUT_ATMOS_MASTER}" "${SCRgfs}/exglobal_atmos_upp.py" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate atmospheric GRIB2 master files" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATMOS_VMINMON b/dev/jobs/JGLOBAL_ATMOS_VMINMON index b0484201dab..c7a186af541 100755 --- a/dev/jobs/JGLOBAL_ATMOS_VMINMON +++ b/dev/jobs/JGLOBAL_ATMOS_VMINMON @@ -44,7 +44,7 @@ mkdir -p "${M_TANKverf}" "${SCRgfs}/exglobal_atmos_vminmon.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to run the GSI minimization monitor" fi ################################ diff --git a/dev/jobs/JGLOBAL_ATM_ANALYSIS_FINALIZE b/dev/jobs/JGLOBAL_ATM_ANALYSIS_FINALIZE index 150d1dd185d..b7aa20677cb 100755 --- a/dev/jobs/JGLOBAL_ATM_ANALYSIS_FINALIZE +++ b/dev/jobs/JGLOBAL_ATM_ANALYSIS_FINALIZE @@ -41,7 +41,7 @@ EXSCRIPT=${GDASATMFINALPY:-${SCRgfs}/exglobal_atm_analysis_finalize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to finalize the deterministic atmospheric analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATM_ANALYSIS_FV3_INCREMENT b/dev/jobs/JGLOBAL_ATM_ANALYSIS_FV3_INCREMENT index c20e9eed7c8..1abda254f57 100755 --- a/dev/jobs/JGLOBAL_ATM_ANALYSIS_FV3_INCREMENT +++ b/dev/jobs/JGLOBAL_ATM_ANALYSIS_FV3_INCREMENT @@ -34,7 +34,7 @@ EXSCRIPT=${GDASATMRUNSH:-${SCRgfs}/exglobal_atm_analysis_fv3_increment.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the deterministic atmospheric FV3 increment" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATM_ANALYSIS_INITIALIZE b/dev/jobs/JGLOBAL_ATM_ANALYSIS_INITIALIZE index de2b58def65..51d67263b21 100755 --- a/dev/jobs/JGLOBAL_ATM_ANALYSIS_INITIALIZE +++ b/dev/jobs/JGLOBAL_ATM_ANALYSIS_INITIALIZE @@ -45,7 +45,7 @@ EXSCRIPT=${GDASATMINITPY:-${SCRgfs}/exglobal_atm_analysis_initialize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to initialize the deterministic atmospheric analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ATM_ANALYSIS_VARIATIONAL b/dev/jobs/JGLOBAL_ATM_ANALYSIS_VARIATIONAL index e8e0ae9a5de..4c53203700f 100755 --- a/dev/jobs/JGLOBAL_ATM_ANALYSIS_VARIATIONAL +++ b/dev/jobs/JGLOBAL_ATM_ANALYSIS_VARIATIONAL @@ -34,7 +34,7 @@ EXSCRIPT=${GDASATMRUNSH:-${SCRgfs}/exglobal_atm_analysis_variational.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the deterministic atmospheric analysis increment" fi ############################################## diff --git a/dev/jobs/JGLOBAL_CLEANUP b/dev/jobs/JGLOBAL_CLEANUP index 472ba01ed28..4831573fd55 100755 --- a/dev/jobs/JGLOBAL_CLEANUP +++ b/dev/jobs/JGLOBAL_CLEANUP @@ -17,7 +17,7 @@ source "${USHgfs}/set_strict.sh" "${SCRgfs}/exglobal_cleanup.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to complete cleanup" fi ################################################# diff --git a/dev/jobs/JGLOBAL_ENKF_ARCHIVE_VRFY b/dev/jobs/JGLOBAL_ENKF_ARCHIVE_VRFY index 62385602348..ab6fa750f90 100755 --- a/dev/jobs/JGLOBAL_ENKF_ARCHIVE_VRFY +++ b/dev/jobs/JGLOBAL_ENKF_ARCHIVE_VRFY @@ -29,10 +29,10 @@ declare -rx COMIN_SNOW_ANALYSIS_ENSSTAT="${ROTDIR}/${RUN}.${PDY}/${cyc}/ensstat/ # Run archive script ############################################################### -"${SCRgfs}/exglobal_enkf_earc_vrfy.py" -err=$? +"${SCRgfs}/exglobal_enkf_earc_vrfy.py" && true +export err=$? if [[ ${err} -ne 0 ]]; then - exit "${err}" + err_exit "Failed to archive ensemble statistics for verification" fi ############################################################### diff --git a/dev/jobs/JGLOBAL_ENKF_DIAG b/dev/jobs/JGLOBAL_ENKF_DIAG index de2ce752000..60960ffdcc6 100755 --- a/dev/jobs/JGLOBAL_ENKF_DIAG +++ b/dev/jobs/JGLOBAL_ENKF_DIAG @@ -52,7 +52,7 @@ export DIAG_COMPRESS="NO" ${ANALDIAGSH:-${SCRgfs}/exglobal_diag.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate GSI diagnostics from the atmospheric ensemble analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ENKF_ECEN b/dev/jobs/JGLOBAL_ENKF_ECEN index 5cebaa0bad7..4b5dd7c098e 100755 --- a/dev/jobs/JGLOBAL_ENKF_ECEN +++ b/dev/jobs/JGLOBAL_ENKF_ECEN @@ -48,7 +48,7 @@ declare -rx COMIN_ATMOS_HISTORY_STAT_PREV="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/en ${ENKFRECENSH:-${SCRgfs}/exglobal_enkf_ecen.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to recenter the ensemble mean" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ENKF_ECEN_FV3JEDI b/dev/jobs/JGLOBAL_ENKF_ECEN_FV3JEDI index 5f18052ed49..56fa45ae544 100755 --- a/dev/jobs/JGLOBAL_ENKF_ECEN_FV3JEDI +++ b/dev/jobs/JGLOBAL_ENKF_ECEN_FV3JEDI @@ -49,7 +49,7 @@ EXSCRIPT=${GDASATMRUNPY:-${SCRgfs}/exglobal_enkf_ecen_fv3jedi.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the recentered ensemble atmospheric increments" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ENKF_SELECT_OBS b/dev/jobs/JGLOBAL_ENKF_SELECT_OBS index 62ccc55374e..86393b35d9a 100755 --- a/dev/jobs/JGLOBAL_ENKF_SELECT_OBS +++ b/dev/jobs/JGLOBAL_ENKF_SELECT_OBS @@ -132,7 +132,7 @@ done ${INVOBSSH:-${SCRgfs}/exglobal_enkf_select_obs.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to assimilate observations for the GSI ensemble mean analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ENKF_SFC_GCYCLE b/dev/jobs/JGLOBAL_ENKF_SFC_GCYCLE index 4853f27c7b5..b258dba8273 100755 --- a/dev/jobs/JGLOBAL_ENKF_SFC_GCYCLE +++ b/dev/jobs/JGLOBAL_ENKF_SFC_GCYCLE @@ -55,7 +55,7 @@ export USE_CFP=YES ${ENKFSFCGCYCLESH:-${SCRgfs}/exglobal_enkf_sfc_gcycle.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the ensemble surface analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ENKF_SFC_REGRID b/dev/jobs/JGLOBAL_ENKF_SFC_REGRID index 0c40cfdb865..b0177324baa 100755 --- a/dev/jobs/JGLOBAL_ENKF_SFC_REGRID +++ b/dev/jobs/JGLOBAL_ENKF_SFC_REGRID @@ -43,7 +43,7 @@ export USE_CFP=YES ${ENKFSFCREGRIDSH:-${SCRgfs}/exglobal_enkf_sfc_regrid.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the ensemble surface analysis regridding" fi ############################################## diff --git a/dev/jobs/JGLOBAL_ENKF_UPDATE b/dev/jobs/JGLOBAL_ENKF_UPDATE index 5448f86f7d2..3afe71d8b02 100755 --- a/dev/jobs/JGLOBAL_ENKF_UPDATE +++ b/dev/jobs/JGLOBAL_ENKF_UPDATE @@ -40,7 +40,7 @@ declare -rx COMIN_ATMOS_HISTORY_STAT_PREV="${ROTDIR}/enkfgdas.${GDATE:0:8}/${GDA ${ENKFUPDSH:-${SCRgfs}/exglobal_enkf_update.sh} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to update the ensemble" fi ############################################## diff --git a/dev/jobs/JGLOBAL_FORECAST b/dev/jobs/JGLOBAL_FORECAST index 02b3cf93c64..e25e8da3899 100755 --- a/dev/jobs/JGLOBAL_FORECAST +++ b/dev/jobs/JGLOBAL_FORECAST @@ -121,7 +121,7 @@ fi "${FORECASTSH:-${SCRgfs}/exglobal_forecast.sh}" && true # The && true prevents the shell from exiting when set -e export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to run the ${RUN} forecast for ${PDY}${cyc}" fi # Send DBN alerts for EnKF diff --git a/dev/jobs/JGLOBAL_GLOBUS_ARCH b/dev/jobs/JGLOBAL_GLOBUS_ARCH index 5b082c44706..3a9b95427a9 100755 --- a/dev/jobs/JGLOBAL_GLOBUS_ARCH +++ b/dev/jobs/JGLOBAL_GLOBUS_ARCH @@ -28,9 +28,11 @@ declare -rx COMIN_CONF="${ROTDIR}/${RUN}.${PDY}/${cyc}/conf" ############################################################### export -n SHELLOPTS -${GLOBALGLOBUSARCHSH:-${SCRgfs}/exglobal_globus_arch.py} -err=$? -[[ ${err} -ne 0 ]] && exit "${err}" +${GLOBALGLOBUSARCHSH:-${SCRgfs}/exglobal_globus_arch.py} && true +export err=$? +if [[ ${err} -ne 0 ]]; then + err_exit "Failed to archive data to Globus." +fi ############################################## # End JOB SPECIFIC work diff --git a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_CHECKPOINT b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_CHECKPOINT index ebce191aed5..fea9d8d29ef 100755 --- a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_CHECKPOINT +++ b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_CHECKPOINT @@ -35,7 +35,7 @@ EXSCRIPT=${GDASMARINEANALYSIS:-${SCRgfs}/exglobal_marine_analysis_checkpoint.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to update the ocean increment and/or ice restarts" fi ############################################## diff --git a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_ECEN b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_ECEN index 35b413e7ab4..2d7558c0d51 100755 --- a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_ECEN +++ b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_ECEN @@ -58,7 +58,7 @@ EXSCRIPT=${GDASOCNCENPY:-${HOMEgfs}/scripts/exglobal_marine_analysis_ecen.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to recenter the ensemble marine analysis increments" fi ############################################## @@ -78,7 +78,7 @@ fi cd "${DATAROOT/enkf/}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to change directory to ${DATAROOT/enkf/} to remove temporary working directory" fi exit 0 diff --git a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_FINALIZE b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_FINALIZE index f8375211cad..7c28e8ce118 100755 --- a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_FINALIZE +++ b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_FINALIZE @@ -48,7 +48,7 @@ EXSCRIPT=${GDASMARINEANALYSIS:-${SCRgfs}/exglobal_marine_analysis_finalize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to finalize the marine analysis" fi ########################################## @@ -57,7 +57,7 @@ fi cd "${DATAROOT}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to change directory to ${DATAROOT} to remove temporary data" fi if [[ "${KEEPDATA}" == "NO" ]]; then diff --git a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_INITIALIZE b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_INITIALIZE index a010b0f66af..50b3676cc15 100755 --- a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_INITIALIZE +++ b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_INITIALIZE @@ -51,7 +51,7 @@ EXSCRIPT=${GDASMARINEANALYSIS:-${SCRgfs}/exglobal_marine_analysis_initialize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to initialize the deterministic marine analysis" fi ############################################## diff --git a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_LETKF b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_LETKF index 46a8a2754f7..cc96a36913a 100755 --- a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_LETKF +++ b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_LETKF @@ -69,7 +69,7 @@ EXSCRIPT=${GDASOCNLETKFPY:-${HOMEgfs}/scripts/exglobal_marine_analysis_letkf.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the ensemble marine analysis increments" fi ############################################## @@ -90,7 +90,7 @@ fi cd "${DATAROOT/enkf/}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to change directory to ${DATAROOT/enkf/} to remove temporary working directory" fi exit 0 diff --git a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_VARIATIONAL b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_VARIATIONAL index 0e2ed848fd9..a2de9c22d75 100755 --- a/dev/jobs/JGLOBAL_MARINE_ANALYSIS_VARIATIONAL +++ b/dev/jobs/JGLOBAL_MARINE_ANALYSIS_VARIATIONAL @@ -35,7 +35,7 @@ EXSCRIPT=${GDASMARINERUNSH:-${SCRgfs}/exglobal_marine_analysis_variational.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the deterministic marine analysis increment" fi ############################################## diff --git a/dev/jobs/JGLOBAL_MARINE_BMAT b/dev/jobs/JGLOBAL_MARINE_BMAT index 2feefdd0054..8899c6b1718 100755 --- a/dev/jobs/JGLOBAL_MARINE_BMAT +++ b/dev/jobs/JGLOBAL_MARINE_BMAT @@ -73,7 +73,7 @@ EXSCRIPT=${GDASMARINEBMATRUNPY:-${SCRgfs}/exglobal_marinebmat.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the marine background error covariance matrix" fi ############################################## diff --git a/dev/jobs/JGLOBAL_MARINE_BMAT_INITIALIZE b/dev/jobs/JGLOBAL_MARINE_BMAT_INITIALIZE index ba979aa7dcf..e3611fe8050 100755 --- a/dev/jobs/JGLOBAL_MARINE_BMAT_INITIALIZE +++ b/dev/jobs/JGLOBAL_MARINE_BMAT_INITIALIZE @@ -72,7 +72,7 @@ EXSCRIPT=${GDASMARINEBMATRUNPY:-${SCRgfs}/exglobal_marinebmat_initialize.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to initialize the marine background error covariance matrix" fi ############################################## # End JOB SPECIFIC work diff --git a/dev/jobs/JGLOBAL_OCEANICE_PRODUCTS b/dev/jobs/JGLOBAL_OCEANICE_PRODUCTS index 963ed8fa204..daf814d8c2a 100755 --- a/dev/jobs/JGLOBAL_OCEANICE_PRODUCTS +++ b/dev/jobs/JGLOBAL_OCEANICE_PRODUCTS @@ -50,7 +50,7 @@ fi "${SCRgfs}/exglobal_oceanice_products.py" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate ${COMPONENT} products." fi ############################################## diff --git a/dev/jobs/JGLOBAL_PREP_OCEAN_OBS b/dev/jobs/JGLOBAL_PREP_OCEAN_OBS index 1ff296989e8..c9d46dd210b 100755 --- a/dev/jobs/JGLOBAL_PREP_OCEAN_OBS +++ b/dev/jobs/JGLOBAL_PREP_OCEAN_OBS @@ -33,7 +33,7 @@ EXSCRIPT=${GDASPREPOCNOBSPY:-${SCRgfs}/exglobal_prep_ocean_obs.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to prepare ocean observations for assimilation" fi ############################################## diff --git a/dev/jobs/JGLOBAL_SNOWENS_ANALYSIS b/dev/jobs/JGLOBAL_SNOWENS_ANALYSIS index 9ed765ace34..8abbaba4bf7 100755 --- a/dev/jobs/JGLOBAL_SNOWENS_ANALYSIS +++ b/dev/jobs/JGLOBAL_SNOWENS_ANALYSIS @@ -63,7 +63,7 @@ EXSCRIPT=${SNOWANLPY:-${SCRgfs}/exglobal_snowens_analysis.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the ensemble snow analysis" fi ############################################## @@ -83,7 +83,7 @@ fi cd "${DATAROOT}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to change directory to ${DATAROOT} to remove temporary working directory" fi if [[ "${KEEPDATA}" == "NO" ]]; then rm -rf "${DATA}" diff --git a/dev/jobs/JGLOBAL_SNOW_ANALYSIS b/dev/jobs/JGLOBAL_SNOW_ANALYSIS index 57af8a8d9a1..ef9d97a3186 100755 --- a/dev/jobs/JGLOBAL_SNOW_ANALYSIS +++ b/dev/jobs/JGLOBAL_SNOW_ANALYSIS @@ -47,7 +47,7 @@ EXSCRIPT=${SNOWANLPY:-${SCRgfs}/exglobal_snow_analysis.py} ${EXSCRIPT} && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to calculate the snow analysis" fi ############################################## @@ -67,7 +67,7 @@ fi cd "${DATAROOT}" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to change directory to ${DATAROOT} to remove temporary working directory" fi if [[ "${KEEPDATA}" == "NO" ]]; then rm -rf "${DATA}" diff --git a/dev/jobs/JGLOBAL_STAGE_IC b/dev/jobs/JGLOBAL_STAGE_IC index 2a2c10c02d1..7b271ba39d4 100755 --- a/dev/jobs/JGLOBAL_STAGE_IC +++ b/dev/jobs/JGLOBAL_STAGE_IC @@ -21,6 +21,10 @@ export PYTHONPATH # Execute staging "${SCRgfs}/exglobal_stage_ic.py" && true export err=$? +if [[ ${err} -ne 0 ]]; then + err_exit "Failed to stage ICs." +fi +################################### ############################################################### # Check for errors and exit if any of the above failed diff --git a/dev/jobs/JGLOBAL_WAVE_GEMPAK b/dev/jobs/JGLOBAL_WAVE_GEMPAK index 1423580e74b..ffd027bf22a 100755 --- a/dev/jobs/JGLOBAL_WAVE_GEMPAK +++ b/dev/jobs/JGLOBAL_WAVE_GEMPAK @@ -38,7 +38,7 @@ if [[ ! -d ${COMOUT_WAVE_GEMPAK} ]]; then mkdir -p "${COMOUT_WAVE_GEMPAK}"; fi "${SCRgfs}/exgfs_wave_nawips.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate wave gempak/AWIPS products." fi ################################### diff --git a/dev/jobs/JGLOBAL_WAVE_INIT b/dev/jobs/JGLOBAL_WAVE_INIT index 2748cb4ae06..b35f6b82600 100755 --- a/dev/jobs/JGLOBAL_WAVE_INIT +++ b/dev/jobs/JGLOBAL_WAVE_INIT @@ -37,7 +37,7 @@ export wave_mpmd=${wave_mpmd:-"cfp"} "${SCRgfs}/exglobal_wave_init.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate wave grids for model initialization." fi ########################################## diff --git a/dev/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL b/dev/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL index a06b6357dc9..7d532b05b61 100755 --- a/dev/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL +++ b/dev/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL @@ -36,7 +36,7 @@ export DOBNDPNT_WAV='YES' # Boundary points "${SCRgfs}/exglobal_wave_post_pnt.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate wave boundary point bulletins." fi ########################################## diff --git a/dev/jobs/JGLOBAL_WAVE_PRDGEN_BULLS b/dev/jobs/JGLOBAL_WAVE_PRDGEN_BULLS index 76100906fe6..34f8d02b69b 100755 --- a/dev/jobs/JGLOBAL_WAVE_PRDGEN_BULLS +++ b/dev/jobs/JGLOBAL_WAVE_PRDGEN_BULLS @@ -29,7 +29,7 @@ mkdir -p "${COMOUT_WAVE_WMO}" "${SCRgfs}/exgfs_wave_prdgen_bulls.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate wave WMO bulletins." fi ################################### diff --git a/dev/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED b/dev/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED index 6343bace200..ae94f9ccb12 100755 --- a/dev/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED +++ b/dev/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED @@ -39,7 +39,7 @@ fi "${SCRgfs}/exgfs_wave_prdgen_gridded.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate wave gridded WMO bulletins." fi ################################### diff --git a/dev/parm/config/gfs/config.resources b/dev/parm/config/gfs/config.resources index e7c39b9ef97..f7ed69b6427 100644 --- a/dev/parm/config/gfs/config.resources +++ b/dev/parm/config/gfs/config.resources @@ -1387,7 +1387,7 @@ case ${step} in "gempak") # Walltime is per forecast hour; will be multipled by group size - walltime="00:05:00" + walltime="00:10:00" threads_per_task=1 if [[ "${RUN}" = *gdas ]]; then ntasks=2 diff --git a/dev/scripts/exgdas_atmos_chgres_forenkf.sh b/dev/scripts/exgdas_atmos_chgres_forenkf.sh index f51be67b285..62a982f81da 100755 --- a/dev/scripts/exgdas_atmos_chgres_forenkf.sh +++ b/dev/scripts/exgdas_atmos_chgres_forenkf.sh @@ -142,7 +142,7 @@ EOF "${USHgfs}/run_mpmd.sh" "${DATA}/mp_chgres.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to run chgres on one or more forecast hours" fi else echo "DO_CALC_ANALYSIS != YES, doing nothing" diff --git a/dev/scripts/exgdas_atmos_gempak_gif_ncdc.sh b/dev/scripts/exgdas_atmos_gempak_gif_ncdc.sh index aaa4072cc7f..b1a4da791bc 100755 --- a/dev/scripts/exgdas_atmos_gempak_gif_ncdc.sh +++ b/dev/scripts/exgdas_atmos_gempak_gif_ncdc.sh @@ -37,7 +37,7 @@ if [[ ${MODEL} == GDAS ]]; then "${HOMEgfs}/gempak/ush/gempak_${RUN}_f${fhr3}_gif.sh" && true export err=$? if [[ ${err} -ne 0 ]]; then - err_exit + err_exit "Failed to generate GIF for forecast hour ${fhr3}" fi done fi diff --git a/dev/scripts/exgfs_atmos_postsnd.sh b/dev/scripts/exgfs_atmos_postsnd.sh index 725acf5548b..c7aa606c7c6 100755 --- a/dev/scripts/exgfs_atmos_postsnd.sh +++ b/dev/scripts/exgfs_atmos_postsnd.sh @@ -147,7 +147,11 @@ if [[ $((10#${fhr})) -eq 0 ]]; then else export F00FLAG="NO" fi -${runscript} "${fhr}" "${fhr_p}" "${FINT}" "${F00FLAG}" "${DATA}" +${runscript} "${fhr}" "${fhr_p}" "${FINT}" "${F00FLAG}" "${DATA}" && true +export err=$? +if [[ ${err} -ne 0 ]]; then + err_exit "Failed to generate BUFR sounding files for forecast hour ${fhr}!" +fi ############################################ # Tar and gzip the bufr files created so far diff --git a/ush/gfs_bufr.sh b/ush/gfs_bufr.sh index e1b880b9ea3..9fb4651f1fa 100755 --- a/ush/gfs_bufr.sh +++ b/ush/gfs_bufr.sh @@ -109,7 +109,7 @@ if [[ ${err} -ne 0 ]]; then echo "FATAL ERROR: GFS postsnd job error, Please check files " echo "${COMIN_ATMOS_HISTORY}/${RUN}.${cycle}.atm.f${fhr}.${atmfm}" echo "${COMIN_ATMOS_HISTORY}/${RUN}.${cycle}.sfc.f${fhr}.${atmfm}" - err_exit + exit 1 fi exit 0 diff --git a/ush/tropcy_relocate.sh b/ush/tropcy_relocate.sh index d7b21daba56..c02391a8e4b 100755 --- a/ush/tropcy_relocate.sh +++ b/ush/tropcy_relocate.sh @@ -187,7 +187,8 @@ if [[ "${err0}" -ne 0 ]]; then # problem with obtaining date record so exit export err="${err0}" msg="FATAL ERROR: problem with obtaining date record" - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi modhr=$((cyc % 3)) @@ -233,8 +234,8 @@ if [[ "${modhr}" -ne 0 ]]; then # if center date/time for relocation processing isn't a multiple of 3-hrs, exit # ----------------------------------------------------------------------------- export err=9 - msg="FATAL ERROR: cannot perform tropical cyclone processing because cycle hour is not a multiple of 3-hrs" - err_exit "${msg}" + echo "FATAL ERROR: cannot perform tropical cyclone processing because cycle hour is not a multiple of 3-hrs" + exit 9 fi for fhr in 6 12; do @@ -312,9 +313,8 @@ EOF errges=$? if [[ "${errges}" -ne 0 ]]; then # problem obtaining global sigma first guess so exit - export err="${errges}" - msg="FATAL ERROR: problem obtaining global sigma guess valid ${fhr} hrs relative to center relocation date/time" - err_exit "${msg}" + echo "FATAL ERROR: problem obtaining global sigma guess valid ${fhr} hrs relative to center relocation date/time" + exit "${errges}" fi # For center time sigma guess file obtained via getges, store pathname from @@ -429,7 +429,7 @@ else # ------------------------------------------------ export err echo "FATAL ERROR: ${USHgfs}/tropcy_relocate_extrkr.sh failed" - err_exit "${msg}" + err_exit "${err}" fi # relocate model tropical cyclone vortices in ges sigma files @@ -501,7 +501,8 @@ else echo if [[ "${errSTATUS}" -gt '0' ]]; then export err="${errSTATUS}" - err_exit + echo "FATAL ERROR: tropical cyclone relocation processing failed with error code ${errSTATUS}" + exit "${err}" fi # further check for success diff --git a/ush/tropcy_relocate_extrkr.sh b/ush/tropcy_relocate_extrkr.sh index c8fa5927e74..070b93453fa 100755 --- a/ush/tropcy_relocate_extrkr.sh +++ b/ush/tropcy_relocate_extrkr.sh @@ -315,7 +315,8 @@ Model= ---> ${cmodel} <--- ..... Please submit the script again.... EOF ) err=8 - err_exit "${msg}" + echo "${msg}" + exit "${err}" ;; esac @@ -374,7 +375,8 @@ replace the forecast hour characters 00 with XX. Please check the name in the kickoff script and qsub it again. EOF err=8 - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi fflag='y' @@ -425,7 +427,8 @@ EOF EOF ) err=8 - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi cat << EOF @@ -510,7 +513,8 @@ if [[ ${numvitrecs} -eq 0 ]]; then EOF ) err=8 - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi # - - - - - - - - - - - - - @@ -600,7 +604,8 @@ else EOF ) err=9 - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi #------------------------------------------------------------------# @@ -621,7 +626,7 @@ if [[ "${numvitrecs}" -eq 0 ]]; then EOF err=8 - err_exit + exit "${err}" fi cat << EOF | tee stormlist @@ -770,7 +775,8 @@ EOF EOF ) err=8 - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi cat "${TMPDIR}/ngmllu850.grb.f${fhour}" "${TMPDIR}/ngmllu700.grb.f${fhour}" \ @@ -866,7 +872,7 @@ EOF EOF err=8 - err_exit + exit "${err}" fi cat "${TMPDIR}/namllu850.grb.f${fhour}" "${TMPDIR}/namllu700.grb.f${fhour}" \ @@ -915,7 +921,8 @@ if [[ "${model}" -eq 4 ]]; then EOF ) err=8 - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi ${GRBINDEX:?} "${ecmwfdir}/${ecmwfgfile}" "${TMPDIR}/${ecmwfgfile}.ix" @@ -1182,7 +1189,8 @@ if [[ "${model}" -eq 7 ]]; then EOF ) err=8 - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi gfile="${ngpsdir}/${ngpsgfile}" @@ -1323,7 +1331,8 @@ EOF EOF ) err=8 - err_exit "${msg}" + echo "${msg}" + exit "${err}" fi cat "${TMPDIR}/otherllu850.grb.f${fhour}" "${TMPDIR}/otherllu700.grb.f${fhour}" \ @@ -1457,7 +1466,7 @@ EOF if [[ "${err}" -gt 0 ]]; then err=9 - err_exit + exit "${err}" fi rm -f fort.* diff --git a/ush/wave_tar.sh b/ush/wave_tar.sh index e23162dd47e..60d9bc52162 100755 --- a/ush/wave_tar.sh +++ b/ush/wave_tar.sh @@ -35,8 +35,8 @@ export err if [[ "$#" -lt '3' ]]; then msg='FATAL ERROR: VARIABLES IN ww3_tar.sh NOT SET' - err=1 - err_exit "${msg}" + echo "${msg}" + exit 1 else ID=$1 type=$2 @@ -72,9 +72,8 @@ mkdir "TAR_${filext}_${ID}" # The tested variables should be exported by the postprocessor script. if [[ -z "${COMOUT_WAVE_STATION+x}" || -z "${SENDDBN+x}" || -z "${STA_DIR+x}" ]]; then - msg='FATAL ERROR: EXPORTED VARIABLES IN ww3_tar.sh NOT SET' - err=2 - err_exit "${msg}" + echo 'FATAL ERROR: EXPORTED VARIABLES IN ww3_tar.sh NOT SET' + exit 2 fi # --------------------------------------------------------------------------- # @@ -95,16 +94,14 @@ while [[ "${tardone}" == "no" ]]; do err=$? if [[ ${err} -ne 0 ]]; then - msg='FATAL ERROR: TAR CREATION FAILED *** ' - err=3 - err_exit "${msg}" + echo 'FATAL ERROR: TAR CREATION FAILED *** ' + exit 3 fi filename="${ID}.${type}.tar" if ! wait_for_file "${filename}" "${sleep_interval}" "${countMAX}"; then - msg="FATAL ERROR: File ${filename} not found after waiting $((sleep_interval * (countMAX + 1))) secs" - err=3 - err_exit "${msg}" + echo "FATAL ERROR: File ${filename} not found after waiting $((sleep_interval * (countMAX + 1))) secs" + exit 3 fi if [[ -f "${ID}.${type}.tar" ]]; then @@ -115,21 +112,24 @@ while [[ "${tardone}" == "no" ]]; do done if [[ "${tardone}" == 'no' ]]; then - msg='FATAL ERROR: TAR CREATION FAILED *** ' - err=3 - err_exit "${msg}" + echo 'FATAL ERROR: TAR CREATION FAILED *** ' + exit 4 fi if [[ "${type}" == 'spec' ]]; then if [[ -s "${ID}.${type}.tar" ]]; then file_name="${ID}.${type}.tar.gz" - /usr/bin/gzip -c "${ID}.${type}.tar" > "${file_name}" + # Check if gzip is available + if ! command -v gzip &> /dev/null; then + echo "FATAL ERROR: gzip command not found!" + exit 5 + fi + gzip -c "${ID}.${type}.tar" > "${file_name}" err=$? if [[ ${err} -ne 0 ]]; then - msg='FATAL ERROR: SPECTRAL TAR COMPRESSION FAILED *** ' - err=4 - err_exit + echo 'FATAL ERROR: SPECTRAL TAR COMPRESSION FAILED *** ' + exit 6 fi fi else @@ -146,9 +146,8 @@ cpfs "${file_name}" "${COMOUT_WAVE_STATION}/." err=$? if [[ ${err} -ne 0 ]]; then - msg='FATAL ERROR: TAR COPY FAILED *** ' - export err=4 - err_exit "${msg}" + echo 'FATAL ERROR: TAR COPY FAILED *** ' + export err=6 fi if [[ "${SENDDBN}" == "YES" ]]; then