From 2ba21a8e0e955c6668a1b6a6fbab44f91b9306e5 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 21 Nov 2023 15:00:43 -0700 Subject: [PATCH 1/6] Add mepo --- .../repos/builtin/packages/mepo/package.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 var/spack/repos/builtin/packages/mepo/package.py diff --git a/var/spack/repos/builtin/packages/mepo/package.py b/var/spack/repos/builtin/packages/mepo/package.py new file mode 100644 index 00000000000000..b6baf14c404ac8 --- /dev/null +++ b/var/spack/repos/builtin/packages/mepo/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Mepo(Package): + """Tool to manage (m)ultiple git r(epo)sitories""" + + homepage = "https://github.com/GEOS-ESM/mepo" + url = "https://github.com/GEOS-ESM/mepo/archive/refs/tags/v1.51.1.tar.gz" + + maintainers("mathomp4", "climbfuji") + + version("1.51.1", sha256="543c1e7487afb2d62e5e8c8a2f69a85af1b1951f588f3dfc7471763e90847360") + + depends_on("python", type="run") + depends_on("py-pyyaml@5.4:", type="run") + + def install(self, spec, prefix): + mkdirp(prefix.bin) + install_tree(".", prefix) + # Symlink mepo to bin directory + symlink(join_path(prefix, "mepo"), join_path(prefix.bin, "mepo")) From 58e01c26343887ff03da25d6e0196a230c853d5b Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 21 Nov 2023 20:47:05 -0700 Subject: [PATCH 2/6] Add geos-gcm-env --- .../packages/geos-gcm-env/package.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py diff --git a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py new file mode 100644 index 00000000000000..70f44f1c86607d --- /dev/null +++ b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py @@ -0,0 +1,26 @@ +# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class GeosGcmEnv(BundlePackage): + """Development environment for GEOS-GCM""" + + homepage = "https://gmao.gsfc.nasa.gov/GEOS_systems" + git = "https://github.com/GEOS-ESM/GEOSgcm" + + maintainers("climbfuji", "mathomp4", "danholdaway") + + # Current version + version("1.0.0") + + depends_on("base-env", type="run") + depends_on("mepo", type="run") + + depends_on("esmf", type="run") + depends_on("mapl+pflogger+f2py", type="run") + + # There is no need for install() since there is no code. From 6b7f86acc79c359eaabd17e23c0ac7773259dcd5 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 13 Dec 2023 22:12:31 -0500 Subject: [PATCH 3/6] Add missing dependency on blas to var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py --- .../repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py index 70f44f1c86607d..32d10772dc13ca 100644 --- a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py +++ b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py @@ -18,9 +18,9 @@ class GeosGcmEnv(BundlePackage): version("1.0.0") depends_on("base-env", type="run") + depends_on("blas", type="run") depends_on("mepo", type="run") - depends_on("esmf", type="run") - depends_on("mapl+pflogger+f2py", type="run") + depends_on("mapl", type="run") # There is no need for install() since there is no code. From bd791120b1237732a57e4363f579081c77310c07 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 19 Dec 2023 11:51:58 -0700 Subject: [PATCH 4/6] Add missing dependency py-numpy for geos-gcm-env --- .../repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py index 32d10772dc13ca..03f67df3a44e08 100644 --- a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py +++ b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py @@ -23,4 +23,6 @@ class GeosGcmEnv(BundlePackage): depends_on("esmf", type="run") depends_on("mapl", type="run") + depends_on("py-numpy", type="run") + # There is no need for install() since there is no code. From 798183eb78432139122e8ebcc1e08dc9dcc194d8 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 28 Dec 2023 16:16:14 -0700 Subject: [PATCH 5/6] Don't use spack mapl in geos-gcm-env, since it builds its own version. Add prerequisites for building mapl instead --- .../jcsda-emc-bundles/packages/geos-gcm-env/package.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py index 03f67df3a44e08..caaf01b2c90f52 100644 --- a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py +++ b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py @@ -21,8 +21,13 @@ class GeosGcmEnv(BundlePackage): depends_on("blas", type="run") depends_on("mepo", type="run") depends_on("esmf", type="run") - depends_on("mapl", type="run") - + # mapl is built as part of GEOS, don't load; + # needs external gftl-shared/fargparse/pflogger + #depends_on("mapl", type="run") + depends_on("gftl-shared", type="run") + depends_on("fargparse", type="run") + depends_on("pflogger", type="run") + # depends_on("py-numpy", type="run") # There is no need for install() since there is no code. From 9643f492690925752a9c532ee718291ae4818ab4 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 16 Jan 2024 19:58:11 -0700 Subject: [PATCH 6/6] Fix style errors in var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py --- .../repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py index caaf01b2c90f52..273596733ae14a 100644 --- a/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py +++ b/var/spack/repos/jcsda-emc-bundles/packages/geos-gcm-env/package.py @@ -23,7 +23,7 @@ class GeosGcmEnv(BundlePackage): depends_on("esmf", type="run") # mapl is built as part of GEOS, don't load; # needs external gftl-shared/fargparse/pflogger - #depends_on("mapl", type="run") + # depends_on("mapl", type="run") depends_on("gftl-shared", type="run") depends_on("fargparse", type="run") depends_on("pflogger", type="run")