From 2860607327132026db4b301a1a596324e7235efb Mon Sep 17 00:00:00 2001 From: AlexanderRichert-NOAA Date: Tue, 14 Apr 2026 21:38:23 +0000 Subject: [PATCH 1/5] add gsi-ncdiag@1.1.3 (v2.0.0) --- configs/sites/tier1/acorn/deployments.yaml | 5 +++ .../envrepo/packages/gsi-ncdiag/package.py | 38 +++++++++++++++++++ .../gsi-ncdiag-1.1.3/envrepo/repo.yaml | 3 ++ configs/templates/gsi-ncdiag-1.1.3/spack.yaml | 13 +++++++ .../envrepo/packages/gsi_ncdiag/package.py | 38 +++++++++++++++++++ .../spack_repo/envrepo/repo.yaml | 3 ++ 6 files changed, 100 insertions(+) create mode 100644 configs/templates/gsi-ncdiag-1.1.3/envrepo/packages/gsi-ncdiag/package.py create mode 100644 configs/templates/gsi-ncdiag-1.1.3/envrepo/repo.yaml create mode 100644 configs/templates/gsi-ncdiag-1.1.3/spack.yaml create mode 100644 configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/packages/gsi_ncdiag/package.py create mode 100644 configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/repo.yaml diff --git a/configs/sites/tier1/acorn/deployments.yaml b/configs/sites/tier1/acorn/deployments.yaml index 30912cfb4..98bff7cae 100644 --- a/configs/sites/tier1/acorn/deployments.yaml +++ b/configs/sites/tier1/acorn/deployments.yaml @@ -44,6 +44,11 @@ deployments: walltime: 03:15:00 site: wcoss2 + - template: "gsi-ncdiag-1.1.3" + compilers: ["oneapi@2024.2.1", "intel@19.1.3.304"] + walltime: 00:05:00 + upstreams: [unified-dev] + batch_config: scheduler: pbspro account: NCEPLIBS-DEV diff --git a/configs/templates/gsi-ncdiag-1.1.3/envrepo/packages/gsi-ncdiag/package.py b/configs/templates/gsi-ncdiag-1.1.3/envrepo/packages/gsi-ncdiag/package.py new file mode 100644 index 000000000..59548e403 --- /dev/null +++ b/configs/templates/gsi-ncdiag-1.1.3/envrepo/packages/gsi-ncdiag/package.py @@ -0,0 +1,38 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.cmake import CMakePackage + +from spack.package import * + + +class GsiNcdiag(CMakePackage): + """GSI NetCDF Diagnostics Library and Utility Tools""" + + homepage = "https://github.com/NOAA-EMC/GSI-ncdiag" + url = "https://github.com/NOAA-EMC/GSI-ncdiag/archive/refs/tags/v1.1.1.tar.gz" + git = "https://github.com/NOAA-EMC/GSI-ncdiag" + + maintainers("ulmononian") + + version("1.1.3", tag="v1.1.3", commit="7a9a5c2d4795e2badfabd429bc04d921b4b34b0d") + version("1.1.2", sha256="085884106be1f8fd94a70292102e9351c0efdf1e619a233831fafcd9ed32cd99") + version("1.1.1", sha256="26fc10cf448dd62daa1385e38921d338778416342956c478337e6c6d1b20bf8c") + version("1.1.0", sha256="9195801301209d6f93890944d58ffee4e24a4e35502ab27560a8c440ee53df4c") + version("1.0.0", sha256="7251d6139c2bc1580db5f7f019e10a4c73d188ddd52ccf21ecc9e39d50a6af51") + + variant("serial", default=True, description="Enable Serial NetCDF diagnostics") + + depends_on("fortran", type="build") # generated + + depends_on("mpi") + depends_on("netcdf-fortran@4.5.2:") + + def cmake_args(self): + args = [self.define_from_variant("ENABLE_NCDIAG_SERIAL", "serial")] + + args.append(self.define("CMAKE_C_COMPILER", self.spec["mpi"].mpicc)) + args.append(self.define("CMAKE_Fortran_COMPILER", self.spec["mpi"].mpifc)) + + return args diff --git a/configs/templates/gsi-ncdiag-1.1.3/envrepo/repo.yaml b/configs/templates/gsi-ncdiag-1.1.3/envrepo/repo.yaml new file mode 100644 index 000000000..dd634d06c --- /dev/null +++ b/configs/templates/gsi-ncdiag-1.1.3/envrepo/repo.yaml @@ -0,0 +1,3 @@ +repo: + namespace: envrepo + api: v1.0 diff --git a/configs/templates/gsi-ncdiag-1.1.3/spack.yaml b/configs/templates/gsi-ncdiag-1.1.3/spack.yaml new file mode 100644 index 000000000..3ee53c988 --- /dev/null +++ b/configs/templates/gsi-ncdiag-1.1.3/spack.yaml @@ -0,0 +1,13 @@ +# For JCSDA/spack-stack issue #1938 +# +spack: + concretizer: + unify: when_possible + + view: false + include: [] + + specs: + - gsi-env ^crtm@3.1.2 # match unified-dev template + + repos: [$env/envrepo] diff --git a/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/packages/gsi_ncdiag/package.py b/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/packages/gsi_ncdiag/package.py new file mode 100644 index 000000000..59548e403 --- /dev/null +++ b/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/packages/gsi_ncdiag/package.py @@ -0,0 +1,38 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.cmake import CMakePackage + +from spack.package import * + + +class GsiNcdiag(CMakePackage): + """GSI NetCDF Diagnostics Library and Utility Tools""" + + homepage = "https://github.com/NOAA-EMC/GSI-ncdiag" + url = "https://github.com/NOAA-EMC/GSI-ncdiag/archive/refs/tags/v1.1.1.tar.gz" + git = "https://github.com/NOAA-EMC/GSI-ncdiag" + + maintainers("ulmononian") + + version("1.1.3", tag="v1.1.3", commit="7a9a5c2d4795e2badfabd429bc04d921b4b34b0d") + version("1.1.2", sha256="085884106be1f8fd94a70292102e9351c0efdf1e619a233831fafcd9ed32cd99") + version("1.1.1", sha256="26fc10cf448dd62daa1385e38921d338778416342956c478337e6c6d1b20bf8c") + version("1.1.0", sha256="9195801301209d6f93890944d58ffee4e24a4e35502ab27560a8c440ee53df4c") + version("1.0.0", sha256="7251d6139c2bc1580db5f7f019e10a4c73d188ddd52ccf21ecc9e39d50a6af51") + + variant("serial", default=True, description="Enable Serial NetCDF diagnostics") + + depends_on("fortran", type="build") # generated + + depends_on("mpi") + depends_on("netcdf-fortran@4.5.2:") + + def cmake_args(self): + args = [self.define_from_variant("ENABLE_NCDIAG_SERIAL", "serial")] + + args.append(self.define("CMAKE_C_COMPILER", self.spec["mpi"].mpicc)) + args.append(self.define("CMAKE_Fortran_COMPILER", self.spec["mpi"].mpifc)) + + return args diff --git a/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/repo.yaml b/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/repo.yaml new file mode 100644 index 000000000..92f51c33b --- /dev/null +++ b/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/repo.yaml @@ -0,0 +1,3 @@ +repo: + namespace: envrepo + api: v2.2 From 2832a5e09368d2a6ed9717af38dda9be0683ce45 Mon Sep 17 00:00:00 2001 From: AlexanderRichert-NOAA Date: Tue, 14 Apr 2026 21:44:37 +0000 Subject: [PATCH 2/5] remove redundant gsi-addon custom repo --- .../envrepo/packages/gsi_ncdiag/package.py | 38 ------------------- .../spack_repo/envrepo/repo.yaml | 3 -- 2 files changed, 41 deletions(-) delete mode 100644 configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/packages/gsi_ncdiag/package.py delete mode 100644 configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/repo.yaml diff --git a/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/packages/gsi_ncdiag/package.py b/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/packages/gsi_ncdiag/package.py deleted file mode 100644 index 59548e403..000000000 --- a/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/packages/gsi_ncdiag/package.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright Spack Project Developers. See COPYRIGHT file for details. -# -# SPDX-License-Identifier: (Apache-2.0 OR MIT) - -from spack_repo.builtin.build_systems.cmake import CMakePackage - -from spack.package import * - - -class GsiNcdiag(CMakePackage): - """GSI NetCDF Diagnostics Library and Utility Tools""" - - homepage = "https://github.com/NOAA-EMC/GSI-ncdiag" - url = "https://github.com/NOAA-EMC/GSI-ncdiag/archive/refs/tags/v1.1.1.tar.gz" - git = "https://github.com/NOAA-EMC/GSI-ncdiag" - - maintainers("ulmononian") - - version("1.1.3", tag="v1.1.3", commit="7a9a5c2d4795e2badfabd429bc04d921b4b34b0d") - version("1.1.2", sha256="085884106be1f8fd94a70292102e9351c0efdf1e619a233831fafcd9ed32cd99") - version("1.1.1", sha256="26fc10cf448dd62daa1385e38921d338778416342956c478337e6c6d1b20bf8c") - version("1.1.0", sha256="9195801301209d6f93890944d58ffee4e24a4e35502ab27560a8c440ee53df4c") - version("1.0.0", sha256="7251d6139c2bc1580db5f7f019e10a4c73d188ddd52ccf21ecc9e39d50a6af51") - - variant("serial", default=True, description="Enable Serial NetCDF diagnostics") - - depends_on("fortran", type="build") # generated - - depends_on("mpi") - depends_on("netcdf-fortran@4.5.2:") - - def cmake_args(self): - args = [self.define_from_variant("ENABLE_NCDIAG_SERIAL", "serial")] - - args.append(self.define("CMAKE_C_COMPILER", self.spec["mpi"].mpicc)) - args.append(self.define("CMAKE_Fortran_COMPILER", self.spec["mpi"].mpifc)) - - return args diff --git a/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/repo.yaml b/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/repo.yaml deleted file mode 100644 index 92f51c33b..000000000 --- a/configs/templates/gsi-ncdiag-1.1.3/spack_repo/envrepo/repo.yaml +++ /dev/null @@ -1,3 +0,0 @@ -repo: - namespace: envrepo - api: v2.2 From 2e795e4b10dd18957aa4639149f5610352da7a48 Mon Sep 17 00:00:00 2001 From: AlexanderRichert-NOAA Date: Tue, 14 Apr 2026 21:54:42 +0000 Subject: [PATCH 3/5] actually set pkg version for gsi-ncdiag addon template --- configs/templates/gsi-ncdiag-1.1.3/spack.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configs/templates/gsi-ncdiag-1.1.3/spack.yaml b/configs/templates/gsi-ncdiag-1.1.3/spack.yaml index 3ee53c988..62ee5c0ca 100644 --- a/configs/templates/gsi-ncdiag-1.1.3/spack.yaml +++ b/configs/templates/gsi-ncdiag-1.1.3/spack.yaml @@ -11,3 +11,8 @@ spack: - gsi-env ^crtm@3.1.2 # match unified-dev template repos: [$env/envrepo] + packages: + gsi-ncdiag:: + require: ['@1.1.3'] + sfcio: + buildable: false From 0d1492b720115b7aeb9861ff16bdb0099e28f9ee Mon Sep 17 00:00:00 2001 From: AlexanderRichert-NOAA Date: Tue, 14 Apr 2026 22:20:34 +0000 Subject: [PATCH 4/5] use 'packages:all:buildable' for gsi-ncdiag template --- configs/templates/gsi-ncdiag-1.1.3/spack.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/configs/templates/gsi-ncdiag-1.1.3/spack.yaml b/configs/templates/gsi-ncdiag-1.1.3/spack.yaml index 62ee5c0ca..ff754ae21 100644 --- a/configs/templates/gsi-ncdiag-1.1.3/spack.yaml +++ b/configs/templates/gsi-ncdiag-1.1.3/spack.yaml @@ -11,8 +11,12 @@ spack: - gsi-env ^crtm@3.1.2 # match unified-dev template repos: [$env/envrepo] + packages: + all: + buildable: false gsi-ncdiag:: require: ['@1.1.3'] - sfcio: - buildable: false + buildable: true + gsi-env: + buildable: true From 4c1d3bdfc4aeaef4b3908153f944e6425457e576 Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Tue, 14 Apr 2026 18:30:04 -0700 Subject: [PATCH 5/5] Clarify spack.yaml comments for gsi-ncdiag --- configs/templates/gsi-ncdiag-1.1.3/spack.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/templates/gsi-ncdiag-1.1.3/spack.yaml b/configs/templates/gsi-ncdiag-1.1.3/spack.yaml index ff754ae21..d37c0d061 100644 --- a/configs/templates/gsi-ncdiag-1.1.3/spack.yaml +++ b/configs/templates/gsi-ncdiag-1.1.3/spack.yaml @@ -1,4 +1,5 @@ -# For JCSDA/spack-stack issue #1938 +# Add-on environment to provide gsi-env with gsi-ncdiag@1.1.3 +# See https://github.com/JCSDA/spack-stack/issues/1938 # spack: concretizer: