Skip to content

Commit

Permalink
Remove implicit symlink names
Browse files Browse the repository at this point in the history
Lustre has a defect under Rocky 9 that results in symlink sometimes
failing when the link name is not explicit. This updates all link
creation to use explicit names.

`config.base` is updated to turn off two monitor jobs on Hercules
because the executables are not yet built there. This, combined with
the previous change, should make workflow available for use on
Hercules.

Also removes the redundant utility names for NCP, NLN, etc. in the
gdas scripts that are already defined in `config.base`.

Resolves NOAA-EMC#2131
Resolves NOAA-EMC#2522
  • Loading branch information
WalterKolczynski-NOAA committed Apr 24, 2024
1 parent f11bf3d commit d0051a7
Show file tree
Hide file tree
Showing 16 changed files with 27 additions and 56 deletions.
6 changes: 6 additions & 0 deletions parm/config/gfs/config.base
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@ export DO_VERFRAD="YES" # Radiance data assimilation monitoring
export DO_VMINMON="YES" # GSI minimization monitoring
export DO_MOS="NO" # GFS Model Output Statistics - Only supported on WCOSS2

if [[ ${machine} == "HERCULES" ]]; then
# TODO - Monitor jobs are not yet able to build on Hercules
export DO_VERFOZN="NO"
export DO_VERFRAD="NO"
fi

# NO for retrospective parallel; YES for real-time parallel
# arch.sh uses REALTIME for MOS. Need to set REALTIME=YES
# if want MOS written to HPSS. Should update arch.sh to
Expand Down
3 changes: 0 additions & 3 deletions scripts/exgdas_atmos_chgres_forenkf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@ bPDY=$(echo $BDATE | cut -c1-8)
bcyc=$(echo $BDATE | cut -c9-10)

# Utilities
export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}

Expand Down
2 changes: 0 additions & 2 deletions scripts/exgdas_enkf_ecen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ export CASE=${CASE:-384}
ntiles=${ntiles:-6}

# Utilities
NCP=${NCP:-"/bin/cp -p"}
NLN=${NLN:-"/bin/ln -sf"}
NCLEN=${NCLEN:-${USHgfs}/getncdimlen}

# Scripts
Expand Down
4 changes: 0 additions & 4 deletions scripts/exgdas_enkf_post.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@ source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)

# Utilities
NCP=${NCP:-"/bin/cp"}
NLN=${NLN:-"/bin/ln -sf"}

APRUN_EPOS=${APRUN_EPOS:-${APRUN:-""}}
NTHREADS_EPOS=${NTHREADS_EPOS:-1}

Expand Down
3 changes: 0 additions & 3 deletions scripts/exgdas_enkf_select_obs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ source "${USHgfs}/preamble.sh"
# Directories.
pwd=$(pwd)

# Utilities
export NLN=${NLN:-"/bin/ln -sf"}

# Scripts.
ANALYSISSH=${ANALYSISSH:-${SCRgfs}/exglobal_atmos_analysis.sh}

Expand Down
2 changes: 0 additions & 2 deletions scripts/exgdas_enkf_sfc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@ export CASE=${CASE:-384}
ntiles=${ntiles:-6}

# Utilities
NCP=${NCP:-"/bin/cp -p"}
NLN=${NLN:-"/bin/ln -sf"}
NCLEN=${NCLEN:-${USHgfs}/getncdimlen}

# Scripts
Expand Down
2 changes: 0 additions & 2 deletions scripts/exgdas_enkf_update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ source "${USHgfs}/preamble.sh"
pwd=$(pwd)

# Utilities
NCP=${NCP:-"/bin/cp -p"}
NLN=${NLN:-"/bin/ln -sf"}
NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
USE_CFP=${USE_CFP:-"NO"}
CFP_MP=${CFP_MP:-"NO"}
Expand Down
2 changes: 1 addition & 1 deletion scripts/exgfs_wave_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ if (( NMEM_ENS > 0 )); then
MEMDIR="mem${mem}" YMD=${PDY} HH=${cyc} declare_from_tmpl COM_WAVE_PREP_MEM:COM_WAVE_PREP_TMPL
mkdir -p "${COM_WAVE_PREP_MEM}"
for grdID in ${grdALL}; do
${NLN} "${COM_WAVE_PREP}/${RUN}wave.mod_def.${grdID}" "${COM_WAVE_PREP_MEM}/"
${NLN} "${COM_WAVE_PREP}/${RUN}wave.mod_def.${grdID}" "${COM_WAVE_PREP_MEM}/${RUN}wave.mod_def.${grdID}"
done
done
fi
Expand Down
12 changes: 7 additions & 5 deletions scripts/exglobal_atmos_analysis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@ bPDY=$(echo ${BDATE} | cut -c1-8)
bcyc=$(echo ${BDATE} | cut -c9-10)

