From b5ccefedde691cf3427c49a3d0c24d8af3bf1a2a Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Wed, 1 Mar 2023 22:10:03 +0100 Subject: [PATCH 1/4] Update to mache 1.13.0 --- .pre-commit-config.yaml | 1 + conda/compass_env/spec-file.template | 2 +- conda/configure_compass_env.py | 2 +- conda/recipe/meta.yaml | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 49510c8663..e8f97fe226 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,6 +9,7 @@ repos: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml + exclude: conda # Can run individually with `pre-commit run isort --all-files` - repo: https://github.com/PyCQA/isort diff --git a/conda/compass_env/spec-file.template b/conda/compass_env/spec-file.template index 81c40742d3..4f7aa54781 100644 --- a/conda/compass_env/spec-file.template +++ b/conda/compass_env/spec-file.template @@ -16,7 +16,7 @@ jigsawpy=0.3.3 jupyter lxml {% if include_mache %} -mache=1.10.0 +mache=1.13.0 {% endif %} matplotlib-base metis diff --git a/conda/configure_compass_env.py b/conda/configure_compass_env.py index a9d86536dc..ffdd3d56c5 100755 --- a/conda/configure_compass_env.py +++ b/conda/configure_compass_env.py @@ -98,7 +98,7 @@ def main(): if local_mache: mache = '' else: - mache = '"mache=1.10.0"' + mache = '"mache=1.13.0"' setup_install_env(env_name, activate_base, args.use_local, logger, args.recreate, conda_base, mache) diff --git a/conda/recipe/meta.yaml b/conda/recipe/meta.yaml index 2d77664ab3..f03c48ee78 100644 --- a/conda/recipe/meta.yaml +++ b/conda/recipe/meta.yaml @@ -52,7 +52,7 @@ requirements: - jigsawpy 0.3.3 - jupyter - lxml - - mache 1.10.0 + - mache 1.13.0 - matplotlib-base - metis - mpas_tools 0.17.0 From 593c26f1007e11e0e729c029e6d7174a56530fc3 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Wed, 1 Mar 2023 22:10:41 +0100 Subject: [PATCH 2/4] Add cmake spec Constrain to CMake >=3.23.0 as required by Trilinos. --- conda/bootstrap.py | 4 ++++ conda/default.cfg | 2 ++ 2 files changed, 6 insertions(+) diff --git a/conda/bootstrap.py b/conda/bootstrap.py index 5656a6521e..b038866dfe 100755 --- a/conda/bootstrap.py +++ b/conda/bootstrap.py @@ -386,6 +386,7 @@ def build_spack_env(config, update_spack, machine, compiler, mpi, spack_env, spack_base, spack_template_path, env_vars, tmpdir, logger): albany = config.get('deploy', 'albany') + cmake = config.get('deploy', 'cmake') esmf = config.get('deploy', 'esmf') lapack = config.get('deploy', 'lapack') petsc = config.get('deploy', 'petsc') @@ -395,6 +396,9 @@ def build_spack_env(config, update_spack, machine, compiler, mpi, spack_env, specs = list() + if cmake != 'None': + specs.append(f'cmake@{cmake}') + e3sm_hdf5_netcdf = config.getboolean('deploy', 'use_e3sm_hdf5_netcdf') if not e3sm_hdf5_netcdf: hdf5 = config.get('deploy', 'hdf5') diff --git a/conda/default.cfg b/conda/default.cfg index a5cde0183a..b8cf19a440 100644 --- a/conda/default.cfg +++ b/conda/default.cfg @@ -21,6 +21,8 @@ mpi = nompi # the version of various packages to include if using spack albany = develop +# cmake newer than 3.23.0 needed for Trilinos +cmake = 3.23.0: esmf = 8.2.0 hdf5 = 1.12.1 lapack = 3.9.1 From 82b757b4047de84534277c5fc4cfb4a787cbe0f6 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Wed, 1 Mar 2023 23:29:08 +0100 Subject: [PATCH 3/4] Put spack specs in quotes to support version ranges --- conda/bootstrap.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/conda/bootstrap.py b/conda/bootstrap.py index b038866dfe..48f8f4201c 100755 --- a/conda/bootstrap.py +++ b/conda/bootstrap.py @@ -397,7 +397,7 @@ def build_spack_env(config, update_spack, machine, compiler, mpi, spack_env, specs = list() if cmake != 'None': - specs.append(f'cmake@{cmake}') + specs.append(f'cmake "@{cmake}"') e3sm_hdf5_netcdf = config.getboolean('deploy', 'use_e3sm_hdf5_netcdf') if not e3sm_hdf5_netcdf: @@ -406,27 +406,28 @@ def build_spack_env(config, update_spack, machine, compiler, mpi, spack_env, netcdf_fortran = config.get('deploy', 'netcdf_fortran') pnetcdf = config.get('deploy', 'pnetcdf') specs.extend([ - f'hdf5@{hdf5}+cxx+fortran+hl+mpi+shared', - f'netcdf-c@{netcdf_c}+mpi~parallel-netcdf', - f'netcdf-fortran@{netcdf_fortran}', - f'parallel-netcdf@{pnetcdf}+cxx+fortran']) + f'hdf5 "@{hdf5}+cxx+fortran+hl+mpi+shared"', + f'netcdf-c "@{netcdf_c}+mpi~parallel-netcdf"', + f'netcdf-fortran "@{netcdf_fortran}"', + f'parallel-netcdf "@{pnetcdf}+cxx+fortran"']) if esmf != 'None': - specs.append(f'esmf@{esmf}+mpi+netcdf~pio+pnetcdf') + specs.append(f'esmf "@{esmf}+mpi+netcdf~pio+pnetcdf"') if lapack != 'None': - specs.append(f'netlib-lapack@{lapack}') + specs.append(f'netlib-lapack "@{lapack}"') include_e3sm_lapack = False else: include_e3sm_lapack = True if petsc != 'None': - specs.append(f'petsc@{petsc}+mpi+batch') + specs.append(f'petsc "@{petsc}+mpi+batch"') if scorpio != 'None': specs.append( - f'scorpio@{scorpio}+pnetcdf~timing+internal-timing~tools+malloc') + f'scorpio ' + f'"@{scorpio}+pnetcdf~timing+internal-timing~tools+malloc"') if albany != 'None': - specs.append(f'albany@{albany}+mpas') + specs.append(f'albany "@{albany}+mpas"') yaml_template = f'{spack_template_path}/{machine}_{compiler}_{mpi}.yaml' if not os.path.exists(yaml_template): From 9e8b19618b04dd22d9c43856550e2169531a7497 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 2 Mar 2023 00:21:05 +0100 Subject: [PATCH 4/4] Update to 1.2.0-alpha.5 --- compass/version.py | 2 +- conda/recipe/meta.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compass/version.py b/compass/version.py index 84f88e39e7..cbbfb1a865 100644 --- a/compass/version.py +++ b/compass/version.py @@ -1 +1 @@ -__version__ = '1.2.0-alpha.4' +__version__ = '1.2.0-alpha.5' diff --git a/conda/recipe/meta.yaml b/conda/recipe/meta.yaml index f03c48ee78..554342e516 100644 --- a/conda/recipe/meta.yaml +++ b/conda/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "compass" %} -{% set version = "1.2.0alpha.4" %} +{% set version = "1.2.0alpha.5" %} {% set build = 0 %} {% if mpi == "nompi" %}