News
Spack-stack provides a practical framework for setting up and managing software libraries that support the Unified Forecast System (UFS) and Joint Effort for Data assimilation Integration (JEDI) projects, along with several other Earth system prediction models, such as the Model for Prediction Across Scales (MPAS), the Navy Environmental Prediction System Utilizing a Nonhydrostatic Engine (NEPTUNE), the Unified Model (UM), and the Goddard Earth Observing System (GEOS)

Spack-stack

Author: Cameron Book
EPIC Team: Software Integration (SI) Product Owner

Spack-stack provides a practical framework for setting up and managing software libraries that support the Unified Forecast System (UFS) and Joint Effort for Data assimilation Integration (JEDI) projects, along with several other Earth system prediction models, such as the Model for Prediction Across Scales (MPAS), the Navy Environmental Prediction System Utilizing a Nonhydrostatic Engine (NEPTUNE), the Unified Model (UM), and the Goddard Earth Observing System (GEOS). This project results from collaboration among the Joint Center for Satellite Data Assimilation (JCSDA), the National Oceanic and Atmospheric Administration’s (NOAA’s) Environmental Modeling Center (EMC) and Earth Prediction Innovation Center (EPIC), and the U.S. Naval Research Laboratory (NRL). Spack-stack utilizes the Spack package manager, originally developed at Lawrence Livermore National Laboratory to cater to scientific high-performance computing (HPC) workflows.

spack-stack

This collaboration gave rise to the spack-stack Unified Environment, which seamlessly integrates various software used by UFS and JEDI applications. This system emphasizes ease of use, flexibility, and consistency across different software platforms. It is designed for straightforward deployment on NOAA machines and improves efficiency with quicker build times thanks to build caches and mirrors. It also ensures consistent setups across different platforms with its standardized procedures for library installations and updates. The Unified Environment allows users to activate all necessary libraries for running a UFS application with just one command and supports both Intel and GNU Message Passing Interface (MPI) versions on most Tier-1 machines.

Since replacing the HPC-Stack in August 2023, spack-stack has been embraced by various UFS applications, including the UFS Short-Range Weather (SRW) Application, the Land DA System (landDA_workflow), and more. NOAA National Centers for Environmental Prediction (NCEP) Central Operations (NCO) is also transitioning to spack-stack. These setups are now available on all UFS Tier-1 platforms, including the NOAA Cloud platforms. Details on where these installations can be found are listed in the spack-stack documentation.

The current spack-stack/1.7.0 release brought several enhancements, including new site configurations for Hera/Jet after the Rocky 8 transition, a switch from zlib to zlib-ng, and updated versions for packages like the Earth System Modeling Framework (ESMF) and Hierarchical Data Format (HDF5). The updates also fix several bugs, provide new OpenMPI versions, and introduce security measures to prevent internet access during installations, which is ideal for air-gapped systems.

Developers who are interested in using spack-stack for the UFS and its associated applications and containers will find detailed instructions in the spack-stack documentation. These instructions explain how to integrate these tools into their workflows, locate maintained installations, and set up new ones. Additional information on support for related issues is available through the spack-stack GitHub repository, which hosts a Discussions Q&A and an Issues page.