# Utilities
export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
COMPRESS=${COMPRESS:-gzip}
Expand Down Expand Up @@ -387,8 +384,13 @@ ${NLN} ${FIXgfs}/gsi/IASI_CLDDET.NL IASI_CLDDET.NL
#If using correlated error, link to the covariance files
if [ ${USE_CORRELATED_OBERRS} == "YES" ]; then
if grep -q "Rcov" ${ANAVINFO} ; then
if ls ${FIXgfs}/gsi/Rcov* 1> /dev/null 2>&1; then
${NLN} ${FIXgfs}/gsi/Rcov* ${DATA}
# shellcheck disable=SC2312
mapfile -t covfile_array < <(find "${FIXgfs}/gsi/" -name "Rcov*")
if (( ${#covfile_array[@]} > 0 )); then
for covfile in "${covfile_array[@]}"; do
covfile_base=$(basename "${covfile}")
${NLN} "${covfile}" "${DATA}/${covfile_base}"
done
echo "using correlated obs error"
else
echo "FATAL ERROR: Satellite error covariance files (Rcov) are missing."
Expand Down
3 changes: 0 additions & 3 deletions scripts/exglobal_atmos_analysis_calc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@ CDUMP=${CDUMP:-"gdas"}
GDUMP=${GDUMP:-"gdas"}

# Utilities
export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
COMPRESS=${COMPRESS:-gzip}
Expand Down
3 changes: 0 additions & 3 deletions scripts/exglobal_atmos_sfcanl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@ bPDY=${BDATE:0:8}
bcyc=${BDATE:8:2}

# Utilities
export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
COMPRESS=${COMPRESS:-gzip}
Expand Down
3 changes: 0 additions & 3 deletions scripts/exglobal_diag.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ CDUMP=${CDUMP:-"gdas"}
GDUMP=${GDUMP:-"gdas"}

# Utilities
export NCP=${NCP:-"/bin/cp"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
export NCLEN=${NCLEN:-${USHgfs}/getncdimlen}
export CATEXEC=${CATEXEC:-${ncdiag_ROOT:-${gsi_ncdiag_ROOT}}/bin/ncdiag_cat_serial.x}
Expand Down
12 changes: 1 addition & 11 deletions ush/gaussian_sfcanl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ SIGLEVEL=${SIGLEVEL:-${FIXgfs}/am/global_hyblev.l${LEVSP1}.txt}
CDATE=${CDATE:?}

# Other variables.
export NLN=${NLN:-"/bin/ln -sf"}
export PGMOUT=${PGMOUT:-${pgmout:-'&1'}}
export PGMERR=${PGMERR:-${pgmerr:-'&2'}}
export REDOUT=${REDOUT:-'1>'}
Expand All @@ -133,17 +132,9 @@ export REDERR=${REDERR:-'2>'}
# Preprocessing
${INISCRIPT:-}
pwd=$(pwd)
if [[ -d $DATA ]]
then
mkdata=NO
else
mkdir -p $DATA
mkdata=YES
fi
cd $DATA||exit 99
cd "${DATA}" || exit 99
[[ -d "${COM_ATMOS_ANALYSIS}" ]] || mkdir -p "${COM_ATMOS_ANALYSIS}"
[[ -d "${COM_ATMOS_RESTART}" ]] || mkdir -p "${COM_ATMOS_RESTART}"
cd $DATA

################################################################################
# Make surface analysis
Expand Down Expand Up @@ -207,6 +198,5 @@ $ERRSCRIPT||exit 2
################################################################################
# Postprocessing
cd $pwd
[[ $mkdata = YES ]]&&rmdir $DATA

exit ${err}
10 changes: 5 additions & 5 deletions ush/link_crtm_fix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@ for what in "amsre_aqua" "imgr_g11" "imgr_g12" "imgr_g13" \
"ssmi_f13" "ssmi_f14" "ssmi_f15" "ssmis_f16" \
"ssmis_f17" "ssmis_f18" "ssmis_f19" "ssmis_f20" \
"tmi_trmm" "v.seviri_m10" "imgr_insat3d" "abi_gr" "ahi_himawari8" ; do
ln -s "${CRTM_FIX}/${what}.TauCoeff.bin" .
ln -s "${CRTM_FIX}/${what}.SpcCoeff.bin" .
ln -s "${CRTM_FIX}/${what}.TauCoeff.bin" "${what}.TauCoeff.bin"
ln -s "${CRTM_FIX}/${what}.SpcCoeff.bin" "${what}.SpcCoeff.bin"
done

for what in 'Aerosol' 'Cloud' ; do
ln -s "${CRTM_FIX}/${what}Coeff.bin" .
ln -s "${CRTM_FIX}/${what}Coeff.bin" "${what}Coeff.bin"
done

for what in ${CRTM_FIX}/*Emis* ; do
ln -s ${what} .
for what in "${CRTM_FIX}/"*Emis* ; do
ln -s "${what}" "$(basename "${what}")"
done

exit 0
14 changes: 6 additions & 8 deletions ush/wave_grid_interp_sbs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -85,18 +85,16 @@ source "${USHgfs}/preamble.sh"
rm -f ${DATA}/output_${ymdh}0000/out_grd.$grdID

if [ ! -f ${DATA}/${grdID}_interp.inp.tmpl ]; then
cp ${PARMgfs}/wave/${grdID}_interp.inp.tmpl ${DATA}
cp "${PARMgfs}/wave/${grdID}_interp.inp.tmpl" "${DATA}/${grdID}_interp.inp.tmpl"
fi
ln -sf ${DATA}/${grdID}_interp.inp.tmpl .
ln -sf "${DATA}/${grdID}_interp.inp.tmpl" "${grdID}_interp.inp.tmpl"

for ID in $waveGRD
do
ln -sf ${DATA}/output_${ymdh}0000/out_grd.$ID .
for ID in ${waveGRD}; do
ln -sf "${DATA}/output_${ymdh}0000/out_grd.${ID}" "out_grd.${ID}"
done

for ID in $waveGRD $grdID
do
ln -sf ${DATA}/mod_def.$ID .
for ID in ${waveGRD} ${grdID}; do
ln -sf "${DATA}/mod_def.${ID}" "mod_def.${ID}"
done

# --------------------------------------------------------------------------- #
Expand Down
2 changes: 1 addition & 1 deletion ush/wave_prnc_ice.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ source "${USHgfs}/preamble.sh"
rm -rf ice
mkdir ice
cd ice
ln -s ${DATA}/postmsg .
ln -s "${DATA}/postmsg" postmsg

# 0.b Define directories and the search path.
# The tested variables should be exported by the postprocessor script.
Expand Down

0 comments on commit d0051a7

Please sign in to comment.