From 79f042b83d511ad962ebc6673431842a59993dbe Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 4 Apr 2024 12:24:22 -0500 Subject: [PATCH 1/7] Update to v1.4.0-alpha.1 --- compass/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compass/version.py b/compass/version.py index a79aa17a0a..4be30cbbc3 100644 --- a/compass/version.py +++ b/compass/version.py @@ -1 +1 @@ -__version__ = '1.3.0-alpha.3' +__version__ = '1.4.0-alpha.1' From b01ed151d2d5c7d651c6a5527e9c862c80e2728d Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 2 May 2024 19:36:37 -0500 Subject: [PATCH 2/7] Remove conda recipe, which is not being maintained --- conda/recipe/conda_build_config.yaml | 9 -- conda/recipe/meta.yaml | 124 --------------------------- 2 files changed, 133 deletions(-) delete mode 100644 conda/recipe/conda_build_config.yaml delete mode 100644 conda/recipe/meta.yaml diff --git a/conda/recipe/conda_build_config.yaml b/conda/recipe/conda_build_config.yaml deleted file mode 100644 index f7b722be62..0000000000 --- a/conda/recipe/conda_build_config.yaml +++ /dev/null @@ -1,9 +0,0 @@ -mpi: - - nompi - - openmpi - - mpich - -pin_run_as_build: - openmpi: x.x - mpich: x.x - diff --git a/conda/recipe/meta.yaml b/conda/recipe/meta.yaml deleted file mode 100644 index 6aa39ceb90..0000000000 --- a/conda/recipe/meta.yaml +++ /dev/null @@ -1,124 +0,0 @@ -{% set name = "compass" %} -{% set version = "1.3.0alpha.3" %} -{% set build = 0 %} - -{% if mpi == "nompi" %} -# prioritize nompi via build number -{% set build = build + 100 %} -{% endif %} - -package: - name: {{ name|lower }} - version: {{ version }} - -source: - path: ../.. - -build: - script: {{ PYTHON }} -m pip install . --no-deps -vv - number: {{ build }} - {% if mpi != "nompi" %} - {% set mpi_prefix = "mpi_" + mpi %} - {% else %} - {% set mpi_prefix = "nompi" %} - {% endif %} - # add build string so packages can depend on - # mpi or nompi variants - # dependencies: - # `PKG_NAME * mpi_mpich_*` for mpich - # `PKG_NAME * mpi_*` for any mpi - # `PKG_NAME * nompi_*` for no mpi - string: "{{ mpi_prefix }}_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ build }}" - entry_points: - - compass = compass.__main__:main - - create_compass_load_script = compass.load:main - -requirements: - host: - - python - - pip - - setuptools - run: - - python - - cartopy - - cartopy_offlinedata - - cmocean - - esmf * {{ mpi_prefix }}_* - - ffmpeg - - geometric_features 1.3.0 - - git - - gsw - - h5py - - ipython - - jigsaw 0.9.14 - - jigsawpy 0.3.3 - - jupyter - - lxml - - mache 1.22.0 - - matplotlib-base - - metis - - mpas_tools 0.33.0 - - nco - - netcdf4 * nompi_* - - numpy - - otps 2021.10 # [linux] - - progressbar2 - - pyamg >=4.2.2 - - pyproj - - pyremap >=1.0.1,<2.0.0 - - requests - - scipy >=1.8.0 - - shapely >=2.0,<3.0 - - xarray - -# tools for building MPAS components -{% if mpi != "nompi" %} - - c-compiler - - cmake - - cxx-compiler - - fortran-compiler - - hdf5 * {{ mpi_prefix }}_* - - libnetcdf * {{ mpi_prefix }}_* - - libpnetcdf 1.12.2 {{ mpi_prefix }}_* - - m4 - - make - - {{ mpi }} - - netcdf-fortran - - scorpio 1.3.2 {{ mpi_prefix }}_* -{% endif %} - -test: - requires: - - pip - imports: - - compass - commands: - - compass list - - compass list --machines - - compass list --suites - - compass list --help - - compass setup --help - - compass suite --help - - compass clean --help - - create_compass_load_script --help - - pip check - - -about: - home: https://github.com/MPAS-Dev/compass - license: BSD 3-Clause - license_family: BSD - license_file: LICENSE - summary: 'Test cases for the Model for Prediction Across Scales (MPAS)' - description: | - Configuration Of Model for Prediction Across Scales Setups (COMPASS) is an - automated system to set up test cases that match the MPAS-Model repository. - All namelists and streams files begin with the default generated from the - Registry.xml file, and only the changes relevant to the particular test - case are altered in those files. - doc_url: https://mpas-dev.github.io/compass/latest/ - dev_url: https://github.com/MPAS-Dev/compass - -extra: - recipe-maintainers: - - xylar From 35c8909d5d779b19b1001e0932f69ceb1d9d6947 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 2 May 2024 19:38:23 -0500 Subject: [PATCH 3/7] Remove scoprio conda recipe --- conda/scorpio/ci/linux_mpi_mpich.yaml | 32 --------- conda/scorpio/ci/linux_mpi_openmpi.yaml | 32 --------- conda/scorpio/ci/osx_mpi_mpich.yaml | 32 --------- conda/scorpio/ci/osx_mpi_openmpi.yaml | 32 --------- conda/scorpio/recipe/COPYRIGHT | 16 ----- conda/scorpio/recipe/build.sh | 31 -------- conda/scorpio/recipe/conda_build_config.yaml | 3 - conda/scorpio/recipe/meta.yaml | 74 -------------------- 8 files changed, 252 deletions(-) delete mode 100644 conda/scorpio/ci/linux_mpi_mpich.yaml delete mode 100644 conda/scorpio/ci/linux_mpi_openmpi.yaml delete mode 100644 conda/scorpio/ci/osx_mpi_mpich.yaml delete mode 100644 conda/scorpio/ci/osx_mpi_openmpi.yaml delete mode 100644 conda/scorpio/recipe/COPYRIGHT delete mode 100644 conda/scorpio/recipe/build.sh delete mode 100644 conda/scorpio/recipe/conda_build_config.yaml delete mode 100644 conda/scorpio/recipe/meta.yaml diff --git a/conda/scorpio/ci/linux_mpi_mpich.yaml b/conda/scorpio/ci/linux_mpi_mpich.yaml deleted file mode 100644 index aed074045b..0000000000 --- a/conda/scorpio/ci/linux_mpi_mpich.yaml +++ /dev/null @@ -1,32 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '11' -channel_sources: -- conda-forge,e3sm -channel_targets: -- e3sm main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -fortran_compiler: -- gfortran -fortran_compiler_version: -- '11' -libnetcdf: -- 4.8.1 -libpnetcdf: -- 1.12.3 -mpi: -- mpich -mpich: -- '4' -netcdf_fortran: -- '4.6' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version - - fortran_compiler_version diff --git a/conda/scorpio/ci/linux_mpi_openmpi.yaml b/conda/scorpio/ci/linux_mpi_openmpi.yaml deleted file mode 100644 index a2c1cbc3f9..0000000000 --- a/conda/scorpio/ci/linux_mpi_openmpi.yaml +++ /dev/null @@ -1,32 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '11' -channel_sources: -- conda-forge,e3sm -channel_targets: -- e3sm main -cxx_compiler: -- gxx -cxx_compiler_version: -- '11' -fortran_compiler: -- gfortran -fortran_compiler_version: -- '11' -libnetcdf: -- 4.8.1 -libpnetcdf: -- 1.12.3 -mpi: -- openmpi -netcdf_fortran: -- '4.6' -openmpi: -- '4' -target_platform: -- linux-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version - - fortran_compiler_version diff --git a/conda/scorpio/ci/osx_mpi_mpich.yaml b/conda/scorpio/ci/osx_mpi_mpich.yaml deleted file mode 100644 index 62eb39c62f..0000000000 --- a/conda/scorpio/ci/osx_mpi_mpich.yaml +++ /dev/null @@ -1,32 +0,0 @@ -c_compiler: -- clang -c_compiler_version: -- '11' -channel_sources: -- conda-forge,defaults -channel_targets: -- e3sm main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -fortran_compiler: -- gfortran -fortran_compiler_version: -- '11' -libnetcdf: -- 4.8.1 -libpnetcdf: -- 1.12.3 -mpi: -- mpich -mpich: -- '4' -netcdf_fortran: -- '4.6' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version - - fortran_compiler_version diff --git a/conda/scorpio/ci/osx_mpi_openmpi.yaml b/conda/scorpio/ci/osx_mpi_openmpi.yaml deleted file mode 100644 index dbbc962c5a..0000000000 --- a/conda/scorpio/ci/osx_mpi_openmpi.yaml +++ /dev/null @@ -1,32 +0,0 @@ -c_compiler: -- clang -c_compiler_version: -- '11' -channel_sources: -- conda-forge,defaults -channel_targets: -- e3sm main -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -fortran_compiler: -- gfortran -fortran_compiler_version: -- '11' -libnetcdf: -- 4.8.1 -libpnetcdf: -- 1.12.3 -mpi: -- openmpi -netcdf_fortran: -- '4.6' -openmpi: -- '4' -target_platform: -- osx-64 -zip_keys: -- - c_compiler_version - - cxx_compiler_version - - fortran_compiler_version diff --git a/conda/scorpio/recipe/COPYRIGHT b/conda/scorpio/recipe/COPYRIGHT deleted file mode 100644 index 7bd8f7022b..0000000000 --- a/conda/scorpio/recipe/COPYRIGHT +++ /dev/null @@ -1,16 +0,0 @@ -/****************************************************************************** - * - * - * - * Copyright (C) 2009-2019 - * - * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software - * for any purpose. It is provided "as is" without express or implied warranty. - * See the GNU General Public License for more details. - * - * Documents produced by Doxygen are derivative works derived from the - * input used in their production; they are not affected by this license. - * - */ diff --git a/conda/scorpio/recipe/build.sh b/conda/scorpio/recipe/build.sh deleted file mode 100644 index b4cdda8351..0000000000 --- a/conda/scorpio/recipe/build.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -set -xe - -mkdir build -cd build - -echo CMAKE_ARGS: ${CMAKE_ARGS} - -FC=mpifort CC=mpicc CXX=mpicxx cmake \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=$PREFIX \ - -DBUILD_SHARED_LIBS:BOOL=ON \ - -DPIO_USE_MALLOC:BOOL=ON \ - -DPIO_ENABLE_TOOLS:BOOL=OFF \ - -DPIO_ENABLE_TESTS:BOOL=ON \ - -DPIO_ENABLE_EXAMPLES:BOOL=OFF \ - -DPIO_ENABLE_TIMING:BOOL=OFF \ - -DWITH_HDF5:BOOL=OFF \ - -DWITH_NETCDF:BOOL=ON \ - -DWITH_PNETCDF:BOOL=ON \ - -DNetCDF_C_PATH=$PREFIX \ - -DNetCDF_Fortran_PATH=$PREFIX \ - -DPnetCDF_PATH=$PREFIX \ - ${SRC_DIR} - -cmake --build . - -ctest --output-on-failure - -cmake --install . \ No newline at end of file diff --git a/conda/scorpio/recipe/conda_build_config.yaml b/conda/scorpio/recipe/conda_build_config.yaml deleted file mode 100644 index a211d05348..0000000000 --- a/conda/scorpio/recipe/conda_build_config.yaml +++ /dev/null @@ -1,3 +0,0 @@ -mpi: - - openmpi - - mpich diff --git a/conda/scorpio/recipe/meta.yaml b/conda/scorpio/recipe/meta.yaml deleted file mode 100644 index b18624f54f..0000000000 --- a/conda/scorpio/recipe/meta.yaml +++ /dev/null @@ -1,74 +0,0 @@ -{% set version = "1.4.1" %} -{% set build = 0 %} - -# recipe-lint fails if mpi is undefined -{% set mpi = mpi or 'mpich' %} -{% if mpi == "mpich" %} -# prioritize mpich via build number -{% set build = build + 100 %} -{% endif %} - -package: - name: scorpio - version: {{ version }} - -source: - url: https://github.com/E3SM-Project/scorpio/archive/refs/tags/scorpio-v{{ version }}.tar.gz - sha256: 7cb4589410080d7e547ef17ddabe68f749e6af019c1d0e6ee9f11554f3ff6b1a - -build: - number: {{ build }} - skip: True # [win] - {% set mpi_prefix = "mpi_" + mpi %} - # add build string so packages can depend on - # mpi variants - # dependencies: - # `PKG_NAME * mpi_mpich_*` for mpich - # `PKG_NAME * mpi_*` for any mpi - string: "{{ mpi_prefix }}_h{{ PKG_HASH }}_{{ build }}" - - # mpi builds require the right mpi - {% set build_pin = mpi_prefix + '_*' %} - - run_exports: - - {{ pin_subpackage('scorpio', max_pin='x.x.x.x') }} {{ build_pin }} - -requirements: - build: - - cmake - - {{ compiler('c') }} - - {{ compiler('cxx') }} - - {{ compiler('fortran') }} - - gnuconfig - - make - host: - - {{ mpi }} - # these need to be listed twice so conda build picks up the pins - - libnetcdf - - libnetcdf * {{ mpi_prefix }}_* - - netcdf-fortran - - netcdf-fortran * {{ mpi_prefix }}_* - - libpnetcdf - - libpnetcdf * {{ mpi_prefix }}_* - -test: - commands: - - test ! -f ${PREFIX}/lib/libpioc.a - - test ! -f ${PREFIX}/lib/libpiof.a - - test -f ${PREFIX}/lib/libpioc${SHLIB_EXT} - - test -f ${PREFIX}/lib/libpiof${SHLIB_EXT} - -about: - home: https://github.com/E3SM-Project/scorpio - license: GPL - license_file: COPYRIGHT - summary: | - Software for Caching Output and Reads for Parallel I/O (SCORPIO) - A high-level Parallel I/O Library for structured grid applications. - This library was derived from the Parallel I/O library - https://github.com/NCAR/ParallelIO. - dev_url: https://github.com/E3SM-Project/scorpio - -extra: - recipe-maintainers: - - xylar From 0d8b75253f4290a7a389e2d3a330f7c7167ecf9c Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 4 Apr 2024 12:24:46 -0500 Subject: [PATCH 4/7] Add metis, explicitly built with 64-bit int and real --- conda/bootstrap.py | 4 ++++ conda/default.cfg | 1 + 2 files changed, 5 insertions(+) diff --git a/conda/bootstrap.py b/conda/bootstrap.py index 826babd4f1..dfee5f371b 100755 --- a/conda/bootstrap.py +++ b/conda/bootstrap.py @@ -465,6 +465,7 @@ def build_spack_env(config, update_spack, machine, compiler, mpi, # noqa: C901 cmake = config.get('deploy', 'cmake') esmf = config.get('deploy', 'esmf') lapack = config.get('deploy', 'lapack') + metis = config.get('deploy', 'metis') moab = config.get('deploy', 'moab') petsc = config.get('deploy', 'petsc') scorpio = config.get('deploy', 'scorpio') @@ -501,6 +502,9 @@ def build_spack_env(config, update_spack, machine, compiler, mpi, # noqa: C901 include_e3sm_lapack = False else: include_e3sm_lapack = True + if metis != 'None': + specs.append( + f'"metis@{metis}+int64+real64"') if moab != 'None': specs.append( f'"moab@{moab}+mpi+hdf5+netcdf+pnetcdf+metis+parmetis+tempest"') diff --git a/conda/default.cfg b/conda/default.cfg index 0a410ac5d0..837132f225 100644 --- a/conda/default.cfg +++ b/conda/default.cfg @@ -26,6 +26,7 @@ cmake = 3.23.0: esmf = 8.6.0 hdf5 = 1.14.3 lapack = 3.9.1 +metis = 5.1.0 moab = 5.5.1 netcdf_c = 4.9.2 netcdf_fortran = 4.6.0 From 373d84dd91702ccd69e22a09dcd322445761a199 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 2 May 2024 19:34:47 -0500 Subject: [PATCH 5/7] Update to ESMF 8.6.1 --- conda/compass_env/spec-file.template | 2 +- conda/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda/compass_env/spec-file.template b/conda/compass_env/spec-file.template index 2a879155da..30e332c84c 100644 --- a/conda/compass_env/spec-file.template +++ b/conda/compass_env/spec-file.template @@ -6,7 +6,7 @@ python>=3.8 cartopy cartopy_offlinedata cmocean -esmf=8.6.0={{ mpi_prefix }}_* +esmf=8.6.1={{ mpi_prefix }}_* ffmpeg geometric_features=1.3.0 git diff --git a/conda/default.cfg b/conda/default.cfg index 837132f225..8253c6c189 100644 --- a/conda/default.cfg +++ b/conda/default.cfg @@ -23,7 +23,7 @@ mpi = nompi albany = compass-2024-03-13 # cmake newer than 3.23.0 needed for Trilinos cmake = 3.23.0: -esmf = 8.6.0 +esmf = 8.6.1 hdf5 = 1.14.3 lapack = 3.9.1 metis = 5.1.0 From d5477c85a87a885cc32ace9db1caa8115c18de32 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 2 May 2024 19:37:21 -0500 Subject: [PATCH 6/7] Update mache to v1.23.0 --- conda/compass_env/spec-file.template | 2 +- conda/configure_compass_env.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda/compass_env/spec-file.template b/conda/compass_env/spec-file.template index 30e332c84c..e0f66a1ca6 100644 --- a/conda/compass_env/spec-file.template +++ b/conda/compass_env/spec-file.template @@ -16,7 +16,7 @@ ipython jupyter lxml {% if include_mache %} -mache=1.22.0 +mache=1.23.0 {% endif %} matplotlib-base metis diff --git a/conda/configure_compass_env.py b/conda/configure_compass_env.py index 1518d6371d..6ad866196b 100755 --- a/conda/configure_compass_env.py +++ b/conda/configure_compass_env.py @@ -100,7 +100,7 @@ def main(): if local_mache: mache = '' else: - mache = '"mache=1.22.0"' + mache = '"mache=1.23.0"' setup_install_env(env_name, activate_base, args.use_local, logger, args.recreate, conda_base, mache) From 3faf88d18c69dae7a9e00d1748aef25b88e4af81 Mon Sep 17 00:00:00 2001 From: Xylar Asay-Davis Date: Thu, 2 May 2024 19:39:50 -0500 Subject: [PATCH 7/7] Update to SCORPIO v1.6.3 --- conda/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/default.cfg b/conda/default.cfg index 8253c6c189..ee044dc8aa 100644 --- a/conda/default.cfg +++ b/conda/default.cfg @@ -32,6 +32,6 @@ netcdf_c = 4.9.2 netcdf_fortran = 4.6.0 petsc = 3.19.1 pnetcdf = 1.12.3 -scorpio = 1.6.0 +scorpio = 1.6.3 # parallelio = 2.6.2 parallelio = None