From 336b66976c1f30d13359bb07e4651dcaf0d1ab83 Mon Sep 17 00:00:00 2001 From: David Huber Date: Tue, 17 Mar 2026 16:16:21 +0000 Subject: [PATCH] Module fixes for ecflow --- dev/ush/load_modules.sh | 4 +++- modulefiles/gw_gsi.wcoss2.lua | 6 +++++- modulefiles/gw_run.wcoss2.lua | 6 +++++- modulefiles/gw_upp.wcoss2.lua | 6 +++++- modulefiles/gw_verif.wcoss2.lua | 6 +++++- sorc/gdas.cd | 2 +- ush/module-setup.sh | 5 ++++- 7 files changed, 28 insertions(+), 7 deletions(-) diff --git a/dev/ush/load_modules.sh b/dev/ush/load_modules.sh index 263549f9f6c..2104241722f 100755 --- a/dev/ush/load_modules.sh +++ b/dev/ush/load_modules.sh @@ -73,7 +73,9 @@ case "${MODULE_TYPE}" in echo "FATAL ERROR: Failed to load ufs_${MACHINE_ID}.intel" exit 1 fi - module load prod_util + if [[ -z "${ECF_JOB:-}" ]]; then + module load prod_util + fi if [[ "${MACHINE_ID}" == "wcoss2" ]]; then module load cray-pals module load cfp diff --git a/modulefiles/gw_gsi.wcoss2.lua b/modulefiles/gw_gsi.wcoss2.lua index c3c11c92679..df48e9364ee 100644 --- a/modulefiles/gw_gsi.wcoss2.lua +++ b/modulefiles/gw_gsi.wcoss2.lua @@ -18,7 +18,11 @@ load(pathJoin("hdf5-D", (os.getenv("hdf5_ver") or "None"))) load(pathJoin("pnetcdf-D", (os.getenv("pnetcdf_ver") or "None"))) load(pathJoin("netcdf-D", (os.getenv("netcdf_ver") or "None"))) -load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) +-- Do not load prod_util when running ecflow +local is_ecf = os.getenv("ECF_JOB") ~= nil +if not is_ecf then + load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) +end load(pathJoin("ncdiag-A", (os.getenv("ncdiag_ver") or "None"))) load(pathJoin("crtm", (os.getenv("crtm_ver") or "None"))) diff --git a/modulefiles/gw_run.wcoss2.lua b/modulefiles/gw_run.wcoss2.lua index 9dec3333a4e..d64ccfcbb76 100644 --- a/modulefiles/gw_run.wcoss2.lua +++ b/modulefiles/gw_run.wcoss2.lua @@ -28,7 +28,11 @@ load(pathJoin("netcdf-D", (os.getenv("netcdf_ver") or "None"))) load(pathJoin("esmf-D", (os.getenv("esmf_ver") or "None"))) load(pathJoin("nco", (os.getenv("nco_ver") or "None"))) -load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) +-- Do not load prod_util when running ecflow +local is_ecf = os.getenv("ECF_JOB") ~= nil +if not is_ecf then + load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) +end load(pathJoin("grib_util", (os.getenv("grib_util_ver") or "None"))) load(pathJoin("bufr_dump", (os.getenv("bufr_dump_ver") or "None"))) load(pathJoin("util_shared", (os.getenv("util_shared_ver") or "None"))) diff --git a/modulefiles/gw_upp.wcoss2.lua b/modulefiles/gw_upp.wcoss2.lua index 79b01210939..e884e5f5a66 100644 --- a/modulefiles/gw_upp.wcoss2.lua +++ b/modulefiles/gw_upp.wcoss2.lua @@ -10,7 +10,11 @@ load("wcoss2_intel") load(pathJoin("cray-pals", "1.0.17")) -- Load workflow modules -load(pathJoin("prod_util", "2.0.9")) +-- Do not load prod_util when running ecflow +local is_ecf = os.getenv("ECF_JOB") ~= nil +if not is_ecf then + load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) +end load(pathJoin("python", "3.12.0")) load(pathJoin("libjpeg", "9c")) load(pathJoin("wgrib2", "2.0.8")) diff --git a/modulefiles/gw_verif.wcoss2.lua b/modulefiles/gw_verif.wcoss2.lua index 700e2d4f8e0..f6d408d58b5 100644 --- a/modulefiles/gw_verif.wcoss2.lua +++ b/modulefiles/gw_verif.wcoss2.lua @@ -23,7 +23,11 @@ load(pathJoin("netcdf", '4.7.4')) local cray_lib_path=os.getenv("CRAY_LD_LIBRARY_PATH") or "" prepend_path("LD_LIBRARY_PATH", cray_lib_path) -load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) +-- Do not load prod_util when running ecflow +local is_ecf = os.getenv("ECF_JOB") ~= nil +if not is_ecf then + load(pathJoin("prod_util", (os.getenv("prod_util_ver") or "None"))) +end load(pathJoin("grib_util", (os.getenv("grib_util_ver") or "None"))) load(pathJoin("wgrib2", (os.getenv("wgrib2_ver") or "None"))) diff --git a/sorc/gdas.cd b/sorc/gdas.cd index 3db99ed2c77..06d38bb2fc3 160000 --- a/sorc/gdas.cd +++ b/sorc/gdas.cd @@ -1 +1 @@ -Subproject commit 3db99ed2c777cc1fa2f527478fe1f80d49f1b948 +Subproject commit 06d38bb2fc36c87672a3cd30bb763aa8b3d3805c diff --git a/ush/module-setup.sh b/ush/module-setup.sh index 13e41879804..3748d37ee93 100755 --- a/ush/module-setup.sh +++ b/ush/module-setup.sh @@ -47,7 +47,10 @@ elif [[ ${MACHINE_ID} = wcoss2 ]]; then # We are on WCOSS2 # Ignore default modules of the same version lower in the search path (req'd by spack-stack) #export LMOD_TMOD_FIND_FIRST=yes #TODO: Uncomment this when using spack-stack for the entire workflow - module reset + # Do not reset on an ecflow system + if [[ -z "${ECF_JOB:-}" ]]; then + module reset + fi elif [[ ${MACHINE_ID} = cheyenne* ]]; then # We are on NCAR Cheyenne