From 440a5fa6a60a90f880976267c99417993aeb1156 Mon Sep 17 00:00:00 2001 From: Annika Lauber Date: Mon, 15 Dec 2025 14:29:42 +0100 Subject: [PATCH 1/2] Add Balfrin --- docs/alps/SUMMARY.md | 5 +- docs/alps/balfrin.md | 6 ++ docs/models/icon/compile.md | 176 ++++++++++++++++++++---------------- 3 files changed, 107 insertions(+), 80 deletions(-) create mode 100644 docs/alps/balfrin.md diff --git a/docs/alps/SUMMARY.md b/docs/alps/SUMMARY.md index d51401b43..0c3b7fd6f 100644 --- a/docs/alps/SUMMARY.md +++ b/docs/alps/SUMMARY.md @@ -1,3 +1,4 @@ * [Alps](index.md) -* [Santis](santis.md) -* [Eiger](eiger.md) \ No newline at end of file +* [Balfrin](balfrin.md) +* [Eiger](eiger.md) +* [Santis](santis.md) \ No newline at end of file diff --git a/docs/alps/balfrin.md b/docs/alps/balfrin.md new file mode 100644 index 000000000..a721282e7 --- /dev/null +++ b/docs/alps/balfrin.md @@ -0,0 +1,6 @@ +# Balfrin + +Balfrin is an Alps cluster used by MeteoSwiss. + +C2SM does not officially support Balfrin. Nevertheless, you can find instructions on how +to set up ICON on Balfrin at the [Compile section of ICON](../models/icon/compile.md#balfrin). \ No newline at end of file diff --git a/docs/models/icon/compile.md b/docs/models/icon/compile.md index fa74566b1..21ff6530b 100644 --- a/docs/models/icon/compile.md +++ b/docs/models/icon/compile.md @@ -34,94 +34,22 @@ Clone the ICON repository: ``` -### Säntis +### Balfrin -Run the following after navigating into ICON root folder: +Run the following after navigating into the ICON root folder: === "CPU compilation" ```console - UENV_VERSION=$(cat config/cscs/SANTIS_ENV_TAG) - uenv run ${UENV_VERSION} -- ./config/cscs/santis.cpu.nvhpc + ./config/cscs/alps_mch.cpu.nvidia ``` === "GPU compilation" ```console - UENV_VERSION=$(cat config/cscs/SANTIS_ENV_TAG) - uenv run ${UENV_VERSION} -- ./config/cscs/santis.gpu.nvhpc - ``` - -!!! info "User environments and out-of-source builds" - - If you have never used a uenv on Säntis, you need to create a uenv repo first: - ``` - uenv repo create - ``` - - In case you are using the uenv version for the first time, you need to pull the image first: - ``` - uenv image pull $UENV_VERSION - ``` - - -#### Building out-of-source - -Out-of-source builds are useful if you want to have two or more compiled versions of ICON in the same repository. -To achieve that, you simply need to create separate folders in the ICON root folder -and run the configure wrapper from there. - -For example, if you want to compile ICON both for `cpu` and `gpu`, create those directories: - -```bash -mkdir nvhpc_cpu -mkdir nvhpc_gpu -``` - -Then, navigate into the corresponding folder and source the configure wrapper for compilation: - -=== "`cpu`" - ```bash - UENV_VERSION=$(cat config/cscs/SANTIS_ENV_TAG) - cd nvhpc_cpu - uenv run ${UENV_VERSION} -- ./../config/cscs/santis.cpu.nvhpc - ``` -=== "`gpu`" - ```bash - UENV_VERSION=$(cat config/cscs/SANTIS_ENV_TAG) - cd nvhpc_gpu - uenv run ${UENV_VERSION} -- ./../config/cscs/santis.gpu.nvhpc + ./config/cscs/alps_mch.gpu.nvidia ``` -### Euler - -Navigate into the ICON root folder. - -Now, set up your spack instance: - -```bash -# Setup spack -SPACK_TAG=$(cat "config/ethz/SPACK_TAG_EULER") -git clone --depth 1 --recurse-submodules --shallow-submodules -b ${SPACK_TAG} https://github.com/C2SM/spack-c2sm.git -. spack-c2sm/setup-env.sh -``` - -Euler Support recommends to compile code on compute nodes. There, -we can take advantage of multi-core compiling. -However, we need to load the module `eth_proxy`, which enables connecting from a compute node -to an external service, e.g. GitHub or GitLab. - -```console -module load eth_proxy -``` +You can run the above scripts out-of-source also. -Now, activate the spack environment and build ICON: - -```bash -# Build ICON -# For out-of-source builds: navigate into the build folder and -# adapt the path to the Spack environment in the following -spack env activate -d config/ethz/spack/${SPACK_TAG}/euler_cpu_gcc -srun -N 1 -n 12 --mem-per-cpu=1G spack install -j 12 -``` ### Eiger @@ -229,4 +157,96 @@ spack concretize spack install ``` -`concretize` resolves dependencies, and `install` builds the packages. \ No newline at end of file +`concretize` resolves dependencies, and `install` builds the packages. + + +### Euler + +Navigate into the ICON root folder. + +Now, set up your spack instance: + +```bash +# Setup spack +SPACK_TAG=$(cat "config/ethz/SPACK_TAG_EULER") +git clone --depth 1 --recurse-submodules --shallow-submodules -b ${SPACK_TAG} https://github.com/C2SM/spack-c2sm.git +. spack-c2sm/setup-env.sh +``` + +Euler Support recommends to compile code on compute nodes. There, +we can take advantage of multi-core compiling. +However, we need to load the module `eth_proxy`, which enables connecting from a compute node +to an external service, e.g. GitHub or GitLab. + +```console +module load eth_proxy +``` + +Now, activate the spack environment and build ICON: + +```bash +# Build ICON +# For out-of-source builds: navigate into the build folder and +# adapt the path to the Spack environment in the following +spack env activate -d config/ethz/spack/${SPACK_TAG}/euler_cpu_gcc +srun -N 1 -n 12 --mem-per-cpu=1G spack install -j 12 +``` + +### Säntis + +Run the following after navigating into the ICON root folder: + +=== "CPU compilation" + ```console + UENV_VERSION=$(cat config/cscs/SANTIS_ENV_TAG) + uenv run ${UENV_VERSION} -- ./config/cscs/santis.cpu.nvhpc + ``` + +=== "GPU compilation" + ```console + UENV_VERSION=$(cat config/cscs/SANTIS_ENV_TAG) + uenv run ${UENV_VERSION} -- ./config/cscs/santis.gpu.nvhpc + ``` + +!!! info "User environments and out-of-source builds" + + If you have never used a uenv on Säntis, you need to create a uenv repo first: + ``` + uenv repo create + ``` + + In case you are using the uenv version for the first time, you need to pull the image first: + ``` + uenv image pull $UENV_VERSION + ``` + + +#### Building out-of-source + +Out-of-source builds are useful if you want to have two or more compiled versions of ICON in the same repository. +To achieve that, you simply need to create separate folders in the ICON root folder +and run the configure wrapper from there. + +For example, if you want to compile ICON both for `cpu` and `gpu`, create those directories: + +```bash +mkdir nvhpc_cpu +mkdir nvhpc_gpu +``` + +Then, navigate into the corresponding folder and source the configure wrapper for compilation: + +=== "`cpu`" + ```bash + UENV_VERSION=$(cat config/cscs/SANTIS_ENV_TAG) + cd nvhpc_cpu + uenv run ${UENV_VERSION} -- ./../config/cscs/santis.cpu.nvhpc + ``` +=== "`gpu`" + ```bash + UENV_VERSION=$(cat config/cscs/SANTIS_ENV_TAG) + cd nvhpc_gpu + uenv run ${UENV_VERSION} -- ./../config/cscs/santis.gpu.nvhpc + ``` + + From 7fc0733ae7f00c9af8c0feb7704d493775250287 Mon Sep 17 00:00:00 2001 From: Annika Lauber Date: Wed, 7 Jan 2026 13:56:10 +0100 Subject: [PATCH 2/2] Fix link --- docs/events/icon_meetings/2022-4.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/events/icon_meetings/2022-4.md b/docs/events/icon_meetings/2022-4.md index 1a75fd150..b57a1fa96 100644 --- a/docs/events/icon_meetings/2022-4.md +++ b/docs/events/icon_meetings/2022-4.md @@ -89,6 +89,6 @@ BG says EXTPAR can process the CORINE dataset. She didn’t get any errors but h ### General WS asks if there are any news about the ICON seamless effort. MA cannot give any more stable information. -JB will send mail. There is information on the [COSMO website :material-open-in-new:](https://www.cosmo-model.org/content/tasks/workGroups/wg3b/default.htm){:target="_blank"}. +JB will send mail. There is information on the [COSMO website :material-open-in-new:](https://www.cosmo-model.org/content/tasks/workGroups/wgPHY/default.htm){:target="_blank"}. DB sends a reminder about the COSMO/ICON user workshop on 2 February. Please send him your registration and indicate if you want to present a poster.