Skip to content

Version 2.0.0

Latest

Choose a tag to compare

@climbfuji climbfuji released this 05 Jan 23:17
· 12 commits to release/2.0 since this release
7b253ba

We are pleased to announce the release of version 2.0.0 of spack-stack.

The spack-stack package is a collaborative effort between the NOAA Environmental Modeling Center (EMC), the UCAR Joint Center for Satellite Data Assimilation (JCSDA), the Earth Prediction Innovation Center (EPIC), the United States Naval Research Lab (NRL), and the NASA Global Modeling and Assimilation Office (GMAO). spack-stack is designed to support the various applications of the supporting agencies such as the Unified Forecast System (UFS), the Joint Effort for Data assimilation Integration (JEDI), the Navy Environmental Prediction sysTem Using a Nonhydrostatic Engine (NEPTUNE), and the NASA Goddard Earth Observing System (GEOS) model.

This major release of spack-stack updates the spack engine to version 1.0, which treats compilers like any other package, and which separates the spack packages from the spack engine.

This release is limited to a subset of the tier 1 platforms:

  • JCSDA: Discover SCU 17 (Intel oneAPI and GNU)
  • NASA: NAS (Intel oneAPI / HPE MPT and GNU / Open MPI)
  • NAVY: Atlantis ((Intel oneAPI, GNU, and LLVM), Blueback (Intel oneAPI and GNU), Narwhal (Intel oneAPI and GNU), Nautilus (Intel oneAPI and GNU)
  • NOAA: Derecho (Intel oneAPI / cray-mpich), Gaea-c6 (Intel oneAPI / cray-mpich), Hercules (GNU / openmpi), Ursa (Intel oneAPI / Intel MPI and Intel oneAPI / HPC-X MPI); Acorn (partial installations with Intel Classic and Intel oneAPI / cray-mpich)

Supported compilers for this release are Intel Mixed (icx, icpx, ifort) 2024.2.0-2024.2.1, Intel LLVM (icx, icpx, ifx) 2025.0.3 and 2025.3.0, GCC 12.2.0-13.4.0, LLVM 21.1.*. In addition, limited support is available from NOAA EMC for Intel Classic (icc, icpc, ifort) 19.1.3.304 on WCOSS2 and Acorn.

Spack containers are not supported in this release. Container support will return in a future release.

All documentation can now be found on the spack-stack wiki. The previous documentation on ReadTheDocs is frozen at release 1.9.3.

What's Changed

Major Updates

  • Update to spack version 1.0:
    • Compilers are now packages like any other package
    • Spack packages are now in their own repository
  • Updated directory structure:
    • Fork of spack-packages upstream repository in repos/builtin
    • Additional packages in repos/spack-stack
  • Update of common configuration, site specific configuration, environment templates, and meta-modules generation to support Spack version 1.0
  • All modules are now created in envs/<env-name>/modules instead of envs/<env-name>/install/modulefiles
  • Support dropped for spack-built containers
  • All documentation can now be found at https://github.com/jcsda/spack-stack/wiki

All Updates

What's Changed

  • Update NRL batch install script with capability to create & use bootstrap mirrors by @climbfuji in #1473
  • Avoid linking to libirc.so in spack (parallel-netcdf), turn off crypt variant for Python, and update Orion site config to fix tar issue by @climbfuji in #1435
  • Update ectrans from 1.2.0 to 1.5.0 in configs/common/packages.yaml by @climbfuji in #1474
  • Update spack stack setup-meta-modules to directly set compilers in MPI meta modules by @climbfuji in #1479
  • Update NRL batch install script, add configuration for Cole and Tusk by @climbfuji in #1489
  • Container image: specify gcc version for gnu toolchain. by @eap in #1496
  • Update NRL batch_install.sh: exclude crtm-fix from duplicate check list by @climbfuji in #1497
  • Update util/weekly_build/03_SetupEnv.sh: exclude crtm-fix from check for duplicates by @climbfuji in #1498
  • Add py-arch and py-regionmask to neptune-python-env by @climbfuji in #1500
  • Avoid full rust dependency in cylc environments by @climbfuji in #1519
  • In configs/common/packages.yaml, update to met@12 and metplus@6; add to neptune-python-env by @climbfuji in #1481
  • Add new tier1 platform Blueback, fix for multiple cray-libsci versions on Narwhal, other NRL site config updates by @climbfuji in #1527
  • Add netcdf-{c,fortran} to weekly testing by @AlexanderRichert-NOAA in #1533
  • Support multiple versions of same compiler vendor in site config (especially oneapi) by @climbfuji in #1541
  • Update setup.sh: add export SPACK_DISABLE_LOCAL_CONFIG=true by @climbfuji in #1545
  • Update Blueback packages.yaml: remove external flex by @climbfuji in #1553
  • Bump ip from 5.1.0 to 5.3.0 by @climbfuji in #1551
  • Require +python for esmf by @AlexanderRichert-NOAA in #1560
  • Update to weekly build scripts: avoid scrubbing of environments, update NRL site configs and GitHub actions by @climbfuji in #1568
  • Acorn updates, March 2025 by @AlexanderRichert-NOAA in #1571
  • Update spack submodule to latest by @AlexanderRichert-NOAA in #1573
  • Weekly builds: add option to skip source fetch by @AlexanderRichert-NOAA in #1575
  • Remove discover-scu16 configs by @ashley314 in #1576
  • Update utils/nrl/batch_install.sh by @climbfuji in #1583
  • Feature/update nvhpc config by @stiggy87 in #1580
  • Update meta_modules.py to detect MPI modules containing hashes by @rjdave in #1582
  • Update Atlantis site config and util/nrl/batch_install.sh: revert temporary changes for NFS move by @climbfuji in #1584
  • Update to cmake@3.29+, use gcc for cmake with intel/oneapi; update eccodes variants; add cloc and py-pytest by @climbfuji in #1589
  • Add NCEPLIBS testing to weekly builds by @AlexanderRichert-NOAA in #1591
  • Update p4est to 2.8.7 by @climbfuji in #1592
  • Fix wrong intel-oneapi-runtime version in Atlantis packages_oneapi.yaml, bump bacio from 2.4.1 to 2.6.0 in JEDI CI container specs by @climbfuji in #1593
  • Add esmf@8.9.0b05 and use in neptune-dev template by @climbfuji in #1599
  • Merge "Gaea updates for 1.9.1 release (#1586)" from release/1.9.0 to develop by @climbfuji in #1600
  • Update FIND command for Nautilus in util/weekly_build/sites/nautilus.sh by @climbfuji in #1602
  • Stack automation / testing enhancements / bug fixes by @rickgrubin-noaa in #1603
  • Update compiler / packages_oneapi configs and instructions for preconfigured sites | orion and hercules by @rickgrubin-noaa in #1606
  • Update NRL batch install script: add option to continue build/install in existing directories by @climbfuji in #1609
  • Update spack branch spack-stack-dev from spack develop hash a9c879d by @climbfuji in #1607
  • Ursa: update openmpi install hash, remove system tar external by @rickgrubin-noaa in #1614
  • show_duplicate_packages.py: use spack.lock instead of 'spack concretize' output by @AlexanderRichert-NOAA in #1601
  • Add scripts to download cargo dependencies and store in local cargo registry for offline installation by @climbfuji in #1618
  • Remove parallel-netcdf dependency except for jedi-mpas-env/unified-dev/skylab-dev by @climbfuji in #1621
  • Follow up PR to update of show_duplicate_packages.py by @climbfuji in #1626
  • Update Blueback compilers.yaml: add missing path to llvm-ar etc. by @climbfuji in #1622
  • Update JEDI CI container GitHub actions (intel -> oneapi, add gcc-11) by @climbfuji in #1625
  • Acorn updates; go fetcher by @AlexanderRichert-NOAA in #1623
  • Replace esmf@8.9.0b05 with esmf@8.9.0b08 by @climbfuji in #1632
  • Adding HDF5 weekly testing with AWS-Ubuntu2404 setup by @stiggy87 in #1633
  • Update container specs (jedi-ci.yaml): hdf5 1.14.3->1.14.5 by @climbfuji in #1636
  • Add multiple UFS WM tests to automated build / test by @rickgrubin-noaa in #1629
  • Update Nautilus site config: oneapi@2025.0.0 -> oneapi@2025.1.1 by @climbfuji in #1637
  • Update tier2 site blackpearl: oneapi@2024.1.2 --> oneapi@2025.1.0 by @climbfuji in #1640
  • Feature/esmf weekly test by @stiggy87 in #1638
  • Support for LLVM 20 with neptune-dev, update to ip@5.4.0, odc@1.6.1, esmf@8.9.0b09; unpin openblas by @climbfuji in #1644
  • Add jedi tools env skylab dev by @stiggy87 in #1647
  • Add util/check_libirc.sh to check for libirc.so used in spack-stack environments by @climbfuji in #1639
  • Update site configs and NRL batch install scripts for Bounty (LLVM), Atlantis (LLVM), Blueback by @climbfuji in #1664
  • Update develop from release/1.9.0 (except selected site configs and NCO changes) by @climbfuji in #1667
  • Add depends for geos-gcm-env by @mathomp4 in #1658
  • Update neptune-dev template: use esmf@8.9.0b11 by @climbfuji in #1671
  • Automation updates for NRL sites / GitHub actions by @climbfuji in #1670
  • NRL batch install: use module purge on Cray; fix Narwhal compiler config; add debug variant for neptune-env; esmf@8.9.0b11 with NEPTUNE by @climbfuji in #1673
  • Hercules / Orion / Ursa updates from release/1.9.0 by @rickgrubin-noaa in #1679
  • Update cylc-dev template to use py-cylc-flow@8.4.2, py-cylc-rose@1.5.1, py-cylc-uiserver@1.6.1 by @climbfuji in #1676
  • CRTM updates to crtm@3.1.2 and crtm@2.4.1-jedi.2 by @climbfuji in #1680
  • Add neptune-env to list of allowed duplicate packages (debug and non-debug builds) by @climbfuji in #1682
  • NCO/WCOSS2-related updates from release/1.9.0 to develop by @AlexanderRichert-NOAA in #1690
  • Add support for jean and wheat (tier 2); bug fix in setup-meta-modules extension; update doc/source/PreConfiguredSites.rst by @climbfuji in #1687
  • Cherry-pick config files from spack-stack@1.9.2 by @RatkoVasic-NOAA in #1696
  • Update esmf@8.9.0b11 to esmf@8.9.0b12 by @climbfuji in #1699
  • Updates to AWS-ubuntu by @eap in #1697
  • Update GitHub issue/pull request templates, update project charter and documentation (installers, sites) by @climbfuji in #1692
  • Update Atlantis and Nautilus: add gcc@13.4.0 stack by @climbfuji in #1707
  • Bug fixes for weekly builds on Atlantis and Nautilus in util/weekly_build/sites/ by @climbfuji in #1710
  • Bump w3emc to 2.11.0, fix bug on Blueback to use correct Fortran compiler with oneapi@2024.2 by @climbfuji in #1717
  • Move jet from tier1 to tier2 and update it by @guoqing-noaa in #1721
  • Add package py-maturin built with gcc for uwtools by @rickgrubin-noaa in #1712
  • Udd NAS as tier1 site by @mathomp4 in #1708
  • Ursa: add HPC-X as MPI provider by @rickgrubin-noaa in #1722
  • Add tier2 site config for Endeavor by @climbfuji in #1725
  • Update gaea-c6 config for new CPE PrgEnv-intel/8.6.0 and oneapi@2024.2.1 compilers by @rickgrubin-noaa in #1713
  • Update pull_request_template.md: checklist for documentation updates by @climbfuji in #1735
  • Update Derecho site config by @climbfuji in #1726
  • Acorn: use gettext%gcc by @AlexanderRichert-NOAA in #1737
  • Update GCC stack on Atlantis: use openmpi@4.1.8 compiled with gcc@13.4.0 by @climbfuji in #1738
  • Bug fix for Atlantis site config (packages_gcc.yaml) by @climbfuji in #1742
  • For clang and apple-clang, turn off OpenMP variant for package ip by @climbfuji in #1744
  • Add uwtools for global-workflow-env, build openssl in the stack by @rickgrubin-noaa in #1736
  • Remove dependency on py-xnrl from NEPTUNE environments by @climbfuji in #1753
  • Update spack-stack collaborators (add GMAO), create release task list issue template and CODEOWNERS file by @climbfuji in #1748
  • Add esmf@8.9.0 (contains #1748) by @climbfuji in #1751
  • Update tier2/aws-ubuntu2404 site config by @eap in #1757
  • Gaea-c6: fix errors in site-specific compilers.yaml and packages.yaml by @rickgrubin-noaa in #1764
  • Update release_tasklist.md: fix invalid syntax by @climbfuji in #1765
  • Update to spack version 1.0.1 by @climbfuji in #1741
  • Update Ursa site config for building spack-stack develop 2025/10/02 unified environments by @climbfuji in #1787
  • Final updates of develop from release 1.9.3 by @climbfuji in #1790
  • Update ursa packages.yaml to exclude system-provided tar by @rickgrubin-noaa in #1792
  • External zlib, external runtime libraries, MPI meta-modules updates, NRL site config updates round 2 of X by @climbfuji in #1782
  • Hot fix for feature/update_to_spack_v1: update invalid syntax in mpi.lua by @climbfuji in #1793
  • setup.sh: match host with FQDN (+update acorn pattern) by @AlexanderRichert-NOAA in #1794
  • Acorn spack-stack v2 updates by @AlexanderRichert-NOAA in #1791
  • Add missing dependency py-cfgrib to neptune-python-env by @climbfuji in #1796
  • Misc version updates by @AlexanderRichert-NOAA in #1800
  • fetch_cargo_deps.py: ensure CARGO_HOME is used by @AlexanderRichert-NOAA in #1804
  • Update NRL batch install script and NRL site configs; add flag to 'spack stack create env' to promote warnings to errors; updates from develop and release/1.9.0 branches by @climbfuji in #1798
  • New package adp-preprocessors (Navy only), use w3emc@2.10.0 with LLVM, bug fix for Intel oneAPI MPI in setup-meta-modules by @climbfuji in #1807
  • Shorten module paths for spack-generated modules and meta-modules by @climbfuji in #1813
  • Updates for spack v1 at NAS by @mathomp4 in #1810
  • esmf@8.9.1, bug fix netcdf-c+mpi, bug fix setup-meta-modules, Nautilus gcc stack update by @climbfuji in #1817
  • More Acorn+WCOSS2/NCO updates by @AlexanderRichert-NOAA in #1821
  • Update ECMWF libs ecbuild, eckit, fckit, atlas, fiat, ectrans by @fmahebert in #1814
  • Add esmf@8.9.1 by @climbfuji in #1824
  • Enable autocompletion for spack-stack extensions by @AlexanderRichert-NOAA in #1825
  • Add suffix -openmp to package modules with package variant +openmp; add variants ncview and openmp to neptune-env by @climbfuji in #1829
  • Bugfix for eckit/libzip, update nrl_batch_install.sh (-i fms), update common packages_clang.yaml (ip openmp), update navy-aws site config by @climbfuji in #1838
  • Update NAS README by @mathomp4 in #1841
  • Set UDUNITS2_XML_PATH in modules by @mathomp4 in #1843
  • Fix MET segmentation faults in spack-packages, navy-aws site config updates round 2 by @climbfuji in #1844
  • Update batch_install.sh - workaround for ParallelWorks by @climbfuji in #1849
  • EC2 ubuntu site config for 2.0 release. by @eap in #1851
  • Acorn/WCOSS2/NCO updates by @AlexanderRichert-NOAA in #1850
  • Move documentation from readthedocs to Wiki by @climbfuji in #1855
  • Updates for release/2.0 for ParallelWorks Navy by @climbfuji in #1852
  • Configuration updates for discover-scu17 by @ashley314 in #1854
  • Update NAS README for modulefile generation by @mathomp4 in #1861
  • Updates for EPIC hosts by @rickgrubin-noaa in #1856

New Contributors

Full Changelog: spack-stack-1.9.3...spack-stack-2.0.0rc3