From 613fe90c149a9c67f9954c854a4bb0823710ad5b Mon Sep 17 00:00:00 2001
From: "Fabian.Jakub" <fabian@jakub.com>
Date: Mon, 22 May 2023 17:11:57 +0200
Subject: [PATCH] icon-spack package: make --enable-mpi-checks=no a variant,
 now set with icon-nwp~mpichecks

---
 examples/01_real-from-ideal+psp.sh      |  2 +-
 examples/01_real-from-ideal.sh          |  2 +-
 spack_repo/packages/icon-nwp/package.py | 23 ++++++++++++-----------
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/examples/01_real-from-ideal+psp.sh b/examples/01_real-from-ideal+psp.sh
index 1728880..9aa17b4 100755
--- a/examples/01_real-from-ideal+psp.sh
+++ b/examples/01_real-from-ideal+psp.sh
@@ -108,7 +108,7 @@ spack:
 
 icon:
   #build_cmd: "icon-nwp@%ICON.VERSION%% %SPACK.COMPILER%+debug+petsc target=x86_64_v2 ^openmpi+pmi+legacylaunchers schedulers=slurm fabrics=ucx ucx+dc+dm+ib_hw_tm+mlx5_dv+rc+rdmacm+thread_multiple+ud+verbs"
-  build_cmd: "icon-nwp@%ICON.VERSION%% %SPACK.COMPILER%+debug target=x86_64_v2 source=dkrz_https"
+  build_cmd: "icon-nwp@%ICON.VERSION%% %SPACK.COMPILER%+debug~mpichecks target=x86_64_v2 source=dkrz_https"
   version: psp
 
 data_management:
diff --git a/examples/01_real-from-ideal.sh b/examples/01_real-from-ideal.sh
index beac9e2..4e8cb7f 100755
--- a/examples/01_real-from-ideal.sh
+++ b/examples/01_real-from-ideal.sh
@@ -108,7 +108,7 @@ spack:
 
 icon:
   #build_cmd: "icon-nwp@%ICON.VERSION%% %SPACK.COMPILER%+debug+petsc target=x86_64_v2 ^openmpi+pmi+legacylaunchers schedulers=slurm fabrics=ucx ucx+dc+dm+ib_hw_tm+mlx5_dv+rc+rdmacm+thread_multiple+ud+verbs"
-  build_cmd: "icon-nwp@%ICON.VERSION%% %SPACK.COMPILER%+debug target=x86_64_v2 source=dkrz_https"
+  build_cmd: "icon-nwp@%ICON.VERSION%% %SPACK.COMPILER%+debug~mpichecks target=x86_64_v2 source=dkrz_https"
   version: 2.6.5-nwp0
 
 data_management:
diff --git a/spack_repo/packages/icon-nwp/package.py b/spack_repo/packages/icon-nwp/package.py
index f33713e..172de51 100644
--- a/spack_repo/packages/icon-nwp/package.py
+++ b/spack_repo/packages/icon-nwp/package.py
@@ -38,20 +38,21 @@ class IconNwp(Package):
         "lmu": "ssh://git@gitlab.physik.uni-muenchen.de/w2w/icon.git",
     }
 
-    variant("plexrt", default=False, description="add 3D radiation support with TenStream")
-    variant("petsc", default=False, description="add PETSc support")
     variant("debug", default=False, description="add debug flags when compiling icon")
 
     variant("parallelnetcdf", default=True, description="enable-parallel-netcdf")
     variant("yaxt", default=True, description="enable-yaxt")
     variant("grib2", default=True, description="enable-grib2")
+    variant("mpichecks", default=True, description="enable-mpi-checks")
 
-    variant("waves", default=True, description="enable-waves")
-    variant("ecrad", default=True, description="enable-ecrad")
-    variant("rttov", default=True, description="enable-rttov")
-    variant("dace", default=True, description="enable-dace")
-    variant("emvorado", default=True, description="enable-emvorado")
-    variant("art", default=True, description="enable-art")
+    variant("waves"   , default=False, description="enable-waves")
+    variant("ecrad"   , default=False, description="enable-ecrad")
+    variant("rttov"   , default=False, description="enable-rttov")
+    variant("dace"    , default=False, description="enable-dace")
+    variant("emvorado", default=False, description="enable-emvorado")
+    variant("art"     , default=False, description="enable-art")
+    variant("plexrt"  , default=False, description="add 3D radiation support with TenStream")
+    variant("petsc"   , default=False, description="add PETSc support")
 
     # Dependencies
     depends_on("mpi")
@@ -238,6 +239,9 @@ class IconNwp(Package):
         else:
             options.append(f"ICON_FCFLAGS={ICON_FCFLAGS} -O3")
 
+        if "~mpichecks" in self.spec:
+            options.append("--enable-mpi-checks=no")
+
         if "+parallelnetcdf" in self.spec:
             options.append("--enable-parallel-netcdf")
 
@@ -266,9 +270,6 @@ class IconNwp(Package):
         if "+art" in self.spec:
             options.append("--enable-art")
 
-        # For some reason there's a problem with OpenMPI with gcc@11.3.0 which makes the configuration fail.
-        if self.spec.compiler.name == "gcc" and self.spec.compiler.version == Version("11.3.0"):
-            options.append("--enable-mpi-checks=no")
         configure(*options)
 
     def build(self, spec, prefix):
-- 
GitLab