From ae256c0d69df3232ee9dd3e81b176bf2c3cda312 Mon Sep 17 00:00:00 2001 From: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com> Date: Mon, 27 Nov 2023 15:57:01 -0500 Subject: [PATCH] Upgrade to spack-stack modules on non-production machines (#102) * Upgrade libraries to spack-stack on Hera. #98 * Updated CI libraries for spack-stack. #98 * Added hdf5/1.14.0 to spack.yaml. #18 Hoping this will resolve an error where MPI is not found for the HDF5 build. * Upgrade to spack-stack/1.5.1. #98 * Update CI for w3emc, ncdiag upgrades. * Let WCOSS2 use the older modules. * Fix versions numbers in standalone modulefiles. #98 * Remove hercules modulefiles (not yet tested). * Fix S4 module files. --- ci/spack.yaml | 9 +++++---- modulefiles/common-run.lua | 6 ++++-- modulefiles/common.lua | 13 ++++++++----- modulefiles/hera.gnu-run.lua | 14 ++++++-------- modulefiles/hera.gnu.lua | 15 ++++++--------- modulefiles/hera.intel-run.lua | 13 +++++-------- modulefiles/hera.intel.lua | 14 ++++++-------- modulefiles/jet-run.lua | 13 +++++-------- modulefiles/jet.lua | 16 ++++++++-------- modulefiles/orion-run.lua | 12 +++++------- modulefiles/orion.lua | 16 ++++++---------- modulefiles/s4-run.lua | 15 +++++---------- modulefiles/s4.lua | 17 +++++++++-------- modulefiles/wcoss2-run.lua | 8 +++++--- modulefiles/wcoss2.lua | 10 +++++++++- 15 files changed, 92 insertions(+), 99 deletions(-) diff --git a/ci/spack.yaml b/ci/spack.yaml index eac94837..b09f7ec8 100644 --- a/ci/spack.yaml +++ b/ci/spack.yaml @@ -4,11 +4,12 @@ spack: all: compiler: [intel, gcc@10:10] specs: - - netcdf-c@4.7.4 - - netcdf-fortran@4.5.3 + - netcdf-c@4.9.2 + - netcdf-fortran@4.6.0 + - hdf5@1.14.0 - bacio@2.4.1 - - w3emc@2.9.2 - - gsi-ncdiag@1.0.0 + - w3emc@2.10.0 + - gsi-ncdiag@1.1.2 view: true concretizer: unify: true diff --git a/modulefiles/common-run.lua b/modulefiles/common-run.lua index 65962ad8..b4d0123f 100644 --- a/modulefiles/common-run.lua +++ b/modulefiles/common-run.lua @@ -2,9 +2,11 @@ help([[ Load common modules to run GSI Monitoring on all machines ]]) -local netcdf_ver=os.getenv("netcdf_ver") or "4.7.4" +local netcdf_c_ver=os.getenv("netcdf_c_ver") or "4.9.2" +local netcdf_fortran_ver=os.getenv("netcdf_fortran_ver") or "4.6.0" local wgrib2_ver=os.getenv("wgrib2_ver") or "2.0.8" -load(pathJoin("netcdf", netcdf_ver)) +load(pathJoin("netcdf-c", netcdf_c_ver)) +load(pathJoin("netcdf-fortran", netcdf_fortran_ver)) load(pathJoin("wgrib2", wgrib2_ver)) diff --git a/modulefiles/common.lua b/modulefiles/common.lua index 5c0b5b45..fda621a1 100644 --- a/modulefiles/common.lua +++ b/modulefiles/common.lua @@ -2,12 +2,15 @@ help([[ Load common modules to build GSI Monitoring on all machines ]]) -local netcdf_ver=os.getenv("netcdf_ver") or "4.7.4" +local netcdf_c_ver=os.getenv("netcdf_c_ver") or "4.9.2" +local netcdf_fortran_ver=os.getenv("netcdf_fortran_ver") or "4.6.0" local bacio_ver=os.getenv("bacio_ver") or "2.4.1" -local w3emc_ver=os.getenv("w3emc_ver") or "2.9.2" -local ncdiag_ver=os.getenv("ncdiag_ver") or "1.0.0" +local w3emc_ver=os.getenv("w3emc_ver") or "2.10.0" +local ncdiag_ver=os.getenv("ncdiag_ver") or "1.1.2" + +load(pathJoin("netcdf-c", netcdf_c_ver)) +load(pathJoin("netcdf-fortran", netcdf_fortran_ver)) -load(pathJoin("netcdf", netcdf_ver)) load(pathJoin("bacio", bacio_ver)) load(pathJoin("w3emc", w3emc_ver)) -load(pathJoin("ncdiag", ncdiag_ver)) +load(pathJoin("gsi-ncdiag", ncdiag_ver)) diff --git a/modulefiles/hera.gnu-run.lua b/modulefiles/hera.gnu-run.lua index 52787893..6b03f2fd 100644 --- a/modulefiles/hera.gnu-run.lua +++ b/modulefiles/hera.gnu-run.lua @@ -1,17 +1,15 @@ help([[ ]]) -prepend_path("MODULEPATH", "/scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_gnu_ver=os.getenv("hpc_gnu_ver") or "9.2.0" -local hpc_mpich_ver=os.getenv("hpc_mpich_ver") or "3.3.2" -local grads_ver=os.getenv("grads_ver") or "2.2.1" +local stack_gnu_ver=os.getenv("stack_gnu_ver") or "9.2.0" +local stack_openmpi_ver=os.getenv("stack_openmpi_ver") or "4.1.5" local prod_util_ver=os.getenv("prod_util_ver") or "1.2.2" +local grads_ver=os.getenv("grads_ver") or "2.2.1" -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-gnu", hpc_gnu_ver)) -load(pathJoin("hpc-mpich", hpc_mpich_ver)) +load(pathJoin("stack-gcc", stack_gnu_ver)) +load(pathJoin("stack-openmpi", stack_openmpi_ver)) load(pathJoin("grads", grads_ver)) load(pathJoin("prod_util", prod_util_ver)) diff --git a/modulefiles/hera.gnu.lua b/modulefiles/hera.gnu.lua index dc7fadc5..ecf64629 100644 --- a/modulefiles/hera.gnu.lua +++ b/modulefiles/hera.gnu.lua @@ -1,17 +1,14 @@ help([[ ]]) -prepend_path("MODULEPATH", "/scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_gnu_ver=os.getenv("hpc_gnu_ver") or "9.2.0" -local hpc_mpich_ver=os.getenv("hpc_mpich_ver") or "3.3.2" +local stack_gnu_ver=os.getenv("stack_gnu_ver") or "9.2.0" +local stack_openmpi_ver=os.getenv("stack_openmpi_ver") or "4.1.5" +local cmake_ver=os.getenv("cmake_ver") or "3.23.1" -local cmake_ver=os.getenv("cmake_ver") or "3.20.1" - -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-gnu", hpc_gnu_ver)) -load(pathJoin("hpc-mpich", hpc_mpich_ver)) +load(pathJoin("stack-gcc", stack_gnu_ver)) +load(pathJoin("stack-openmpi", stack_openmpi_ver)) load(pathJoin("cmake", cmake_ver)) load("common") diff --git a/modulefiles/hera.intel-run.lua b/modulefiles/hera.intel-run.lua index 6edae153..6826a143 100644 --- a/modulefiles/hera.intel-run.lua +++ b/modulefiles/hera.intel-run.lua @@ -1,21 +1,18 @@ help([[ ]]) -prepend_path("MODULEPATH", "/scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_intel_ver=os.getenv("hpc_intel_ver") or "18.0.5.274" -local impi_ver=os.getenv("hpc_impi_ver") or "2018.0.4" +local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" local grads_ver=os.getenv("grads_ver") or "2.2.1" local prod_util_ver=os.getenv("prod_util_ver") or "1.2.2" -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-intel", hpc_intel_ver)) -load(pathJoin("hpc-impi", hpc_impi_ver)) +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) load(pathJoin("grads", grads_ver)) load(pathJoin("prod_util", prod_util_ver)) load("common-run") - whatis("Description: GSI Monitoring run-time environment on Hera.intel") diff --git a/modulefiles/hera.intel.lua b/modulefiles/hera.intel.lua index a1f8968a..b6675bf7 100644 --- a/modulefiles/hera.intel.lua +++ b/modulefiles/hera.intel.lua @@ -1,16 +1,14 @@ help([[ ]]) -prepend_path("MODULEPATH", "/scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_intel_ver=os.getenv("hpc_intel_ver") or "18.0.5.274" -local hpc_impi_ver=os.getenv("hpc_impi_ver") or "2018.0.4" -local cmake_ver=os.getenv("cmake_ver") or "3.20.1" +local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" +local cmake_ver=os.getenv("cmake_ver") or "3.23.1" -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-intel", hpc_intel_ver)) -load(pathJoin("hpc-impi", hpc_impi_ver)) +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) load(pathJoin("cmake", cmake_ver)) load("common") diff --git a/modulefiles/jet-run.lua b/modulefiles/jet-run.lua index dc0fd70a..f57a11fa 100644 --- a/modulefiles/jet-run.lua +++ b/modulefiles/jet-run.lua @@ -1,21 +1,18 @@ help([[ ]]) -prepend_path("MODULEPATH", "/lfs4/HFIP/hfv3gfs/nwprod/hpc-stack/libs/modulefiles/stack") +prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_intel_ver=os.getenv("hpc_intel_ver") or "18.0.5.274" -local hpc_impi_ver=os.getenv("hpc_impi_ver") or "2018.4.274" +local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" local grads_ver=os.getenv("grads_ver") or "2.2.1" local prod_util_ver=os.getenv("prod_util_ver") or "1.2.2" -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-intel", hpc_intel_ver)) -load(pathJoin("hpc-impi", hpc_impi_ver)) +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) load(pathJoin("grads", grads_ver)) load(pathJoin("prod_util", prod_util_ver)) load("common-run") - whatis("Description: GSI Monitoring run-time environment on Jet") diff --git a/modulefiles/jet.lua b/modulefiles/jet.lua index 1d131395..85aa110f 100644 --- a/modulefiles/jet.lua +++ b/modulefiles/jet.lua @@ -1,16 +1,16 @@ help([[ ]]) -prepend_path("MODULEPATH", "/lfs4/HFIP/hfv3gfs/role.epic/hpc-stack/libs/intel-18.0.5.274/modulefiles/stack") +prepend_path("MODULEPATH", "/mnt/lfs4/HFIP/hfv3gfs/role.epic/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local hpc_ver=os.getenv("hpc_ver") or "1.2.0" -local hpc_intel_ver=os.getenv("hpc_intel_ver") or "18.0.5.274" -local hpc_impi_ver=os.getenv("hpc_impi_ver") or "2018.4.274" -local cmake_ver=os.getenv("cmake_ver") or "3.20.1" +local stack_python_ver=os.getenv("stack_python_ver") or "3.10.8" +local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" +local cmake_ver=os.getenv("cmake_ver") or "3.23.1" -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-intel", hpc_intel_ver)) -load(pathJoin("hpc-impi", hpc_impi_ver)) +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) +load(pathJoin("stack-python", stack_python_ver)) load(pathJoin("cmake", cmake_ver)) load("common") diff --git a/modulefiles/orion-run.lua b/modulefiles/orion-run.lua index 229ac582..0e7b5c9d 100644 --- a/modulefiles/orion-run.lua +++ b/modulefiles/orion-run.lua @@ -1,17 +1,15 @@ help([[ ]]) -prepend_path("MODULEPATH", "/apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_intel_ver=os.getenv("hpc_intel_ver") or "2018.4" -local hpc_impi_ver=os.getenv("hpc_impi_ver") or "2018.4" +local stack_intel_ver=os.getenv("stack_intel_ver") or "2022.0.2" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" local grads_ver=os.getenv("grads_ver") or "2.2.1" local prod_util_ver=os.getenv("prod_util_ver") or "1.2.2" -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-intel", hpc_intel_ver)) -load(pathJoin("hpc-impi", hpc_impi_ver)) +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) load(pathJoin("grads", grads_ver)) load(pathJoin("prod_util", prod_util_ver)) diff --git a/modulefiles/orion.lua b/modulefiles/orion.lua index 4bce8854..5396be72 100644 --- a/modulefiles/orion.lua +++ b/modulefiles/orion.lua @@ -1,19 +1,15 @@ help([[ ]]) -prepend_path("MODULEPATH", "/apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack") +prepend_path("MODULEPATH", "/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_intel_ver=os.getenv("hpc_intel_ver") or "2018.4" -local hpc_impi_ver=os.getenv("hpc_impi_ver") or "2018.4" -local cmake_ver=os.getenv("cmake_ver") or "3.22.1" -local python_ver=os.getenv("python_ver") or "3.7.5" +local stack_intel_ver=os.getenv("stack_intel_ver") or "2022.0.2" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.1" +local cmake_ver=os.getenv("cmake_ver") or "3.23.1" -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-intel", hpc_intel_ver)) -load(pathJoin("hpc-impi", hpc_impi_ver)) +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) load(pathJoin("cmake", cmake_ver)) -load(pathJoin("python", python_ver)) load("common") diff --git a/modulefiles/s4-run.lua b/modulefiles/s4-run.lua index 04eb58b9..4214abc2 100644 --- a/modulefiles/s4-run.lua +++ b/modulefiles/s4-run.lua @@ -1,23 +1,18 @@ help([[ ]]) -prepend_path("MODULEPATH", "/data/prod/hpc-stack/modulefiles/stack") +prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") -local license_ver=os.getenv("license_ver") or "S4" -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_intel_ver=os.getenv("hpc_intel_ver") or "18.0.4" -local hpc_impi_ver=os.getenv("hpc_impi_ver") or "18.0.4" +local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.0" local grads_ver=os.getenv("grads_ver") or "2.2.1" local prod_util_ver=os.getenv("prod_util_ver") or "1.2.2" -load(pathJoin("license_intel", license_ver)) -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-intel", hpc_intel_ver)) -load(pathJoin("hpc-impi", hpc_impi_ver)) +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) load(pathJoin("grads", grads_ver)) load(pathJoin("prod_util", prod_util_ver)) load("common-run") - whatis("Description: GSI Monitoring run-time environment on S4") diff --git a/modulefiles/s4.lua b/modulefiles/s4.lua index aaeb0776..51aed3e9 100644 --- a/modulefiles/s4.lua +++ b/modulefiles/s4.lua @@ -1,16 +1,17 @@ help([[ ]]) -local hpc_ver=os.getenv("hpc_ver") or "1.1.0" -local hpc_intel_ver=os.getenv("hpc_intel_ver") or "18.0.4" -local hpc_impi_ver=os.getenv("hpc_impi_ver") or "18.0.4" - -prepend_path("MODULEPATH", "/data/prod/hpc-stack/modulefiles/stack") +prepend_path("MODULEPATH", "/data/prod/jedi/spack-stack/spack-stack-1.5.1/envs/gsi-addon/install/modulefiles/Core") load("license_intel/S4") -load(pathJoin("hpc", hpc_ver)) -load(pathJoin("hpc-intel", hpc_intel_ver)) -load(pathJoin("hpc-impi", hpc_impi_ver)) + +local stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" +local stack_impi_ver=os.getenv("stack_impi_ver") or "2021.5.0" +local cmake_ver=os.getenv("cmake_ver") or "3.23.1" + +load(pathJoin("stack-intel", stack_intel_ver)) +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) +load(pathJoin("cmake", cmake_ver)) load("common") diff --git a/modulefiles/wcoss2-run.lua b/modulefiles/wcoss2-run.lua index 510c9a87..e40a17f5 100644 --- a/modulefiles/wcoss2-run.lua +++ b/modulefiles/wcoss2-run.lua @@ -5,15 +5,17 @@ local intel_ver=os.getenv("intel_ver") or "19.1.3.304" local prod_util_ver=os.getenv("prod_util_ver") or "2.0.13" local prod_envir_ver=os.getenv("prod_envir_ver") or "2.0.6" +local netcdf_ver=os.getenv("netcdf_ver") or "4.7.4" +local wgrib2_ver=os.getenv("wgrib2_ver") or "2.0.8" + load(pathJoin("intel", intel_ver)) load(pathJoin("prod_util", prod_util_ver)) load(pathJoin("prod_envir", prod_envir_ver)) +load(pathJoin("netcdf", netcdf_ver)) +load(pathJoin("wgrib2", wgrib2_ver)) prepend_path("MODULEPATH", "/apps/test/lmodules/core/") load ("GrADS/2.2.2") -load("common-run") - - whatis("Description: GSI Monitoring run-time environment on wcoss2") diff --git a/modulefiles/wcoss2.lua b/modulefiles/wcoss2.lua index 243d09db..4df68a1c 100644 --- a/modulefiles/wcoss2.lua +++ b/modulefiles/wcoss2.lua @@ -7,12 +7,20 @@ local craype_ver=os.getenv("craype_ver") or "2.7.8" local cray_mpich_ver=os.getenv("cray_mpich_ver") or "8.1.7" local cmake_ver= os.getenv("cmake_ver") or "3.20.2" +local netcdf_ver=os.getenv("netcdf_ver") or "4.7.4" +local bacio_ver=os.getenv("bacio_ver") or "2.4.1" +local w3emc_ver=os.getenv("w3emc_ver") or "2.9.2" +local ncdiag_ver=os.getenv("ncdiag_ver") or "1.0.0" + load(pathJoin("PrgEnv-intel", PrgEnv_intel_ver)) load(pathJoin("intel", intel_ver)) load(pathJoin("craype", craype_ver)) load(pathJoin("cray-mpich", cray_mpich_ver)) load(pathJoin("cmake", cmake_ver)) -load("common") +load(pathJoin("netcdf", netcdf_ver)) +load(pathJoin("bacio", bacio_ver)) +load(pathJoin("w3emc", w3emc_ver)) +load(pathJoin("ncdiag", ncdiag_ver)) whatis("Description: GSI Monitoring environment on WCOSS2")