From a39f9a071fb042bda161bf3566d7b1e9b008adc0 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 5 Feb 2026 08:18:05 -0500 Subject: [PATCH 01/24] Updates for spack-stack: gsibec, fms, pfunit --- configs/common/packages.yaml | 18 +++++++++++------- .../packages/geos_gcm_env/package.py | 4 ++++ .../packages/jedi_geos_env/package.py | 1 + 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/configs/common/packages.yaml b/configs/common/packages.yaml index 61ed37dd3..f341f0cb2 100644 --- a/configs/common/packages.yaml +++ b/configs/common/packages.yaml @@ -110,8 +110,12 @@ packages: - '@2.6.4' fms: require: - - '@2024.02' - - precision=32,64 +quad_precision +openmp +pic build_type=Release +deprecated_io + - '@2025.03' + - precision=32,64 + - +quad_precision + - +openmp + - +pic + - build_type=Release - any_of: - +gfs_phys constants=GFS - ~gfs_phys constants=GEOS @@ -154,7 +158,7 @@ packages: - '@1.4.0' gsibec: require: - - '@1.2.1' + - '@1.4.0' gsi-ncdiag: require: - '@1.1.2' @@ -294,6 +298,10 @@ packages: pflogger: require: - +mpi + pfunit: + require: + - +mpi + - +fhamcrest pixman: require: - +pic @@ -431,10 +439,6 @@ packages: snappy: require: - +shared - sp: - require: - - '@2.5.0' - - 'precision=4,d,8' udunits: require: - '@2.2.28' diff --git a/repos/spack_stack/spack_repo/spack_stack/packages/geos_gcm_env/package.py b/repos/spack_stack/spack_repo/spack_stack/packages/geos_gcm_env/package.py index 378bfbf01..47c5ff19f 100644 --- a/repos/spack_stack/spack_repo/spack_stack/packages/geos_gcm_env/package.py +++ b/repos/spack_stack/spack_repo/spack_stack/packages/geos_gcm_env/package.py @@ -20,6 +20,7 @@ class GeosGcmEnv(BundlePackage): depends_on("base-env", type="run") depends_on("blas", type="run") + depends_on("lapack", type="run") depends_on("mepo", type="run") depends_on("esmf", type="run") # mapl is built as part of GEOS, don't load; @@ -28,10 +29,13 @@ class GeosGcmEnv(BundlePackage): depends_on("gftl-shared", type="run") depends_on("fargparse", type="run") depends_on("pflogger", type="run") + depends_on("pfunit", type="run") # depends_on("py-numpy", type="run") depends_on("py-pyyaml", type="run") depends_on("py-ruamel-yaml", type="run") depends_on("udunits", type="run") + depends_on("perl", type="run") + # There is no need for install() since there is no code. diff --git a/repos/spack_stack/spack_repo/spack_stack/packages/jedi_geos_env/package.py b/repos/spack_stack/spack_repo/spack_stack/packages/jedi_geos_env/package.py index 6473298f4..78abbf125 100644 --- a/repos/spack_stack/spack_repo/spack_stack/packages/jedi_geos_env/package.py +++ b/repos/spack_stack/spack_repo/spack_stack/packages/jedi_geos_env/package.py @@ -27,6 +27,7 @@ class JediGeosEnv(BundlePackage): depends_on("gftl-shared", type="run") depends_on("fargparse", type="run") depends_on("pflogger", type="run") + depends_on("pfunit", type="run") # depends_on("py-numpy", type="run") From fe1f1473016f10ee90d118476e36756480852d72 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 5 Feb 2026 09:12:05 -0500 Subject: [PATCH 02/24] Add gsibec 1.4.1 --- configs/common/packages.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/common/packages.yaml b/configs/common/packages.yaml index f341f0cb2..e619cc60e 100644 --- a/configs/common/packages.yaml +++ b/configs/common/packages.yaml @@ -158,7 +158,7 @@ packages: - '@1.4.0' gsibec: require: - - '@1.4.0' + - '@1.4.1' gsi-ncdiag: require: - '@1.1.2' From 63f83542bf5631733e28f3399c0e027b5f4d8561 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 5 Feb 2026 09:19:07 -0500 Subject: [PATCH 03/24] NAS updates --- configs/sites/tier1/nas/README.md | 54 ++++++++----------- configs/sites/tier1/nas/mirrors.yaml | 9 +++- configs/sites/tier1/nas/packages.yaml | 4 ++ .../tier1/nas/packages_oneapi-2025.3.0.yaml | 49 +++++++++++++++++ 4 files changed, 82 insertions(+), 34 deletions(-) create mode 100644 configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml diff --git a/configs/sites/tier1/nas/README.md b/configs/sites/tier1/nas/README.md index 156d72334..26fddc0f8 100644 --- a/configs/sites/tier1/nas/README.md +++ b/configs/sites/tier1/nas/README.md @@ -63,8 +63,7 @@ You will need: Use the appropriate branch or tag: ```bash -git clone --recurse-submodules https://github.com/JCSDA/spack-stack.git \ - -b spack-stack-2.0.0 spack-stack-2.0.0 +git clone --recurse-submodules https://github.com/JCSDA/spack-stack.git -b spack-stack-2.1.0 spack-stack-2.1.0 ``` --- @@ -74,17 +73,12 @@ git clone --recurse-submodules https://github.com/JCSDA/spack-stack.git \ NAS login nodes allow only **2 processes**, so use: ```bash -qsub -I -V -X \ - -l select=1:ncpus=128:mpiprocs=128:model=rom_ait \ - -l walltime=12:00:00 \ - -W group_list=s1873 \ - -m b \ - -N Interactive +qsub -I -V -X -l select=1:ncpus=128:mpiprocs=128:model=mil_ait -l walltime=12:00:00 -W group_list=s1873 -m b -N Interactive ``` -This gives a **Rome** compute node for up to 12 hours. +This gives a **Milan** compute node for up to 12 hours. -For a **Milan** node, change `model=rom_ait` to `model=mil_ait` and run the `qsub` command on a Milan-capable login node (e.g., `afe02`). +For a **Rome** node, change `model=mil_ait` to `model=rom_ait` and run the `qsub` command on a Rome-capable login node (e.g., `pfe25`). --- @@ -93,7 +87,7 @@ For a **Milan** node, change `model=rom_ait` to `model=mil_ait` and run the `qsu Run on a **login node with internet**: ```bash -cd spack-stack-2.0.0 +cd spack-stack-2.1.0 . setup.sh ``` @@ -103,19 +97,24 @@ cd spack-stack-2.0.0 You only need to create each environment once. -### oneAPI Environment +### oneAPI - ifx Environment ```bash -spack stack create env --name ue-oneapi-2024.2.0 \ - --template unified-dev --site nas --compiler=oneapi-2024.2.0 +spack stack create env --name ue-oneapi-2025.3.0 --template unified-dev --site nas --compiler=oneapi-2025.3.0 +cd envs/ue-oneapi-2025.3.0 +``` + +### oneAPI - ifort Environment + +```bash +spack stack create env --name ue-oneapi-2024.2.0 --template unified-dev --site nas --compiler=oneapi-2024.2.0 cd envs/ue-oneapi-2024.2.0 ``` ### GCC Environment ```bash -spack stack create env --name ue-gcc-13.2.0 \ - --template unified-dev --site nas --compiler=gcc-13.2.0 +spack stack create env --name ue-gcc-13.2.0 --template unified-dev --site nas --compiler=gcc-13.2.0 cd envs/ue-gcc-13.2.0 ``` @@ -152,8 +151,7 @@ bell() { tput bel ; printf "\nFinished at: " ; date; } This downloads all source tarballs for your environment: ```bash -spack mirror create -a \ - -d /swbuild/gmao_SIteam/spack-stack/source-cache +spack mirror create -a -d /swbuild/gmao_SIteam/spack-stack/source-cache ``` > ⚠️ **Do not run this outside an activated environment.** @@ -190,10 +188,8 @@ Installation requires three stages: ```bash export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 16 --verbose --fail-fast --show-log-on-error \ - --no-check-signature \ - --only dependencies py-cryptography py-maturin py-rpds-py ecflow \ - 2>&1 | tee log.install.deps-for-rust-and-ecflow ; bell +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature \ + --only dependencies py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.deps-for-rust-and-ecflow ; bell ``` --- @@ -206,10 +202,8 @@ So this must be done on **afe**: ```bash export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 2 -p 1 --verbose --fail-fast --show-log-on-error \ - --no-check-signature \ - py-cryptography py-maturin py-rpds-py ecflow \ - 2>&1 | tee log.install.rust-and-ecflow ; bell +spack install -j 2 -p 1 --verbose --fail-fast --show-log-on-error --no-check-signature \ + py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.rust-and-ecflow ; bell ``` NAS limits login nodes to 2 processes, hence `-j 2`. @@ -220,9 +214,7 @@ NAS limits login nodes to 2 processes, hence `-j 2`. ```bash export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 16 --verbose --fail-fast --show-log-on-error \ - --no-check-signature \ - 2>&1 | tee log.install.after-cargo ; bell +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install.after-cargo ; bell ``` > **Note:** You may need to re-run this command multiple times. Some builds fail intermittently but succeed on retry. @@ -234,9 +226,7 @@ spack install -j 16 --verbose --fail-fast --show-log-on-error \ If you encounter another package that insists on network access: ```bash -spack install -j 2 --verbose --fail-fast --show-log-on-error \ - --no-check-signature \ - |& tee log.install. ; bell +spack install -j 2 --verbose --fail-fast --show-log-on-error --no-check-signature |& tee log.install. ; bell ``` Again, this must be done on an **afe** login node because of the CPU architecture. diff --git a/configs/sites/tier1/nas/mirrors.yaml b/configs/sites/tier1/nas/mirrors.yaml index d9ccc4914..e8a4097c3 100644 --- a/configs/sites/tier1/nas/mirrors.yaml +++ b/configs/sites/tier1/nas/mirrors.yaml @@ -1,3 +1,8 @@ mirrors: - local-source: file:///swbuild/gmao_SIteam/spack-stack/source-cache - local-binary: file:///swbuild/gmao_SIteam/spack-stack/binary-cache-spack-v1 + local-source: + url: file:///swbuild/gmao_SIteam/spack-stack/source-cache + binary: false + local-binary: + url: file:///swbuild/gmao_SIteam/spack-stack/build-cache + binary: true + diff --git a/configs/sites/tier1/nas/packages.yaml b/configs/sites/tier1/nas/packages.yaml index 854d4a164..5180864fa 100644 --- a/configs/sites/tier1/nas/packages.yaml +++ b/configs/sites/tier1/nas/packages.yaml @@ -14,6 +14,10 @@ packages: externals: - spec: automake@1.16.1 prefix: /usr + bash: + externals: + - spec: bash@4.4.20 + prefix: /usr binutils: externals: - spec: binutils@2.30.125~gold~headers diff --git a/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml b/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml new file mode 100644 index 000000000..293a58eb8 --- /dev/null +++ b/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml @@ -0,0 +1,49 @@ +packages: + mpi: + buildable: false + require: + - intel-oneapi-mpi@2021.17.0 + intel-oneapi-compilers: + externals: + - spec: intel-oneapi-compilers@2025.3.0 + prefix: /nobackup/gmao_SIteam/intel/oneapi + modules: + - comp-intel/2025.3.0 + extra_attributes: + compilers: + c: /nobackup/gmao_SIteam/intel/oneapi/compiler/2025.3/bin/icx + cxx: /nobackup/gmao_SIteam/intel/oneapi/compiler/2025.3/bin/icpx + fortran: /nobackup/gmao_SIteam/intel/oneapi/compiler/2025.3/bin/ifx + environment: + prepend_path: + PATH: /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/bin + CPATH: /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/include + LD_LIBRARY_PATH: '/nobackup/gmao_SIteam/intel/oneapi/compiler/2025.3/lib/:/nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/lib64' + extra_rpaths: + - /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/lib64 + - /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/lib + gcc: + externals: + - spec: gcc@12.3.0 languages:='c,c++' + prefix: /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4 + modules: + - comp-gcc/12.3.0-TOSS4 + extra_attributes: + compilers: + c: /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/bin/gcc + cxx: /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/bin/g++ + fortran: /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/bin/gfortran + intel-oneapi-mpi: + buildable: false + externals: + - spec: intel-oneapi-mpi@2021.17.0 + prefix: /nobackupp28/gmao_SIteam/intel/oneapi + modules: + - mpi-impi/2021.17 + intel-oneapi-mkl: + buildable: false + externals: + - spec: intel-oneapi-mkl@2025.3.0 + prefix: /nobackup/gmao_SIteam/intel/oneapi + modules: + - math-mkl/2025.3 From 336eb893f7498d62445e8fe4e491e7fa3a9d3ab6 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 5 Feb 2026 09:45:19 -0500 Subject: [PATCH 04/24] Update gsibec in many files --- configs/containers/specs/jedi-ci.yaml | 2 +- configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml | 2 +- configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml | 2 +- configs/sites/tier1/aws-pcluster/packages_intel.yaml | 2 +- configs/sites/tier1/gaea-c5/packages_intel.yaml | 2 +- configs/sites/tier1/hera/packages_intel.yaml | 2 +- configs/sites/tier1/hera/packages_oneapi.yaml | 2 +- configs/sites/tier1/noaa-aws/packages_intel.yaml | 2 +- configs/sites/tier1/noaa-aws/packages_oneapi.yaml | 2 +- configs/sites/tier1/noaa-azure/packages_intel.yaml | 2 +- configs/sites/tier1/noaa-azure/packages_oneapi.yaml | 2 +- configs/sites/tier1/noaa-gcloud/packages_intel.yaml | 2 +- configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml | 2 +- configs/sites/tier1/s4/packages_intel.yaml | 2 +- configs/sites/tier1/s4/packages_oneapi.yaml | 2 +- configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml | 2 +- configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml | 2 +- configs/sites/tier2/jet/packages_intel.yaml | 2 +- configs/sites/tier2/jet/packages_oneapi.yaml | 2 +- .../spack_repo/spack_stack/packages/jedi_base_env/package.py | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/configs/containers/specs/jedi-ci.yaml b/configs/containers/specs/jedi-ci.yaml index 4a759b5c5..7d60de33a 100644 --- a/configs/containers/specs/jedi-ci.yaml +++ b/configs/containers/specs/jedi-ci.yaml @@ -21,7 +21,7 @@ fms@2024.02, g2@3.5.1, g2tmpl@1.17.0, - gsibec@1.2.1, + gsibec@1.4.1, hdf@4.2.15, hdf5@1.14.5, ip@5.4.0, diff --git a/configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml b/configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml index ca23b29ab..a56909a6f 100644 --- a/configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml +++ b/configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml @@ -85,7 +85,7 @@ packages: go: require: ['%gcc'] gsibec: - require: ['@1.2.1'] + require: ['@1.4.1'] harfbuzz: require: ['%gcc'] libffi: diff --git a/configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml b/configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml index 4b1970ef4..cad248f69 100644 --- a/configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml +++ b/configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml @@ -76,7 +76,7 @@ packages: glib: require: ['%gcc'] gsibec: - require: ['@1.2.1'] + require: ['@1.4.1'] libtiff: require: ['build_system=cmake'] nco: diff --git a/configs/sites/tier1/aws-pcluster/packages_intel.yaml b/configs/sites/tier1/aws-pcluster/packages_intel.yaml index 7c04e9b9a..32c20c0ac 100644 --- a/configs/sites/tier1/aws-pcluster/packages_intel.yaml +++ b/configs/sites/tier1/aws-pcluster/packages_intel.yaml @@ -28,7 +28,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/gaea-c5/packages_intel.yaml b/configs/sites/tier1/gaea-c5/packages_intel.yaml index 6a26ba5c1..f0e3e23f3 100644 --- a/configs/sites/tier1/gaea-c5/packages_intel.yaml +++ b/configs/sites/tier1/gaea-c5/packages_intel.yaml @@ -30,7 +30,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/hera/packages_intel.yaml b/configs/sites/tier1/hera/packages_intel.yaml index f5bc6fc10..9f92b617f 100644 --- a/configs/sites/tier1/hera/packages_intel.yaml +++ b/configs/sites/tier1/hera/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/hera/packages_oneapi.yaml b/configs/sites/tier1/hera/packages_oneapi.yaml index 7bd73cab6..4673a9d73 100644 --- a/configs/sites/tier1/hera/packages_oneapi.yaml +++ b/configs/sites/tier1/hera/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/noaa-aws/packages_intel.yaml b/configs/sites/tier1/noaa-aws/packages_intel.yaml index 0700f2c4b..1ca78aca2 100644 --- a/configs/sites/tier1/noaa-aws/packages_intel.yaml +++ b/configs/sites/tier1/noaa-aws/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/noaa-aws/packages_oneapi.yaml b/configs/sites/tier1/noaa-aws/packages_oneapi.yaml index b103ce146..5d079f9b6 100644 --- a/configs/sites/tier1/noaa-aws/packages_oneapi.yaml +++ b/configs/sites/tier1/noaa-aws/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/noaa-azure/packages_intel.yaml b/configs/sites/tier1/noaa-azure/packages_intel.yaml index 0700f2c4b..1ca78aca2 100644 --- a/configs/sites/tier1/noaa-azure/packages_intel.yaml +++ b/configs/sites/tier1/noaa-azure/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/noaa-azure/packages_oneapi.yaml b/configs/sites/tier1/noaa-azure/packages_oneapi.yaml index b103ce146..5d079f9b6 100644 --- a/configs/sites/tier1/noaa-azure/packages_oneapi.yaml +++ b/configs/sites/tier1/noaa-azure/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/noaa-gcloud/packages_intel.yaml b/configs/sites/tier1/noaa-gcloud/packages_intel.yaml index 0700f2c4b..1ca78aca2 100644 --- a/configs/sites/tier1/noaa-gcloud/packages_intel.yaml +++ b/configs/sites/tier1/noaa-gcloud/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml b/configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml index b103ce146..5d079f9b6 100644 --- a/configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml +++ b/configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/s4/packages_intel.yaml b/configs/sites/tier1/s4/packages_intel.yaml index cb6df6825..a27dec1a8 100644 --- a/configs/sites/tier1/s4/packages_intel.yaml +++ b/configs/sites/tier1/s4/packages_intel.yaml @@ -34,7 +34,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/s4/packages_oneapi.yaml b/configs/sites/tier1/s4/packages_oneapi.yaml index 0aef8ace7..82438d34e 100644 --- a/configs/sites/tier1/s4/packages_oneapi.yaml +++ b/configs/sites/tier1/s4/packages_oneapi.yaml @@ -34,7 +34,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml b/configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml index 4606d5716..94b6c7e5d 100644 --- a/configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml +++ b/configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml @@ -88,7 +88,7 @@ packages: go: require: ['%gcc'] gsibec: - require: ['@1.2.1'] + require: ['@1.4.1'] harfbuzz: require: ['@2.9.1', '%gcc'] libffi: diff --git a/configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml b/configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml index e2e611e6d..843949cca 100644 --- a/configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml +++ b/configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml @@ -90,7 +90,7 @@ packages: glib: require: ['%gcc'] gsibec: - require: ['@1.2.1'] + require: ['@1.4.1'] harfbuzz: require: - any_of: ['@:2.9 %gcc', '@11: %oneapi'] diff --git a/configs/sites/tier2/jet/packages_intel.yaml b/configs/sites/tier2/jet/packages_intel.yaml index ad7ec6512..1aaabc716 100644 --- a/configs/sites/tier2/jet/packages_intel.yaml +++ b/configs/sites/tier2/jet/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier2/jet/packages_oneapi.yaml b/configs/sites/tier2/jet/packages_oneapi.yaml index f70c19f2d..8563c0dc7 100644 --- a/configs/sites/tier2/jet/packages_oneapi.yaml +++ b/configs/sites/tier2/jet/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.2.1 ~mkl' + - '@1.4.1 ~mkl' py-numpy: require:: - '@1.26' diff --git a/repos/spack_stack/spack_repo/spack_stack/packages/jedi_base_env/package.py b/repos/spack_stack/spack_repo/spack_stack/packages/jedi_base_env/package.py index 3043df8f8..b8fefdb6a 100644 --- a/repos/spack_stack/spack_repo/spack_stack/packages/jedi_base_env/package.py +++ b/repos/spack_stack/spack_repo/spack_stack/packages/jedi_base_env/package.py @@ -41,7 +41,7 @@ class JediBaseEnv(BundlePackage): depends_on("flex", type="run") depends_on("git-lfs", type="run") # Commented out until update to ip is completed - #depends_on("gsibec", type="run") + depends_on("gsibec", type="run") depends_on("gsl-lite", type="run") depends_on("hdf", when="+hdf4", type="run") depends_on("jedi-cmake", type="run") From 95e9a3f8e375ecbe403fe412155af3558187abc5 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Mon, 9 Feb 2026 07:40:42 -0800 Subject: [PATCH 05/24] Updates for ifx stack --- configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml b/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml index 293a58eb8..76b15b71e 100644 --- a/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml +++ b/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml @@ -2,7 +2,7 @@ packages: mpi: buildable: false require: - - intel-oneapi-mpi@2021.17.0 + - intel-oneapi-mpi@2021.17 intel-oneapi-compilers: externals: - spec: intel-oneapi-compilers@2025.3.0 @@ -36,14 +36,14 @@ packages: intel-oneapi-mpi: buildable: false externals: - - spec: intel-oneapi-mpi@2021.17.0 - prefix: /nobackupp28/gmao_SIteam/intel/oneapi + - spec: intel-oneapi-mpi@2021.17 + prefix: /nobackup/gmao_SIteam/intel/oneapi modules: - mpi-impi/2021.17 intel-oneapi-mkl: buildable: false externals: - - spec: intel-oneapi-mkl@2025.3.0 + - spec: intel-oneapi-mkl@2025.3 prefix: /nobackup/gmao_SIteam/intel/oneapi modules: - math-mkl/2025.3 From ecded67750ccaa3b00bc95b32a2d6adc58f845f8 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Mon, 9 Feb 2026 07:41:07 -0800 Subject: [PATCH 06/24] Preliminary NAS TOSS5 setup --- configs/sites/tier1/nas-toss5/README.md | 264 ++++++++++++++++++ configs/sites/tier1/nas-toss5/config.yaml | 9 + configs/sites/tier1/nas-toss5/mirrors.yaml | 8 + configs/sites/tier1/nas-toss5/modules.yaml | 8 + configs/sites/tier1/nas-toss5/packages.yaml | 120 ++++++++ .../tier1/nas-toss5/packages_gcc-14.2.1.yaml | 53 ++++ .../nas-toss5/packages_oneapi-2024.2.0.yaml | 61 ++++ 7 files changed, 523 insertions(+) create mode 100644 configs/sites/tier1/nas-toss5/README.md create mode 100644 configs/sites/tier1/nas-toss5/config.yaml create mode 100644 configs/sites/tier1/nas-toss5/mirrors.yaml create mode 100644 configs/sites/tier1/nas-toss5/modules.yaml create mode 100644 configs/sites/tier1/nas-toss5/packages.yaml create mode 100644 configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml create mode 100644 configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml diff --git a/configs/sites/tier1/nas-toss5/README.md b/configs/sites/tier1/nas-toss5/README.md new file mode 100644 index 000000000..c5296a4a8 --- /dev/null +++ b/configs/sites/tier1/nas-toss5/README.md @@ -0,0 +1,264 @@ +# How to Build **spack-stack** at NAS on TOSS5 + +This guide documents how to build **spack-stack** on NASA NAS TOSS5 systems, where login nodes have internet access but are CPU-restricted, while compute nodes allow parallel builds but have *no* internet access. Several packages (Rust/Cargo, ecFlow, CRTM) require special handling due to these constraints. + +--- + +## Table of Contents + +- [Overview](#overview) +- [Machines Required](#machines-required) +- [Clone spack-stack](#clone-spack-stack) +- [Obtain an Interactive Compute Node](#obtain-an-interactive-compute-node) +- [Setup spack-stack](#setup-spack-stack) +- [Create Environments](#create-environments) + - [oneAPI Environment](#oneapi-environment) + - [GCC Environment](#gcc-environment) +- [Activate the Environment](#activate-the-environment) +- [Concretize the Environment](#concretize-the-environment) +- [Create Source Cache (LOGIN NODE ONLY)](#create-source-cache-login-node-only) +- [Pre-Fetch Cargo Dependencies (LOGIN NODE ONLY)](#pre-fetch-cargo-dependencies-login-node-only) +- [Install Packages](#install-packages) + - [Step 1 — Dependencies of Rust codes and ecFlow (COMPUTE NODE)](#step-1--dependencies-of-rust-codes-and-ecflow-compute-node) + - [Step 2 — Rust codes and ecFlow (ATHFE LOGIN NODE)](#step-2--rust-codes-and-ecflow-athfe-login-node) + - [Step 3 — Remaining Packages (COMPUTE NODE)](#step-3--remaining-packages-compute-node) + - [Packages Requiring Internet](#packages-requiring-internet) +- [Update Module Files](#update-module-files) +- [Deactivate the Environment](#deactivate-the-environment) +- [Debugging Package Builds](#debugging-package-builds) + +--- + +## Overview + +Due to NAS system architecture and network restrictions: + +- **Login nodes**: + - Have internet + - Limited to **2 processes** + +- **Compute nodes** (Turnin): + - No internet + - Allow parallel builds + +Some packages (Cargo/Rust, ecFlow, CRTM) require internet or newer CPU features, so the install is broken into multiple steps across different node types. + +--- + +## Machines Required + +You will need: + +- **An `athfe` login node** + Supports x86_64_v3 binaries → required for building Rust packages and ecFlow. + +- **A Turnin compute node** + Used for the main installation with multiple cores. + +--- + +## Clone spack-stack + +Use the appropriate branch or tag: + +```bash +git clone --recurse-submodules https://github.com/JCSDA/spack-stack.git -b spack-stack-2.1.0 spack-stack-2.1.0 +``` + +--- + +## Obtain an Interactive Compute Node + +NAS login nodes allow only **2 processes**, so use: + +```bash +qsub -I -V -X -l select=1:ncpus=128:mpiprocs=128:model=tur_ath -l walltime=12:00:00 -W group_list=s1873 -m b -N Interactive +``` + +This gives a Turin** compute node for up to 12 hours. + +--- + +## Setup spack-stack + +Run on a **login node with internet**: + +```bash +cd spack-stack-2.1.0 +. setup.sh +``` + +--- + +## Create Environments + +You only need to create each environment once. + +### oneAPI - ifx Environment + +```bash +spack stack create env --name ue-oneapi-2025.3.0 --template unified-dev --site nas-toss5 --compiler=oneapi-2025.3.0 +cd envs/ue-oneapi-2025.3.0 +``` + +### oneAPI - ifort Environment + +```bash +spack stack create env --name ue-oneapi-2024.2.0 --template unified-dev --site nas-toss5 --compiler=oneapi-2024.2.0 +cd envs/ue-oneapi-2024.2.0 +``` + +### GCC Environment + +```bash +spack stack create env --name ue-gcc-13.2.0 --template unified-dev --site nas-toss5 --compiler=gcc-13.2.0 +cd envs/ue-gcc-13.2.0 +``` + +--- + +## Activate the Environment + +```bash +spack env activate . +``` + +> **Important:** Run this in *every* terminal where you plan to run Spack commands. + +--- + +## Concretize the Environment + +Run on a **login node** (internet required for bootstrapping Clingo and other tools): + +```bash +spack concretize 2>&1 | tee log.concretize ; bell +``` + +### Optional `bell` helper + +```bash +bell() { tput bel ; printf "\nFinished at: " ; date; } +``` + +--- + +## Create Source Cache (LOGIN NODE ONLY) + +This downloads all source tarballs for your environment: + +```bash +spack mirror create -a -d /swbuild/gmao_SIteam/spack-stack/source-cache +``` + +> ⚠️ **Do not run this outside an activated environment.** +> Otherwise Spack will attempt to mirror **every** known package/version. + +--- + +## Pre-Fetch Cargo Dependencies (LOGIN NODE ONLY) + +Rust packages frequently require network access during build. Pre-fetch their dependencies: + +```bash +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +../../util/fetch_cargo_deps.py +``` + +> ⚠️ **You must also set `CARGO_HOME` on compute nodes** before building. + +--- + +## Install Packages + +Installation requires three stages: + +| Step | Node Type | Why | +|------|-----------|-----| +| Step 1 | Compute | Build dependencies in parallel, avoids CPU limits | +| Step 2 | `athfe` login | Needed for x86_64_v3 Python and internet access | +| Step 3 | Compute | Finish main installation at high parallelism | + +--- + +### Step 1 — Dependencies of Rust codes and ecFlow (COMPUTE NODE) + +```bash +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature \ + --only dependencies py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.deps-for-rust-and-ecflow ; bell +``` + +--- + +### Step 2 — Rust codes and ecFlow (ATHFE LOGIN NODE) + +```bash +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 2 -p 1 --verbose --fail-fast --show-log-on-error --no-check-signature \ + py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.rust-and-ecflow ; bell +``` + +NAS limits login nodes to 2 processes, hence `-j 2`. + +--- + +### Step 3 — Remaining Packages (COMPUTE NODE) + +```bash +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install.after-cargo ; bell +``` + +> **Note:** You may need to re-run this command multiple times. Some builds fail intermittently but succeed on retry. + +--- + +### Packages Requiring Internet (ATHFE LOGIN NODE) + +If you encounter another package that insists on network access: + +```bash +spack install -j 2 --verbose --fail-fast --show-log-on-error --no-check-signature |& tee log.install. ; bell +``` + +Again, this must be done on an **athfe** login node because of the CPU architecture. + +Once built, return to the compute node and resume the full installation. + +--- + +## Update Module Files (ATHFE LOGIN NODE) + +After installation completes, on an **athfe** login node run: + +```bash +spack module tcl refresh -y --delete-tree ; bell +spack stack setup-meta-modules +``` + +Apparently, spack modulefile generation might use code that spack built for `x86_64_v3`. + +--- + +## Deactivate the Environment + +```bash +spack env deactivate +``` + +--- + +## Debugging Package Builds + +```bash +spack clean +spack stage +spack build-env -- bash --norc --noprofile +``` + +This drops you into a clean build environment with the package’s full compiler/runtime environment loaded. + +--- + + diff --git a/configs/sites/tier1/nas-toss5/config.yaml b/configs/sites/tier1/nas-toss5/config.yaml new file mode 100644 index 000000000..714b3c10e --- /dev/null +++ b/configs/sites/tier1/nas-toss5/config.yaml @@ -0,0 +1,9 @@ +config: + build_jobs: 6 + + # Overrides for spack build and staging areas to speed up builds + # and avoid errors with Lustre file locking and xattr issues + build_stage: /swbuild/gmao_SIteam/spack-stack/cache/build_stage + test_stage: /swbuild/gmao_SIteam/spack-stack/cache/test_stage + source_cache: /swbuild/gmao_SIteam/spack-stack/cache/source_cache + misc_cache: /swbuild/gmao_SIteam/spack-stack/cache/misc_cache diff --git a/configs/sites/tier1/nas-toss5/mirrors.yaml b/configs/sites/tier1/nas-toss5/mirrors.yaml new file mode 100644 index 000000000..e8a4097c3 --- /dev/null +++ b/configs/sites/tier1/nas-toss5/mirrors.yaml @@ -0,0 +1,8 @@ +mirrors: + local-source: + url: file:///swbuild/gmao_SIteam/spack-stack/source-cache + binary: false + local-binary: + url: file:///swbuild/gmao_SIteam/spack-stack/build-cache + binary: true + diff --git a/configs/sites/tier1/nas-toss5/modules.yaml b/configs/sites/tier1/nas-toss5/modules.yaml new file mode 100644 index 000000000..aeb254c2e --- /dev/null +++ b/configs/sites/tier1/nas-toss5/modules.yaml @@ -0,0 +1,8 @@ +modules: + default: + enable:: + - tcl + tcl: + include: + # List of packages for which we need modules that are blacklisted by default + - python diff --git a/configs/sites/tier1/nas-toss5/packages.yaml b/configs/sites/tier1/nas-toss5/packages.yaml new file mode 100644 index 000000000..dc9c5b556 --- /dev/null +++ b/configs/sites/tier1/nas-toss5/packages.yaml @@ -0,0 +1,120 @@ +packages: + all: + target: [x86_64_v3] +### Modification of common packages + # Problems building shared hdf-eos2 with Intel, not needed + hdf-eos2: + variants: ~shared + met: + variants: +python +grib2 +graphics +lidar2nc +modis + zlib-api: + buildable: False +### All other external packages listed alphabetically + automake: + externals: + - spec: automake@1.16.2 + prefix: /usr + bash: + externals: + - spec: bash@5.1.8 + prefix: /usr + binutils: + externals: + - spec: binutils@2.35.2~gold~headers + prefix: /usr + bison: + externals: + - spec: bison@3.7.4 + prefix: /usr + cmake: + externals: + - spec: cmake@4.2.0 + prefix: /nobackup/gmao_SIteam/cmake/cmake-4.2.0-TOSS5 + coreutils: + externals: + - spec: coreutils@8.32 + prefix: /usr + diffutils: + externals: + - spec: diffutils@3.7 + prefix: /usr + findutils: + externals: + - spec: findutils@4.8.0 + prefix: /usr + flex: + externals: + - spec: flex@2.6.4+lex + prefix: /usr + gawk: + externals: + - spec: gawk@5.1.0 + prefix: /usr + gh: + externals: + - spec: gh@2.83.1 + prefix: /nobackup/gmao_SIteam/gh/2.83.1 + git: + buildable: False + externals: + - spec: git@2.52.0~tcltk + prefix: /nobackup/gmao_SIteam/git/git-2.52.0-TOSS5 + git-lfs: + buildable: False + externals: + - spec: git-lfs@3.7.1 + prefix: /nobackup/gmao_SIteam/git-lfs/3.7.1 + gmake: + externals: + - spec: gmake@4.333 + prefix: /usr + grep: + externals: + - spec: grep@3.6 + prefix: /usr + groff: + externals: + - spec: groff@1.22.4 + prefix: /usr + libtool: + externals: + - spec: libtool@2.4.6 + prefix: /usr + m4: + externals: + - spec: m4@1.4.19 + prefix: /usr + perl: + externals: + - spec: perl@5.32.1~cpanm+opcode+open+shared+threads + prefix: /usr + pkgconf: + externals: + - spec: pkgconf@1.7.3 + prefix: /usr + qt: + buildable: False + externals: + - spec: qt@5.15.18 + prefix: /nobackup/gmao_SIteam/qt5/5.15.18-TOSS5 + sed: + externals: + - spec: sed@4.8 + prefix: /usr + subversion: + externals: + - spec: subversion@1.14.1 + prefix: /usr + tar: + externals: + - spec: tar@1.34 + prefix: /usr + wget: + externals: + - spec: wget@1.21.1 + prefix: /usr + zlib: + buildable: False + externals: + - spec: zlib@1.2.11 + prefix: /usr diff --git a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml new file mode 100644 index 000000000..db1f0e571 --- /dev/null +++ b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml @@ -0,0 +1,53 @@ +packages: + cray-mpich: + buildable: false + require: + - "cray-mpich@8.1.33" + gcc: + buildable: false + externals: + - spec: gcc@14.2.1 languages:='c,c++,fortran' + prefix: /opt/rh/gcc-toolset-14/root/usr + modules: + - cray-libpals/1.7.1 + - cray-pals/1.7.1 + - craype-x86-turin + - libfabric/12.0 + - craype-network-ofi + - cray-dsmml/0.3.1 + - PrgEnv-gnu/8.6.0 + - gcc-native/14 + - + extra_attributes: + compilers: + c: /opt/rh/gcc-toolset-14/root/usr/bin/gcc + cxx: /opt/rh/gcc-toolset-14/root/usr/bin/g++ + fortran: /opt/rh/gcc-toolset-14/root/usr/bin/gfortran + cray-mpich: + buildable: false + externals: + - spec: cray-mpich@8.1.33%gcc@=14.2.1 + prefix: /opt/cray/pe/mpich/8.1.33/ofi/gnu/11.2 + modules: + - cray-libpals/1.7.1 + - cray-pals/1.7.1 + - craype-x86-turin + - libfabric/12.0 + - craype-network-ofi + - cray-dsmml/0.3.1 + - cray-mpich/8.1.33 + - mpi/mpich-gfortran + environment: + set: + MPICH_CC: gcc + MPICH_CXX: g++ + MPICH_FC: gfortran + CC: gcc + CXX: g++ + FC: gfortran + + intel-oneapi-mkl: + buildable: false + externals: + - spec: intel-oneapi-mkl@2024.2.0%gcc@14.2.1 + prefix: /nasa/intel-test/oneapi diff --git a/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml b/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml new file mode 100644 index 000000000..aca3faf7d --- /dev/null +++ b/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml @@ -0,0 +1,61 @@ +packages: + mpi: + buildable: false + require: + - "cray-mpich@8.1.33" + intel-oneapi-compilers: + externals: + - spec: intel-oneapi-compilers@2024.2.0 + prefix: /nasa/intel/oneapi-test + modules: + - cray-libpals/1.7.1 + - cray-pals/1.7.1 + - craype-x86-turin + - libfabric/12.0 + - craype-network-ofi + - cray-dsmml/0.3.1 + - PrgEnv-intel/8.6.0 + - comp-intel/2024.2.0 + extra_attributes: + compilers: + c: /nasa/intel/oneapi-test/compiler/2024.2/bin/icx + cxx: /nasa/intel/oneapi-test/compiler/2024.2/bin/icpx + fortran: /nasa/intel/oneapi-test/compiler/2024.2/bin/ifort + environment: + prepend_path: + PATH: /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/bin + CPATH: /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/include + LD_LIBRARY_PATH: '/nasa/intel/oneapi-test/compiler/2024.2/lib/:/nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/lib64' + extra_rpaths: + - /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/lib64 + - /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/lib + gcc: + externals: + - spec: gcc@12.5.0 languages:='c,c++' + prefix: /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5 + modules: + - comp-gcc/12.5.0-TOSS5 + extra_attributes: + compilers: + c: /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/bin/gcc + cxx: /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/bin/g++ + fortran: /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/bin/gfortran + cray-mpich: + buildable: false + externals: + - spec: cray-mpich@8.1.33%oneapi@=2024.2.0 + prefix: /opt/cray/pe/mpich/8.1.33/ofi/intel/2022.1 + modules: + - cray-libpals/1.7.1 + - cray-pals/1.7.1 + - craype-x86-turin + - libfabric/12.0 + - craype-network-ofi + - cray-dsmml/0.3.1 + - cray-mpich/8.1.33 + + intel-oneapi-mkl: + buildable: false + externals: + - spec: intel-oneapi-mkl@2024.2.0%oneapi@2024.2.0 + prefix: /nasa/intel-test/oneapi From 6f6f4564494329d205d2cea7272d615674f35a58 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 12 Feb 2026 10:24:10 -0800 Subject: [PATCH 07/24] Fix for concretize oddity --- .../sites/tier1/nas/packages_oneapi-2024.2.0.yaml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml b/configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml index a3ffa6371..c714eacec 100644 --- a/configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml +++ b/configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml @@ -1,9 +1,16 @@ packages: + all: + require: + - any_of: ['%intel-oneapi-compilers@=2024.2.0'] + when: '%intel-oneapi-compilers' + - any_of: ['%gcc@=12.3.0'] + when: '%gcc' mpi: buildable: false require: - "mpt@2.30" intel-oneapi-compilers: + buildable: false externals: - spec: intel-oneapi-compilers@2024.2.0 prefix: /nobackup/gmao_SIteam/intel/oneapi @@ -23,6 +30,7 @@ packages: - /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/lib64 - /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/lib gcc: + buildable: false externals: - spec: gcc@12.3.0 languages:='c,c++' prefix: /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4 @@ -36,12 +44,12 @@ packages: mpt: buildable: false externals: - - spec: mpt@2.30%oneapi@=2024.2.0 + - spec: mpt@2.30 prefix: /nasa/hpe/mpt/2.30_rhel810 modules: - mpi-hpe/mpt.2.30 intel-oneapi-mkl: buildable: false externals: - - spec: intel-oneapi-mkl@2024.2.0%oneapi@2024.2.0 + - spec: intel-oneapi-mkl@2024.2.0 prefix: /nobackup/gmao_SIteam/intel/oneapi From decf0d4e7c73304ecbee5293a68c70afe5dab5b0 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 12 Feb 2026 13:29:49 -0500 Subject: [PATCH 08/24] Clean up packages.yamls --- .../sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml | 11 +++++++---- .../tier1/nas-toss5/packages_oneapi-2024.2.0.yaml | 11 +++++++++-- configs/sites/tier1/nas/packages_gcc-13.2.0.yaml | 5 +++++ configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml | 4 +++- configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml | 8 ++++++++ 5 files changed, 32 insertions(+), 7 deletions(-) diff --git a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml index db1f0e571..b4cfe0ca4 100644 --- a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml +++ b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml @@ -1,5 +1,9 @@ packages: - cray-mpich: + all: + require: + - any_of: ['%gcc@=14.2.1'] + when: '%gcc' + mpi: buildable: false require: - "cray-mpich@8.1.33" @@ -17,7 +21,6 @@ packages: - cray-dsmml/0.3.1 - PrgEnv-gnu/8.6.0 - gcc-native/14 - - extra_attributes: compilers: c: /opt/rh/gcc-toolset-14/root/usr/bin/gcc @@ -26,7 +29,7 @@ packages: cray-mpich: buildable: false externals: - - spec: cray-mpich@8.1.33%gcc@=14.2.1 + - spec: cray-mpich@8.1.33 prefix: /opt/cray/pe/mpich/8.1.33/ofi/gnu/11.2 modules: - cray-libpals/1.7.1 @@ -49,5 +52,5 @@ packages: intel-oneapi-mkl: buildable: false externals: - - spec: intel-oneapi-mkl@2024.2.0%gcc@14.2.1 + - spec: intel-oneapi-mkl@2024.2 prefix: /nasa/intel-test/oneapi diff --git a/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml b/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml index aca3faf7d..f97f94ba2 100644 --- a/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml +++ b/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml @@ -1,4 +1,10 @@ packages: + all: + require: + - any_of: ['%intel-oneapi-compilers@=2024.2.0'] + when: '%intel-oneapi-compilers' + - any_of: ['%gcc@=12.5.0'] + when: '%gcc' mpi: buildable: false require: @@ -30,6 +36,7 @@ packages: - /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/lib64 - /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5/lib gcc: + buildable: false externals: - spec: gcc@12.5.0 languages:='c,c++' prefix: /nobackup/gmao_SIteam/gcc/gcc-12.5.0-TOSS5 @@ -43,7 +50,7 @@ packages: cray-mpich: buildable: false externals: - - spec: cray-mpich@8.1.33%oneapi@=2024.2.0 + - spec: cray-mpich@8.1.33 prefix: /opt/cray/pe/mpich/8.1.33/ofi/intel/2022.1 modules: - cray-libpals/1.7.1 @@ -57,5 +64,5 @@ packages: intel-oneapi-mkl: buildable: false externals: - - spec: intel-oneapi-mkl@2024.2.0%oneapi@2024.2.0 + - spec: intel-oneapi-mkl@2024.2 prefix: /nasa/intel-test/oneapi diff --git a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml index 083c2039a..82940eace 100644 --- a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml +++ b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml @@ -1,4 +1,8 @@ packages: + all: + require: + - any_of: ['%gcc@=13.2.0'] + when: '%gcc' mpi: buildable: false require: @@ -16,6 +20,7 @@ packages: cxx: /nobackup/gmao_SIteam/gcc/gcc-13.2.0/bin/g++ fortran: /nobackup/gmao_SIteam/gcc/gcc-13.2.0/bin/gfortran openmpi: + buildable: false externals: - spec: openmpi@4.1.8 ~cuda~cxx~cxx_exceptions~java~memchecker+pmi~static~wrapper-rpath+lustre fabrics=ucx schedulers=tm %gcc@13.2.0 prefix: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0 diff --git a/configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml b/configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml index c714eacec..9746c2af2 100644 --- a/configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml +++ b/configs/sites/tier1/nas/packages_oneapi-2024.2.0.yaml @@ -51,5 +51,7 @@ packages: intel-oneapi-mkl: buildable: false externals: - - spec: intel-oneapi-mkl@2024.2.0 + - spec: intel-oneapi-mkl@2024.2 prefix: /nobackup/gmao_SIteam/intel/oneapi + modules: + - math-mkl/2024.2 diff --git a/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml b/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml index 76b15b71e..f6e0e34f3 100644 --- a/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml +++ b/configs/sites/tier1/nas/packages_oneapi-2025.3.0.yaml @@ -1,9 +1,16 @@ packages: + all: + require: + - any_of: ['%intel-oneapi-compilers@=2025.3.0'] + when: '%intel-oneapi-compilers' + - any_of: ['%gcc@=12.3.0'] + when: '%gcc' mpi: buildable: false require: - intel-oneapi-mpi@2021.17 intel-oneapi-compilers: + buildable: false externals: - spec: intel-oneapi-compilers@2025.3.0 prefix: /nobackup/gmao_SIteam/intel/oneapi @@ -23,6 +30,7 @@ packages: - /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/lib64 - /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4/lib gcc: + buildable: false externals: - spec: gcc@12.3.0 languages:='c,c++' prefix: /nobackup/gmao_SIteam/gcc/gcc-12.3.0-TOSS4 From 00bbb6b01045bbcc513811d9f7976fb029cbc250 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 12 Feb 2026 13:32:22 -0500 Subject: [PATCH 09/24] Fix fms --- configs/common/packages.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/common/packages.yaml b/configs/common/packages.yaml index 9d686fa00..f6bdc6f22 100644 --- a/configs/common/packages.yaml +++ b/configs/common/packages.yaml @@ -156,7 +156,6 @@ packages: fms: require: - '@2025.03' - - '@2024.02' - precision=32,64 - +quad_precision - +openmp From bcbc12a57c07fd37e771cd5f2404014357749a93 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 13 Feb 2026 15:13:10 -0800 Subject: [PATCH 10/24] Fix for Toss5 --- configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml | 2 +- configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml index b4cfe0ca4..4ee1452fd 100644 --- a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml +++ b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml @@ -53,4 +53,4 @@ packages: buildable: false externals: - spec: intel-oneapi-mkl@2024.2 - prefix: /nasa/intel-test/oneapi + prefix: /nasa/intel/oneapi-test diff --git a/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml b/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml index f97f94ba2..7b53a10d5 100644 --- a/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml +++ b/configs/sites/tier1/nas-toss5/packages_oneapi-2024.2.0.yaml @@ -65,4 +65,4 @@ packages: buildable: false externals: - spec: intel-oneapi-mkl@2024.2 - prefix: /nasa/intel-test/oneapi + prefix: /nasa/intel/oneapi-test From 1e8ab3c6576f443c439f0da2634b648ad598fdb4 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 13 Feb 2026 15:14:19 -0800 Subject: [PATCH 11/24] Update readme --- configs/sites/tier1/nas-toss5/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/sites/tier1/nas-toss5/README.md b/configs/sites/tier1/nas-toss5/README.md index c5296a4a8..72582f6b2 100644 --- a/configs/sites/tier1/nas-toss5/README.md +++ b/configs/sites/tier1/nas-toss5/README.md @@ -111,8 +111,8 @@ cd envs/ue-oneapi-2024.2.0 ### GCC Environment ```bash -spack stack create env --name ue-gcc-13.2.0 --template unified-dev --site nas-toss5 --compiler=gcc-13.2.0 -cd envs/ue-gcc-13.2.0 +spack stack create env --name ue-gcc-14.2.1 --template unified-dev --site nas-toss5 --compiler=gcc-14.2.1 +cd envs/ue-gcc-14.2.1 ``` --- From a6e4e75b2832948166bc4303d2e8f27e091a8d50 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 13 Feb 2026 15:19:53 -0800 Subject: [PATCH 12/24] Fix for gnu --- .../tier1/nas-toss5/packages_gcc-14.2.1.yaml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml index 4ee1452fd..d9993b955 100644 --- a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml +++ b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml @@ -40,14 +40,15 @@ packages: - cray-dsmml/0.3.1 - cray-mpich/8.1.33 - mpi/mpich-gfortran - environment: - set: - MPICH_CC: gcc - MPICH_CXX: g++ - MPICH_FC: gfortran - CC: gcc - CXX: g++ - FC: gfortran + extra_attributes: + environment: + set: + MPICH_CC: gcc + MPICH_CXX: g++ + MPICH_FC: gfortran + CC: gcc + CXX: g++ + FC: gfortran intel-oneapi-mkl: buildable: false From 0c7883e25933d3669c2e0a6b424a59685a75507e Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 13 Feb 2026 15:22:36 -0800 Subject: [PATCH 13/24] Fix gnu --- .../sites/tier1/nas/packages_gcc-13.2.0.yaml | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml index 82940eace..0b78bba10 100644 --- a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml +++ b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml @@ -26,24 +26,25 @@ packages: prefix: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0 modules: - mpi-openmpi/4.1.8/gcc/13.2.0 - environment: - set: - OPAL_PREFIX: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0 - UCX_MAX_EAGER_LANES: 1 - UCX_MAX_RNDV_LANES: 1 - OMPI_MCA_pml: ucx - OMPI_MCA_btl: ^openib - OMPI_MCA_oob_tcp_listen_mode: listen_thread - OMPI_MCA_oob_tcp_if_include: ib0,ib1 - OMPI_MCA_btl_tcp_if_include: ib0,ib1 - OMPI_MCA_opal_warn_on_missing_libcuda: 0 - UCX_IB_SUBNET_PREFIX: fec0:0000:0000:0008 - OMPI_MCA_shmem_mmap_enable_nfs_warning: 0 - OPENMPI: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0 - prepend_path: - PATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/bin - LIBRARY_PATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/lib - LD_LIBRARY_PATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/lib - CPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/include - FPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/include - MANPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/share/man + extra_attributes: + environment: + set: + OPAL_PREFIX: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0 + UCX_MAX_EAGER_LANES: 1 + UCX_MAX_RNDV_LANES: 1 + OMPI_MCA_pml: ucx + OMPI_MCA_btl: ^openib + OMPI_MCA_oob_tcp_listen_mode: listen_thread + OMPI_MCA_oob_tcp_if_include: ib0,ib1 + OMPI_MCA_btl_tcp_if_include: ib0,ib1 + OMPI_MCA_opal_warn_on_missing_libcuda: 0 + UCX_IB_SUBNET_PREFIX: fec0:0000:0000:0008 + OMPI_MCA_shmem_mmap_enable_nfs_warning: 0 + OPENMPI: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0 + prepend_path: + PATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/bin + LIBRARY_PATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/lib + LD_LIBRARY_PATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/lib + CPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/include + FPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/include + MANPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/share/man From 24bf8aa2dcae2a34ef9add3b3015f93fcce980fb Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 13 Feb 2026 15:30:28 -0800 Subject: [PATCH 14/24] Fix for openmpi --- configs/sites/tier1/nas/packages_gcc-13.2.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml index 0b78bba10..d461ab2fa 100644 --- a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml +++ b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml @@ -22,7 +22,7 @@ packages: openmpi: buildable: false externals: - - spec: openmpi@4.1.8 ~cuda~cxx~cxx_exceptions~java~memchecker+pmi~static~wrapper-rpath+lustre fabrics=ucx schedulers=tm %gcc@13.2.0 + - spec: openmpi@4.1.8 ~cuda~cxx~cxx_exceptions~java~memchecker+pmi~static~wrapper-rpath+lustre~internal-hwloc+two_level_namespace fabrics=ucx schedulers=tm %gcc@13.2.0 prefix: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0 modules: - mpi-openmpi/4.1.8/gcc/13.2.0 From f27d54b74cf1a32cf6a5f975c06de590d06989aa Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Fri, 13 Feb 2026 19:06:33 -0500 Subject: [PATCH 15/24] Update to spack-packages@37965a7fc583e94c50cb0748199cf2d9b346be2d --- repos/builtin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/builtin b/repos/builtin index 64cccad58..37965a7fc 160000 --- a/repos/builtin +++ b/repos/builtin @@ -1 +1 @@ -Subproject commit 64cccad58b7806c458e8d86d7fb9d864c025e82a +Subproject commit 37965a7fc583e94c50cb0748199cf2d9b346be2d From e5f3bab78650009b41ccaabff5fadbd113df95b7 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Tue, 17 Feb 2026 08:40:17 -0800 Subject: [PATCH 16/24] Move to CMake 3 for ecflow issue --- configs/sites/tier1/nas-toss5/packages.yaml | 4 ++-- configs/sites/tier1/nas/packages.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/sites/tier1/nas-toss5/packages.yaml b/configs/sites/tier1/nas-toss5/packages.yaml index dc9c5b556..f0ad64588 100644 --- a/configs/sites/tier1/nas-toss5/packages.yaml +++ b/configs/sites/tier1/nas-toss5/packages.yaml @@ -28,8 +28,8 @@ packages: prefix: /usr cmake: externals: - - spec: cmake@4.2.0 - prefix: /nobackup/gmao_SIteam/cmake/cmake-4.2.0-TOSS5 + - spec: cmake@3.31.11 + prefix: /nobackup/gmao_SIteam/cmake/cmake-3.31.11-TOSS5 coreutils: externals: - spec: coreutils@8.32 diff --git a/configs/sites/tier1/nas/packages.yaml b/configs/sites/tier1/nas/packages.yaml index 5180864fa..fe53f7030 100644 --- a/configs/sites/tier1/nas/packages.yaml +++ b/configs/sites/tier1/nas/packages.yaml @@ -28,8 +28,8 @@ packages: prefix: /usr cmake: externals: - - spec: cmake@4.0.2 - prefix: /nobackup/gmao_SIteam/cmake/cmake-4.0.2 + - spec: cmake@3.31.11 + prefix: /nobackup/gmao_SIteam/cmake/cmake-3.31.11 coreutils: externals: - spec: coreutils@8.30 From 5079134955c216ac6b2e29feea999637b10f2b15 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Tue, 17 Feb 2026 08:40:34 -0800 Subject: [PATCH 17/24] Build p4est with -lm on gnu --- configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml | 5 +++++ configs/sites/tier1/nas/packages_gcc-13.2.0.yaml | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml index d9993b955..c67a29de2 100644 --- a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml +++ b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml @@ -55,3 +55,8 @@ packages: externals: - spec: intel-oneapi-mkl@2024.2 prefix: /nasa/intel/oneapi-test + + # Testing shows we now need to pass in -lm for GCC + p4est: + require: + - 'ldflags="-lm"' diff --git a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml index d461ab2fa..f381f13c0 100644 --- a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml +++ b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml @@ -48,3 +48,9 @@ packages: CPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/include FPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/include MANPATH: /nobackup/gmao_SIteam/MPI/openmpi/4.1.8/gcc-13.2.0/share/man + + # Testing shows we now need to pass in -lm for GCC + p4est: + require: + - 'ldflags="-lm"' +>>>>>>> 6bc7cb6 (Build p4est with -lm on gnu) From 0b5854371bd535ad2a7a87b594f5b729fc8b7776 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Tue, 17 Feb 2026 08:44:16 -0800 Subject: [PATCH 18/24] Fix bad commit --- configs/sites/tier1/nas/packages_gcc-13.2.0.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml index f381f13c0..f2d3fb4b7 100644 --- a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml +++ b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml @@ -53,4 +53,3 @@ packages: p4est: require: - 'ldflags="-lm"' ->>>>>>> 6bc7cb6 (Build p4est with -lm on gnu) From 9a7319b15c31efc9e086a207754da961f43e756f Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Tue, 17 Feb 2026 11:19:46 -0800 Subject: [PATCH 19/24] Updates for GCC 14 with hdf-eos2 --- configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml index c67a29de2..16882a201 100644 --- a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml +++ b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml @@ -60,3 +60,7 @@ packages: p4est: require: - 'ldflags="-lm"' + + hdf-eos2: + require: + - 'cflags="-Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types"' From 05da1fe641cf9f40e32ac476c2c7d2e6b3e126d2 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Wed, 18 Feb 2026 05:12:40 -0800 Subject: [PATCH 20/24] More GNU fixes --- .../sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml | 12 ++++++++++++ configs/sites/tier1/nas/packages_gcc-13.2.0.yaml | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml index 16882a201..dcc6cab67 100644 --- a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml +++ b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml @@ -64,3 +64,15 @@ packages: hdf-eos2: require: - 'cflags="-Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types"' + + py-pyhdf: + require: + - 'cflags="-Wno-error=incompatible-pointer-types -Wno-error=discarded-qualifiers"' + + py-h5py: + require: + - 'cflags="-Wno-error=incompatible-pointer-types -Wno-error=discarded-qualifiers"' + + gsibec: + require: + - 'fflags="-ffree-line-length-none"' diff --git a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml index f2d3fb4b7..a02e8ab94 100644 --- a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml +++ b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml @@ -53,3 +53,7 @@ packages: p4est: require: - 'ldflags="-lm"' + + gsibec: + require: + - 'fflags="-ffree-line-length-none"' From f1ba211f5c5aa164c7770409097057fd22359f8a Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Wed, 18 Feb 2026 14:51:30 -0500 Subject: [PATCH 21/24] Update readmes --- configs/sites/tier1/nas-toss5/README.md | 130 ++++++++++------------- configs/sites/tier1/nas/README.md | 135 ++++++++++-------------- 2 files changed, 112 insertions(+), 153 deletions(-) diff --git a/configs/sites/tier1/nas-toss5/README.md b/configs/sites/tier1/nas-toss5/README.md index 72582f6b2..208d88ced 100644 --- a/configs/sites/tier1/nas-toss5/README.md +++ b/configs/sites/tier1/nas-toss5/README.md @@ -1,6 +1,6 @@ # How to Build **spack-stack** at NAS on TOSS5 -This guide documents how to build **spack-stack** on NASA NAS TOSS5 systems, where login nodes have internet access but are CPU-restricted, while compute nodes allow parallel builds but have *no* internet access. Several packages (Rust/Cargo, ecFlow, CRTM) require special handling due to these constraints. +This guide documents how to build **spack-stack** on NASA NAS TOSS5 systems. The previous install process used three stages across compute and login nodes, but recent testing shows installation can now be done directly on a compute node. --- @@ -12,36 +12,36 @@ This guide documents how to build **spack-stack** on NASA NAS TOSS5 systems, whe - [Obtain an Interactive Compute Node](#obtain-an-interactive-compute-node) - [Setup spack-stack](#setup-spack-stack) - [Create Environments](#create-environments) - - [oneAPI Environment](#oneapi-environment) + - [oneAPI - ifx Environment](#oneapi---ifx-environment) + - [oneAPI - ifort Environment](#oneapi---ifort-environment) - [GCC Environment](#gcc-environment) - [Activate the Environment](#activate-the-environment) - [Concretize the Environment](#concretize-the-environment) - [Create Source Cache (LOGIN NODE ONLY)](#create-source-cache-login-node-only) - [Pre-Fetch Cargo Dependencies (LOGIN NODE ONLY)](#pre-fetch-cargo-dependencies-login-node-only) -- [Install Packages](#install-packages) - - [Step 1 — Dependencies of Rust codes and ecFlow (COMPUTE NODE)](#step-1--dependencies-of-rust-codes-and-ecflow-compute-node) - - [Step 2 — Rust codes and ecFlow (ATHFE LOGIN NODE)](#step-2--rust-codes-and-ecflow-athfe-login-node) - - [Step 3 — Remaining Packages (COMPUTE NODE)](#step-3--remaining-packages-compute-node) - - [Packages Requiring Internet](#packages-requiring-internet) +- [Install Packages (COMPUTE NODE)](#install-packages-compute-node) - [Update Module Files](#update-module-files) - [Deactivate the Environment](#deactivate-the-environment) - [Debugging Package Builds](#debugging-package-builds) +- [Deprecated: Legacy Three-Step Install](#deprecated-legacy-three-step-install) --- ## Overview -Due to NAS system architecture and network restrictions: +NAS login nodes and compute nodes have different constraints: -- **Login nodes**: - - Have internet - - Limited to **2 processes** +- **Login nodes**: + - Have internet access + - Limited to **2 processes** -- **Compute nodes** (Turnin): - - No internet - - Allow parallel builds +- **Compute nodes** (Turin): + - No internet access + - Allow parallel builds -Some packages (Cargo/Rust, ecFlow, CRTM) require internet or newer CPU features, so the install is broken into multiple steps across different node types. +Use login nodes for setup steps that require internet access (e.g., concretization, mirroring sources, pre-fetching Cargo dependencies), then run installation on a compute node. + +The install step itself is now a single compute-node command. --- @@ -49,11 +49,11 @@ Some packages (Cargo/Rust, ecFlow, CRTM) require internet or newer CPU features, You will need: -- **An `athfe` login node** - Supports x86_64_v3 binaries → required for building Rust packages and ecFlow. +- **A login node** + Used for setup steps that require internet access. -- **A Turnin compute node** - Used for the main installation with multiple cores. +- **A Turin compute node** + Used for package installation with higher parallelism. --- @@ -75,7 +75,7 @@ NAS login nodes allow only **2 processes**, so use: qsub -I -V -X -l select=1:ncpus=128:mpiprocs=128:model=tur_ath -l walltime=12:00:00 -W group_list=s1873 -m b -N Interactive ``` -This gives a Turin** compute node for up to 12 hours. +This gives a **Turin** compute node for up to 12 hours. --- @@ -151,7 +151,7 @@ This downloads all source tarballs for your environment: spack mirror create -a -d /swbuild/gmao_SIteam/spack-stack/source-cache ``` -> ⚠️ **Do not run this outside an activated environment.** +> ⚠️ **Do not run this outside an activated environment.** > Otherwise Spack will attempt to mirror **every** known package/version. --- @@ -165,80 +165,34 @@ export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache ../../util/fetch_cargo_deps.py ``` -> ⚠️ **You must also set `CARGO_HOME` on compute nodes** before building. - ---- - -## Install Packages - -Installation requires three stages: - -| Step | Node Type | Why | -|------|-----------|-----| -| Step 1 | Compute | Build dependencies in parallel, avoids CPU limits | -| Step 2 | `athfe` login | Needed for x86_64_v3 Python and internet access | -| Step 3 | Compute | Finish main installation at high parallelism | +> ⚠️ **Set `CARGO_HOME` on compute nodes** before running `spack install`. --- -### Step 1 — Dependencies of Rust codes and ecFlow (COMPUTE NODE) - -```bash -export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature \ - --only dependencies py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.deps-for-rust-and-ecflow ; bell -``` - ---- +## Install Packages (COMPUTE NODE) -### Step 2 — Rust codes and ecFlow (ATHFE LOGIN NODE) +Run installation on a **compute node**: ```bash export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 2 -p 1 --verbose --fail-fast --show-log-on-error --no-check-signature \ - py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.rust-and-ecflow ; bell +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install ; bell ``` -NAS limits login nodes to 2 processes, hence `-j 2`. - ---- - -### Step 3 — Remaining Packages (COMPUTE NODE) - -```bash -export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install.after-cargo ; bell -``` +This replaces the former compute → login → compute install sequence. > **Note:** You may need to re-run this command multiple times. Some builds fail intermittently but succeed on retry. --- -### Packages Requiring Internet (ATHFE LOGIN NODE) - -If you encounter another package that insists on network access: - -```bash -spack install -j 2 --verbose --fail-fast --show-log-on-error --no-check-signature |& tee log.install. ; bell -``` - -Again, this must be done on an **athfe** login node because of the CPU architecture. - -Once built, return to the compute node and resume the full installation. - ---- - -## Update Module Files (ATHFE LOGIN NODE) +## Update Module Files -After installation completes, on an **athfe** login node run: +After installation completes, run: ```bash spack module tcl refresh -y --delete-tree ; bell spack stack setup-meta-modules ``` -Apparently, spack modulefile generation might use code that spack built for `x86_64_v3`. - --- ## Deactivate the Environment @@ -261,4 +215,32 @@ This drops you into a clean build environment with the package’s full compiler --- +## Deprecated: Legacy Three-Step Install + +> ⚠️ **Deprecated:** Keep this only as historical reference. Prefer the single compute-node install above. + +Older workflows used three stages: + +1. Compute node: build dependencies for Rust-related Python packages and ecFlow. +2. `athfe` login node: build `py-cryptography`, `py-maturin`, `py-rpds-py`, and `ecflow` with `-j 2`. +3. Compute node: run full `spack install` to finish remaining packages. + +Typical commands were: +```bash +# Step 1 (compute node) +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature \ + --only dependencies py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.deps-for-rust-and-ecflow ; bell + +# Step 2 (athfe login node) +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 2 -p 1 --verbose --fail-fast --show-log-on-error --no-check-signature \ + py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.rust-and-ecflow ; bell + +# Step 3 (compute node) +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install.after-cargo ; bell +``` + +--- diff --git a/configs/sites/tier1/nas/README.md b/configs/sites/tier1/nas/README.md index 26fddc0f8..fb6fdf2b2 100644 --- a/configs/sites/tier1/nas/README.md +++ b/configs/sites/tier1/nas/README.md @@ -1,6 +1,6 @@ # How to Build **spack-stack** at NAS -This guide documents how to build **spack-stack** on NASA NAS systems, where login nodes have internet access but are CPU-restricted, while compute nodes allow parallel builds but have *no* internet access. Several packages (Rust/Cargo, ecFlow, CRTM) require special handling due to these constraints. +This guide documents how to build **spack-stack** on NASA NAS systems. The previous install process used three stages across compute and login nodes, but recent testing shows installation can now be done directly on a compute node. --- @@ -12,37 +12,36 @@ This guide documents how to build **spack-stack** on NASA NAS systems, where log - [Obtain an Interactive Compute Node](#obtain-an-interactive-compute-node) - [Setup spack-stack](#setup-spack-stack) - [Create Environments](#create-environments) - - [oneAPI Environment](#oneapi-environment) + - [oneAPI - ifx Environment](#oneapi---ifx-environment) + - [oneAPI - ifort Environment](#oneapi---ifort-environment) - [GCC Environment](#gcc-environment) - [Activate the Environment](#activate-the-environment) - [Concretize the Environment](#concretize-the-environment) - [Create Source Cache (LOGIN NODE ONLY)](#create-source-cache-login-node-only) - [Pre-Fetch Cargo Dependencies (LOGIN NODE ONLY)](#pre-fetch-cargo-dependencies-login-node-only) -- [Install Packages](#install-packages) - - [Step 1 — Dependencies of Rust codes and ecFlow (COMPUTE NODE)](#step-1--dependencies-of-rust-codes-and-ecflow-compute-node) - - [Step 2 — Rust codes and ecFlow (AFE LOGIN NODE)](#step-2--rust-codes-and-ecflow-afe-login-node) - - [Step 3 — Remaining Packages (COMPUTE NODE)](#step-3--remaining-packages-compute-node) - - [Packages Requiring Internet](#packages-requiring-internet) +- [Install Packages (COMPUTE NODE)](#install-packages-compute-node) - [Update Module Files](#update-module-files) - [Deactivate the Environment](#deactivate-the-environment) - [Debugging Package Builds](#debugging-package-builds) +- [Deprecated: Legacy Three-Step Install](#deprecated-legacy-three-step-install) --- ## Overview -Due to NAS system architecture and network restrictions: +NAS login nodes and compute nodes have different constraints: -- **Login nodes**: - - Have internet - - Limited to **2 processes** - - `pfe` nodes use **Sandy Bridge** (too old for x86_64_v3 builds) +- **Login nodes**: + - Have internet access + - Limited to **2 processes** -- **Compute nodes** (Milan / Rome): - - No internet - - Allow parallel builds +- **Compute nodes** (Milan / Rome): + - No internet access + - Allow parallel builds -Some packages (Cargo/Rust, ecFlow, CRTM) require internet or newer CPU features, so the install is broken into multiple steps across different node types. +Use login nodes for setup steps that require internet access (e.g., concretization, mirroring sources, pre-fetching Cargo dependencies), then run installation on a compute node. + +The install step itself is now a single compute-node command. --- @@ -50,11 +49,11 @@ Some packages (Cargo/Rust, ecFlow, CRTM) require internet or newer CPU features, You will need: -- **An `afe01` login node** - Supports x86_64_v3 binaries → required for building Rust packages and ecFlow. +- **A login node** + Used for setup steps that require internet access. -- **A Rome or Milan compute node** - Used for the main installation with multiple cores. +- **A Rome or Milan compute node** + Used for package installation with higher parallelism. --- @@ -76,7 +75,7 @@ NAS login nodes allow only **2 processes**, so use: qsub -I -V -X -l select=1:ncpus=128:mpiprocs=128:model=mil_ait -l walltime=12:00:00 -W group_list=s1873 -m b -N Interactive ``` -This gives a **Milan** compute node for up to 12 hours. +This gives a **Milan** compute node for up to 12 hours. For a **Rome** node, change `model=mil_ait` to `model=rom_ait` and run the `qsub` command on a Rome-capable login node (e.g., `pfe25`). @@ -154,7 +153,7 @@ This downloads all source tarballs for your environment: spack mirror create -a -d /swbuild/gmao_SIteam/spack-stack/source-cache ``` -> ⚠️ **Do not run this outside an activated environment.** +> ⚠️ **Do not run this outside an activated environment.** > Otherwise Spack will attempt to mirror **every** known package/version. --- @@ -168,84 +167,34 @@ export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache ../../util/fetch_cargo_deps.py ``` -> ⚠️ **You must also set `CARGO_HOME` on compute nodes** before building. +> ⚠️ **Set `CARGO_HOME` on compute nodes** before running `spack install`. --- -## Install Packages - -Installation requires three stages: +## Install Packages (COMPUTE NODE) -| Step | Node Type | Why | -|------|-----------|-----| -| Step 1 | Compute | Build dependencies in parallel, avoids CPU limits | -| Step 2 | `afe` login | Needed for x86_64_v3 Python and internet access | -| Step 3 | Compute | Finish main installation at high parallelism | - ---- - -### Step 1 — Dependencies of Rust codes and ecFlow (COMPUTE NODE) +Run installation on a **compute node**: ```bash export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature \ - --only dependencies py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.deps-for-rust-and-ecflow ; bell +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install ; bell ``` ---- - -### Step 2 — Rust codes and ecFlow (AFE LOGIN NODE) - -`pfe` nodes use Sandy Bridge CPUs, which **cannot run** spack-stack’s x86_64_v3 Python interpreter → results in `Illegal instruction`. - -So this must be done on **afe**: - -```bash -export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 2 -p 1 --verbose --fail-fast --show-log-on-error --no-check-signature \ - py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.rust-and-ecflow ; bell -``` - -NAS limits login nodes to 2 processes, hence `-j 2`. - ---- - -### Step 3 — Remaining Packages (COMPUTE NODE) - -```bash -export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache -spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install.after-cargo ; bell -``` +This replaces the former compute → login → compute install sequence. > **Note:** You may need to re-run this command multiple times. Some builds fail intermittently but succeed on retry. --- -### Packages Requiring Internet (AFE LOGIN NODE) - -If you encounter another package that insists on network access: - -```bash -spack install -j 2 --verbose --fail-fast --show-log-on-error --no-check-signature |& tee log.install. ; bell -``` - -Again, this must be done on an **afe** login node because of the CPU architecture. - -Once built, return to the compute node and resume the full installation. - ---- - -## Update Module Files (AFE LOGIN NODE) +## Update Module Files -After installation completes, on an **afe** login node run: +After installation completes, run: ```bash spack module tcl refresh -y --delete-tree ; bell spack stack setup-meta-modules ``` -Apparently, spack modulefile generation might use code that spack built for `x86_64_v3`. - --- ## Deactivate the Environment @@ -268,4 +217,32 @@ This drops you into a clean build environment with the package’s full compiler --- +## Deprecated: Legacy Three-Step Install + +> ⚠️ **Deprecated:** Keep this only as historical reference. Prefer the single compute-node install above. + +Older workflows used three stages: + +1. Compute node: build dependencies for Rust-related Python packages and ecFlow. +2. `afe` login node: build `py-cryptography`, `py-maturin`, `py-rpds-py`, and `ecflow` with `-j 2`. +3. Compute node: run full `spack install` to finish remaining packages. + +Typical commands were: +```bash +# Step 1 (compute node) +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature \ + --only dependencies py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.deps-for-rust-and-ecflow ; bell + +# Step 2 (afe login node) +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 2 -p 1 --verbose --fail-fast --show-log-on-error --no-check-signature \ + py-cryptography py-maturin py-rpds-py ecflow 2>&1 | tee log.install.rust-and-ecflow ; bell + +# Step 3 (compute node) +export CARGO_HOME=/swbuild/gmao_SIteam/spack-stack/cargo-cache +spack install -j 16 --verbose --fail-fast --show-log-on-error --no-check-signature 2>&1 | tee log.install.after-cargo ; bell +``` + +--- From 2f910c58ae7cae72af694df38370e2c6f4188eeb Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 19 Feb 2026 07:47:53 -0500 Subject: [PATCH 22/24] Update repos/builtin hash --- repos/builtin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/builtin b/repos/builtin index 01a4b52f3..37965a7fc 160000 --- a/repos/builtin +++ b/repos/builtin @@ -1 +1 @@ -Subproject commit 01a4b52f38444cce9f7a3991252e7e0aaace6c13 +Subproject commit 37965a7fc583e94c50cb0748199cf2d9b346be2d From c4f2c3aea62c84f083ee65a7913abadc14e9dce3 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 19 Feb 2026 08:07:15 -0500 Subject: [PATCH 23/24] Update to gsibec@1.4.2 --- configs/common/packages.yaml | 2 +- configs/containers/specs/jedi-ci.yaml | 2 +- .../tier1/acorn/packages_intel-19.1.3.304.yaml | 2 +- .../tier1/acorn/packages_oneapi-2024.2.1.yaml | 2 +- .../sites/tier1/aws-pcluster/packages_intel.yaml | 2 +- configs/sites/tier1/hera/packages_intel.yaml | 2 +- configs/sites/tier1/hera/packages_oneapi.yaml | 2 +- .../tier1/nas-toss5/packages_gcc-14.2.1.yaml | 16 ---------------- configs/sites/tier1/nas/packages_gcc-13.2.0.yaml | 4 ---- configs/sites/tier1/noaa-aws/packages_intel.yaml | 2 +- .../sites/tier1/noaa-aws/packages_oneapi.yaml | 2 +- .../sites/tier1/noaa-azure/packages_intel.yaml | 2 +- .../sites/tier1/noaa-azure/packages_oneapi.yaml | 2 +- .../sites/tier1/noaa-gcloud/packages_intel.yaml | 2 +- .../sites/tier1/noaa-gcloud/packages_oneapi.yaml | 2 +- .../tier1/wcoss2/packages_intel-19.1.3.304.yaml | 2 +- .../tier1/wcoss2/packages_oneapi-2024.2.1.yaml | 2 +- configs/sites/tier2/gaea-c5/packages_intel.yaml | 2 +- configs/sites/tier2/jet/packages_intel.yaml | 2 +- configs/sites/tier2/jet/packages_oneapi.yaml | 2 +- configs/sites/tier2/s4/packages_intel.yaml | 2 +- configs/sites/tier2/s4/packages_oneapi.yaml | 2 +- 22 files changed, 20 insertions(+), 40 deletions(-) diff --git a/configs/common/packages.yaml b/configs/common/packages.yaml index 8cfacee43..201956b09 100644 --- a/configs/common/packages.yaml +++ b/configs/common/packages.yaml @@ -198,7 +198,7 @@ packages: - '@1.4.0' gsibec: require: - - '@1.4.1' + - '@1.4.2' gsi-ncdiag: require: - '@1.1.2' diff --git a/configs/containers/specs/jedi-ci.yaml b/configs/containers/specs/jedi-ci.yaml index 7d60de33a..f5e876f1a 100644 --- a/configs/containers/specs/jedi-ci.yaml +++ b/configs/containers/specs/jedi-ci.yaml @@ -21,7 +21,7 @@ fms@2024.02, g2@3.5.1, g2tmpl@1.17.0, - gsibec@1.4.1, + gsibec@1.4.2, hdf@4.2.15, hdf5@1.14.5, ip@5.4.0, diff --git a/configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml b/configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml index 532801b7d..08c35eb50 100644 --- a/configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml +++ b/configs/sites/tier1/acorn/packages_intel-19.1.3.304.yaml @@ -91,7 +91,7 @@ packages: go: require: ['%gcc'] gsibec: - require: ['@1.4.1'] + require: ['@1.4.2'] harfbuzz: require: ['%gcc'] libffi: diff --git a/configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml b/configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml index cad248f69..bdecfafe5 100644 --- a/configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml +++ b/configs/sites/tier1/acorn/packages_oneapi-2024.2.1.yaml @@ -76,7 +76,7 @@ packages: glib: require: ['%gcc'] gsibec: - require: ['@1.4.1'] + require: ['@1.4.2'] libtiff: require: ['build_system=cmake'] nco: diff --git a/configs/sites/tier1/aws-pcluster/packages_intel.yaml b/configs/sites/tier1/aws-pcluster/packages_intel.yaml index 32c20c0ac..31c14bbc5 100644 --- a/configs/sites/tier1/aws-pcluster/packages_intel.yaml +++ b/configs/sites/tier1/aws-pcluster/packages_intel.yaml @@ -28,7 +28,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/hera/packages_intel.yaml b/configs/sites/tier1/hera/packages_intel.yaml index 9f92b617f..06035f33c 100644 --- a/configs/sites/tier1/hera/packages_intel.yaml +++ b/configs/sites/tier1/hera/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/hera/packages_oneapi.yaml b/configs/sites/tier1/hera/packages_oneapi.yaml index 4673a9d73..fa2a4812c 100644 --- a/configs/sites/tier1/hera/packages_oneapi.yaml +++ b/configs/sites/tier1/hera/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml index dcc6cab67..c67a29de2 100644 --- a/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml +++ b/configs/sites/tier1/nas-toss5/packages_gcc-14.2.1.yaml @@ -60,19 +60,3 @@ packages: p4est: require: - 'ldflags="-lm"' - - hdf-eos2: - require: - - 'cflags="-Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types"' - - py-pyhdf: - require: - - 'cflags="-Wno-error=incompatible-pointer-types -Wno-error=discarded-qualifiers"' - - py-h5py: - require: - - 'cflags="-Wno-error=incompatible-pointer-types -Wno-error=discarded-qualifiers"' - - gsibec: - require: - - 'fflags="-ffree-line-length-none"' diff --git a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml index a02e8ab94..f2d3fb4b7 100644 --- a/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml +++ b/configs/sites/tier1/nas/packages_gcc-13.2.0.yaml @@ -53,7 +53,3 @@ packages: p4est: require: - 'ldflags="-lm"' - - gsibec: - require: - - 'fflags="-ffree-line-length-none"' diff --git a/configs/sites/tier1/noaa-aws/packages_intel.yaml b/configs/sites/tier1/noaa-aws/packages_intel.yaml index 1ca78aca2..cace7469e 100644 --- a/configs/sites/tier1/noaa-aws/packages_intel.yaml +++ b/configs/sites/tier1/noaa-aws/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/noaa-aws/packages_oneapi.yaml b/configs/sites/tier1/noaa-aws/packages_oneapi.yaml index 5d079f9b6..a77da5d3c 100644 --- a/configs/sites/tier1/noaa-aws/packages_oneapi.yaml +++ b/configs/sites/tier1/noaa-aws/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/noaa-azure/packages_intel.yaml b/configs/sites/tier1/noaa-azure/packages_intel.yaml index 1ca78aca2..cace7469e 100644 --- a/configs/sites/tier1/noaa-azure/packages_intel.yaml +++ b/configs/sites/tier1/noaa-azure/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/noaa-azure/packages_oneapi.yaml b/configs/sites/tier1/noaa-azure/packages_oneapi.yaml index 5d079f9b6..a77da5d3c 100644 --- a/configs/sites/tier1/noaa-azure/packages_oneapi.yaml +++ b/configs/sites/tier1/noaa-azure/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/noaa-gcloud/packages_intel.yaml b/configs/sites/tier1/noaa-gcloud/packages_intel.yaml index 1ca78aca2..cace7469e 100644 --- a/configs/sites/tier1/noaa-gcloud/packages_intel.yaml +++ b/configs/sites/tier1/noaa-gcloud/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml b/configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml index 5d079f9b6..a77da5d3c 100644 --- a/configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml +++ b/configs/sites/tier1/noaa-gcloud/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml b/configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml index 94b6c7e5d..b4e126b83 100644 --- a/configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml +++ b/configs/sites/tier1/wcoss2/packages_intel-19.1.3.304.yaml @@ -88,7 +88,7 @@ packages: go: require: ['%gcc'] gsibec: - require: ['@1.4.1'] + require: ['@1.4.2'] harfbuzz: require: ['@2.9.1', '%gcc'] libffi: diff --git a/configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml b/configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml index 843949cca..e0f6d54f3 100644 --- a/configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml +++ b/configs/sites/tier1/wcoss2/packages_oneapi-2024.2.1.yaml @@ -90,7 +90,7 @@ packages: glib: require: ['%gcc'] gsibec: - require: ['@1.4.1'] + require: ['@1.4.2'] harfbuzz: require: - any_of: ['@:2.9 %gcc', '@11: %oneapi'] diff --git a/configs/sites/tier2/gaea-c5/packages_intel.yaml b/configs/sites/tier2/gaea-c5/packages_intel.yaml index f0e3e23f3..bc722db8a 100644 --- a/configs/sites/tier2/gaea-c5/packages_intel.yaml +++ b/configs/sites/tier2/gaea-c5/packages_intel.yaml @@ -30,7 +30,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier2/jet/packages_intel.yaml b/configs/sites/tier2/jet/packages_intel.yaml index 1aaabc716..a89d0e2fb 100644 --- a/configs/sites/tier2/jet/packages_intel.yaml +++ b/configs/sites/tier2/jet/packages_intel.yaml @@ -27,7 +27,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '^openblas' diff --git a/configs/sites/tier2/jet/packages_oneapi.yaml b/configs/sites/tier2/jet/packages_oneapi.yaml index 8563c0dc7..1c6fe748b 100644 --- a/configs/sites/tier2/jet/packages_oneapi.yaml +++ b/configs/sites/tier2/jet/packages_oneapi.yaml @@ -29,7 +29,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier2/s4/packages_intel.yaml b/configs/sites/tier2/s4/packages_intel.yaml index a27dec1a8..76cb3d1ce 100644 --- a/configs/sites/tier2/s4/packages_intel.yaml +++ b/configs/sites/tier2/s4/packages_intel.yaml @@ -34,7 +34,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '@1.26' diff --git a/configs/sites/tier2/s4/packages_oneapi.yaml b/configs/sites/tier2/s4/packages_oneapi.yaml index 82438d34e..cdc560b5f 100644 --- a/configs/sites/tier2/s4/packages_oneapi.yaml +++ b/configs/sites/tier2/s4/packages_oneapi.yaml @@ -34,7 +34,7 @@ packages: - '@1.2.0 ~mkl +fftw' gsibec: require:: - - '@1.4.1 ~mkl' + - '@1.4.2 ~mkl' py-numpy: require:: - '@1.26' From b69b42672579cada4ecaf6c91259fc4b8ed43cf3 Mon Sep 17 00:00:00 2001 From: Matthew Thompson Date: Thu, 19 Feb 2026 12:34:32 -0500 Subject: [PATCH 24/24] Update repos/builtin hash to 340a3da5d2 --- repos/builtin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/builtin b/repos/builtin index 37965a7fc..340a3da5d 160000 --- a/repos/builtin +++ b/repos/builtin @@ -1 +1 @@ -Subproject commit 37965a7fc583e94c50cb0748199cf2d9b346be2d +Subproject commit 340a3da5d2471874648e2cc7e623f8da420265db