-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Set submodule spack to v0.22.2 * fdb: Remove package * metkit: Remove package * py-frozendict: Remove package * xpmem: Remove package * py-hatchling: Update from upstream * py-tabulate: Update from upstream * icon-ham: Use spack/icon * icon: Split package * py-lark: Remove package * Remove unnecessary tests * Migrate unit tests to pytest * Rename icon to icon-c2sm * cosmo: Remove package * Jenkins: Use mch/prgenv-icon:rc1 * GitHub Action: Apply Pep8-formatting * Add tests for 'spack find' and 'spack compilers'. * Start uenv in test stages * deactivate * Simplify run_with_spack * Keep venv * Bring back devirtualization * Update uenv * Use .venv * GitHub Action: Apply Pep8-formatting * Shuffle Jenkinsfile * revert * uenv * revert clean env * Remove fdb-fortran * flexpart-cosmo: Add workaround * Update icon-mch tests * Typo * icontools: Workaround * Fix some icon tests * Fix type * Remove icon-mch gcc test * GitHub Action: Apply Pep8-formatting * Revert "cosmo: Remove package" This reverts commit 2a7a337. * cosmo: remove package * cosmo: remove tests * Fix icon-mch test * fix icon test * eccodes: remove version 2.19.0 * Clean up system tests * GitHub Action: Apply Pep8-formatting * Update uenv * cosmo-eccodes-definitions: Remove versions 2.19.0.x * icon-mch: Add workarounds * icon-c2sm: Inherit from icon * Improve tests * Disable failing package tests. * Move mpi workaround * GitHub Action: Apply Pep8-formatting * icon-mch: Remove gcc test and add version tests * icon-c2sm: Remove copy_runscript_related_input_files because there's no self.out_of_source_build * icon-mch: fix tags * icon: Set new maintainer * Rename icon-c2sm to icon * Use require * GitHub Action: Apply Pep8-formatting * pytorch-fortran-proxy: requires gcc * GitHub Action: Apply Pep8-formatting * dirty gt4py fix * GitHub Action: Apply Pep8-formatting * rm exclaim * GitHub Action: Apply Pep8-formatting * fix test and add icon-exlcaim * GitHub Action: Apply Pep8-formatting * make out-of-source work * GitHub Action: Apply Pep8-formatting * fix url * rm file * update test * cleanup * GitHub Action: Apply Pep8-formatting * fix * fix version * rm include * GitHub Action: Apply Pep8-formatting * fix icon-ham * add maintainer * Update repos/c2sm/packages/icon-exclaim/package.py Co-authored-by: Dominic Hofer <[email protected]> * GitHub Action: Apply Pep8-formatting * change * GitHub Action: Apply Pep8-formatting * disable version * GitHub Action: Apply Pep8-formatting * remove loop-exchange * fix icon * dirty fix icon4py * readd loop-exchange * Update package.py Set default loop-exchange to False * fix bug again of serialbox dep, cleanup * reintroduce skip configure * remove libtorch * upgrade docs (#1038) * upgrade docs * add yaml example * update docs * update docs * Update cosmo-eccodes-definitions versions to 2.36.0.3 This is used with eccodes 2.36.4 This is required to test v8 env on balfrin * use explicit zlib-ng dependency for icon (#1040) * use rc 4 * remove obsolete packages * adjust integration tests * upgrade manual to build icon --------- Co-authored-by: github-actions <[email protected]> Co-authored-by: juckerj <[email protected]> Co-authored-by: Daniel Hupp <[email protected]> Co-authored-by: Jonas Jucker <[email protected]> Co-authored-by: Xavier Lapillonne <[email protected]> Co-authored-by: Ben Cumming <[email protected]>
- Loading branch information
1 parent
e5479e6
commit 6ed9b0f
Showing
42 changed files
with
379 additions
and
1,988 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,19 +11,17 @@ To set up a Spack instance, clone the repository using a specific Spack tag (lat | |
$ git clone --depth 1 --recurse-submodules --shallow-submodules -b $SPACK_TAG https://github.com/C2SM/spack-c2sm.git | ||
To load it into your command line, execute | ||
To load it into your command line, execute one of the following commands: | ||
|
||
.. code-block:: console | ||
$ . spack-c2sm/setup-env.sh | ||
$ . spack-c2sm/setup-env.sh /user-environment | ||
$ . spack-c2sm/setup-env.sh /mch-environment/v6 | ||
$ . spack-c2sm/setup-env.sh /mch-environment/v7 | ||
$ . spack-c2sm/setup-env.sh any_other_upstream | ||
This auto-detects your machine and configures your instance for it. | ||
You can force a machine with an argument. The name has to match a folder in sysconfigs. | ||
|
||
.. code-block:: console | ||
$ . spack-c2sm/setup-env.sh balfrin | ||
This will make upstream installation from user-environment available in spack-c2sm. | ||
|
||
Local machines and Containers | ||
----------------------------- | ||
|
@@ -84,21 +82,19 @@ ICON | |
---- | ||
|
||
ICON is built using environments. | ||
|
||
For convenience, ICON provides bash scripts to set up the environment and install ICON for in-source | ||
and out-of-source builds. | ||
These scripts are located in ``config/cscs``, e.g. ``config/cscs/alps_mch.cpu.nvidia``. | ||
|
||
For development, sometimes it is necessary to build ICON in a more customized way. | ||
To do so please follow the instructions below. | ||
|
||
Environments are located in a folder named after the environment and are defined in a ``spack.yaml`` file. | ||
For ICON, they are located in ``config/cscs/spack/<version>/<machine>_<target>_<compiler>``. | ||
For ICON, they are located in ``config/cscs/spack/<machine>_<target>_<compiler>``. | ||
They work with a special Spack tag, that is provided in the ICON repository at ``config/cscs/SPACK_TAG_*``. | ||
So make sure you clone Spack with the specified tag. | ||
|
||
.. tip:: | ||
**On Balfrin:** | ||
In case your Spack environment requires Python, a compatability issue | ||
with `openssl` and `git` appears. | ||
|
||
``/usr/bin/ssh: symbol lookup error: /usr/bin/ssh: undefined symbol: EVP_KDF_CTX_free, version OPENSSL_1_1_1d`` | ||
|
||
To circumvent that simply do | ||
``spack load git`` prior to activation of the environment. | ||
|
||
To activate the Spack environment, type | ||
|
||
.. code-block:: console | ||
|
@@ -109,14 +105,16 @@ To install the environment and so ICON, type | |
|
||
.. code-block:: console | ||
$ spack develop --path $(pwd) icon@develop | ||
$ spack install | ||
Example to build ICON for CPU with NVHPC on Piz Daint: | ||
Example to build ICON for CPU with NVHPC on Balfrin: | ||
|
||
.. code-block:: console | ||
$ SPACK_TAG=$(cat "config/cscs/SPACK_TAG_DAINT") | ||
$ spack env activate -d config/cscs/spack/$SPACK_TAG/daint_cpu_nvhpc | ||
$ SPACK_TAG=$(cat "config/cscs/SPACK_TAG_MCH") | ||
$ spack env activate -d config/cscs/spack/mch_cpu_double | ||
$ spack develop --path $(pwd) icon@develop | ||
$ spack install | ||
.. attention:: | ||
|
@@ -127,23 +125,22 @@ Out-of-source builds are possible as follows: | |
|
||
.. code-block:: console | ||
$ mkdir cpu && cd cpu | ||
$ cp -r ../config . | ||
$ spack env activate -d config/cscs/spack/v0.20.1.5/daint_cpu_nvhpc | ||
$ mkdir cpu | ||
$ spack env activate -d config/cscs/spack/mch_cpu_double | ||
$ # tell spack to build icon in folder cpu | ||
$ spack develop --path $(pwd) --build-directory cpu icon@develop | ||
$ spack install | ||
.. attention:: | ||
Out-of-source build for AutotoolsPackages is not supported by Spack. | ||
The implementation for ICON relies on some hacks inside package.py and | ||
only works if the build-folder is located inside the Git repo of ICON. | ||
|
||
COSMO | ||
----- | ||
|
||
Building COSMO is not supported anymore starting with spack-c2sm v0.20.1.0 for CSCS. | ||
By executing the commands above, spack will add some lines directly into ``spack.yaml``: | ||
|
||
For Euler Cluster a CPU-only setup is supported using GCC 8.5.0 | ||
.. code-block:: yaml | ||
.. code-block:: console | ||
spack: | ||
packages: | ||
icon: | ||
package_attributes: | ||
build_directory: /scratch/mch/juckerj/icon-nwp/cpu | ||
$ spack install cosmo%[email protected] | ||
Any further ``spack install`` command will use the build directory specified in the ``spack.yaml`` file. | ||
In case you want to change the build directory, edit the ``spack.yaml`` file or remove the ``build_directory`` line | ||
and run ``spack concretize -f`` afterwards. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,3 @@ | ||
# Copyright 2013-2020 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) | ||
|
||
# ---------------------------------------------------------------------------- | ||
# If you submit this package back to Spack as a pull request, | ||
# please first remove this boilerplate and all FIXME comments. | ||
# | ||
# This is a template package file for Spack. We've put "FIXME" | ||
# next to all the things you'll want to change. Once you've handled | ||
# them, you can save this file and test your package like this: | ||
# | ||
# spack install cosmo-eccodes-definitions | ||
# | ||
# You can edit this file again by typing: | ||
# | ||
# spack edit cosmo-eccodes-definitions | ||
# | ||
# See the Spack documentation for more information on packaging. | ||
# ---------------------------------------------------------------------------- | ||
|
||
from spack import * | ||
|
||
|
||
|
@@ -30,27 +8,21 @@ class CosmoEccodesDefinitions(Package): | |
url = "https://github.com/COSMO-ORG/eccodes-cosmo-resources.git" | ||
git = 'https://github.com/COSMO-ORG/eccodes-cosmo-resources.git' | ||
|
||
maintainers = ['petrabaumann'] | ||
maintainers = ['huppd,lxavier'] | ||
|
||
version('2.36.0.3', tag='v2.36.0.3') | ||
version('2.25.0.3', tag='v2.25.0.3') | ||
version('2.25.0.2', tag='v2.25.0.2') | ||
version('2.25.0.1', tag='v2.25.0.1') | ||
version('2.19.0.7', tag='v2.19.0.7') | ||
version('2.19.0.6', tag='v2.19.0.6') | ||
version('2.19.0.5', tag='v2.19.0.5') | ||
version('2.19.0.4', tag='v2.19.0.4') | ||
version('2.19.0.3', tag='v2.19.0.3') | ||
version('2.19.0.2', tag='v2.19.0.2') | ||
version('2.19.0.1', tag='v2.19.0.1') | ||
version('2.18.0.1', tag='v2.18.0.1') | ||
|
||
depends_on('eccodes') | ||
depends_on('eccodes@2.25.0', | ||
depends_on('eccodes@2.36.4', | ||
type=('build', 'link', 'run'), | ||
when='@2.25.0.1:') | ||
depends_on('eccodes@2.19.0', | ||
when='@2.36.0.3') | ||
depends_on('eccodes@2.25.0', | ||
type=('build', 'link', 'run'), | ||
when='@2.19.0.1:2.19.0.7') | ||
when='@2.25.0.1:2.25.0.3') | ||
depends_on('[email protected]', | ||
type=('build', 'link', 'run'), | ||
when='@2.18.0.1') | ||
|
Oops, something went wrong.