Skip to content

Commit 39c2a28

Browse files
[develop] Do not load prod_util or run module reset when running ecflow (NOAA-EMC#4657)
When running an ecflow suite, some modules need to be loaded in the ecf scripts and never unloaded (including prod_util). This change this change works to prevent either of these from happening. Refs NOAA-EMC#4599
1 parent e3759d6 commit 39c2a28

14 files changed

Lines changed: 29 additions & 7 deletions

dev/ush/load_modules.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,10 @@ case "${MODULE_TYPE}" in
7373
echo "FATAL ERROR: Failed to load ufs_${MACHINE_ID}.intel"
7474
exit 1
7575
fi
76-
module load prod_util
76+
# Do not load prod_util on an ecflow system
77+
if [[ -z "${ECF_JOB:-}" ]]; then
78+
module load prod_util
79+
fi
7780
if [[ "${MACHINE_ID}" == "wcoss2" ]]; then
7881
module load cray-pals
7982
module load cfp

modulefiles/gw_gsi.wcoss2.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,11 @@ load(pathJoin("netcdf-D", (os.getenv("netcdf_ver") or "None")))
2020

2121
load(pathJoin("libjpeg", (os.getenv("libjpeg_ver") or "None")))
2222
load(pathJoin("grib_util", (os.getenv("grib_util_ver") or "None")))
23-
load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None")))
23+
-- Do not load prod_util when running ecflow
24+
local is_ecf = os.getenv("ECF_JOB") ~= nil
25+
if not is_ecf then
26+
load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None")))
27+
end
2428
load(pathJoin("ncdiag-A", (os.getenv("ncdiag_ver") or "None")))
2529
load(pathJoin("crtm", (os.getenv("crtm_ver") or "None")))
2630

modulefiles/gw_run.wcoss2.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ load(pathJoin("netcdf-D", (os.getenv("netcdf_ver") or "None")))
2828
load(pathJoin("esmf-D", (os.getenv("esmf_ver") or "None")))
2929

3030
load(pathJoin("nco", (os.getenv("nco_ver") or "None")))
31-
load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None")))
31+
-- Do not load prod_util when running ecflow
32+
local is_ecf = os.getenv("ECF_JOB") ~= nil
33+
if not is_ecf then
34+
load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None")))
35+
end
3236
load(pathJoin("grib_util", (os.getenv("grib_util_ver") or "None")))
3337
load(pathJoin("bufr_dump", (os.getenv("bufr_dump_ver") or "None")))
3438
load(pathJoin("util_shared", (os.getenv("util_shared_ver") or "None")))

modulefiles/gw_upp.wcoss2.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ load("wcoss2_intel")
1010
load(pathJoin("cray-pals", "1.0.17"))
1111

1212
-- Load workflow modules
13-
load(pathJoin("prod_util", "2.0.9"))
13+
-- Do not load prod_util when running ecflow
14+
local is_ecf = os.getenv("ECF_JOB") ~= nil
15+
if not is_ecf then
16+
load(pathJoin("prod_util", "2.0.9"))
17+
end
1418
load(pathJoin("python", "3.12.0"))
1519
load(pathJoin("libjpeg", "9c"))
1620
load(pathJoin("wgrib2", "2.0.8"))

modulefiles/gw_verif.wcoss2.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,11 @@ load(pathJoin("netcdf", '4.7.4'))
2323
local cray_lib_path=os.getenv("CRAY_LD_LIBRARY_PATH") or ""
2424
prepend_path("LD_LIBRARY_PATH", cray_lib_path)
2525

26-
load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None")))
26+
-- Do not load prod_util when running ecflow
27+
local is_ecf = os.getenv("ECF_JOB") ~= nil
28+
if not is_ecf then
29+
load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None")))
30+
end
2731
load(pathJoin("grib_util", (os.getenv("grib_util_ver") or "None")))
2832
load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None")))
2933

ush/dataroot_com_path.sh

100644100755
File mode changed.

ush/err_exit.sh

100644100755
File mode changed.

ush/jjob_shell_setup.sh

100644100755
File mode changed.

ush/module-setup.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,10 @@ elif [[ ${MACHINE_ID} = wcoss2 ]]; then
4747
# We are on WCOSS2
4848
# Ignore default modules of the same version lower in the search path (req'd by spack-stack)
4949
#export LMOD_TMOD_FIND_FIRST=yes #TODO: Uncomment this when using spack-stack for the entire workflow
50-
module reset
50+
# Do not reset on an ecflow system
51+
if [[ -z "${ECF_JOB:-}" ]]; then
52+
module reset
53+
fi
5154

5255
elif [[ ${MACHINE_ID} = cheyenne* ]]; then
5356
# We are on NCAR Cheyenne

0 commit comments

Comments
 (0)