diff --git a/spack_repo/packages/icon-nwp/package.py b/spack_repo/packages/icon-nwp/package.py
index 11638d41932df6fefc7cd31f59bbdab9a5409b99..94ab9b629ad84c8e3fb5aca8e2d13ead2278ed49 100644
--- a/spack_repo/packages/icon-nwp/package.py
+++ b/spack_repo/packages/icon-nwp/package.py
@@ -3,9 +3,10 @@
 #
 # SPDX-License-Identifier: (Apache-2.0 OR MIT)
 
-from spack.package import *
 from pathlib import Path
 
+from spack.package import *
+
 
 class IconNwp(Package):
     """
@@ -14,7 +15,7 @@ class IconNwp(Package):
 
     homepage = "https://code.mpimet.mpg.de/projects/iconpublic"
     # maintainers("oriol.tinto")
-    
+
     # Main repository (pointing to LMU's gitlab)
     git = "ssh://git@gitlab.physik.uni-muenchen.de/w2w/icon.git"
 
@@ -27,14 +28,17 @@ class IconNwp(Package):
     version("master", branch="master")
     version("psp", branch="icon-nwp/icon-nwp-psp")
 
-
     # Dependencies
     depends_on("mpi")
     depends_on("netcdf-c")
     depends_on("netcdf-fortran")
-    depends_on("eccodes")
+    depends_on("eccodes+fortran")
     depends_on("libxml2")
 
+    # Openblas? best way of doing it?
+    depends_on("openblas", when="%gcc")
+    depends_on("intel-mkl", when="%intel")
+
     # Extra dependencies for B6, including yaml, and the hdf5 filters for compression.
     depends_on("libyaml", when="@w2w-B6")
     depends_on("hdf5-blosc", when="@w2w-B6")
@@ -129,7 +133,7 @@ class IconNwp(Package):
             "F77": spec["mpi"].mpif77,
         }
         for variable, value in env_variables_to_set.items():
-                env.set(variable, value)
+            env.set(variable, value)
 
     def configure(self, spec, prefix):
         spec = self.spec
@@ -138,11 +142,15 @@ class IconNwp(Package):
         libs = [
             f"-L{spec['netcdf-c'].prefix.lib} -lnetcdf ",  # netcdf-c libs
             f"-L{spec['netcdf-fortran'].prefix.lib} -lnetcdff",  # netcdf-fortran libs
-            "-lopenblas",  # OpenBlas
             f"-L{spec['eccodes'].prefix.lib} -leccodes_f90 -leccodes",
             f"-L{spec['libxml2'].prefix.lib} -lxml2",  # XML2 libs
         ]
 
+        if self.spec.satisfies("%gcc"):
+            libs.append("-lopenblas")
+        elif self.spec.satisfies("%intel"):
+            libs.append("-qmkl=sequential")
+
         if self.spec.version == Version("w2w-B6"):
             libs.append("-lyaml")
 
@@ -182,7 +190,6 @@ class IconNwp(Package):
         env.set("ICON_DATA_PATH", self.spec.prefix.join("data"))
         env.set("ICON_DOCS_PATH", self.spec.prefix.join("doc"))
 
-
     def make_extra_folders(self, prefix):
         mkdir = which("mkdir")
         rsync = which("rsync")
@@ -195,6 +202,7 @@ class IconNwp(Package):
         rsync("-av", "data/", f"{prefix}/data")
         rsync("-av", "run/", f"{prefix}/run")
         rsync("-av", "--include='*.pdf'", "--exclude='*.*'", "doc/", f"{prefix}/doc/")
-        curl("https://code.mpimet.mpg.de/attachments/download/19568/ICON_tutorial_2019.pdf", "--output", f"{prefix}/doc/ICON_tutorial_2019.pdf")
-        curl("http://www.cosmo-model.org/content/model/documentation/core/emvorado_userguide.pdf", "--output", f"{prefix}/doc/emvorado_userguide.pdf")
-
+        curl("https://code.mpimet.mpg.de/attachments/download/19568/ICON_tutorial_2019.pdf", "--output",
+             f"{prefix}/doc/ICON_tutorial_2019.pdf")
+        curl("http://www.cosmo-model.org/content/model/documentation/core/emvorado_userguide.pdf", "--output",
+             f"{prefix}/doc/emvorado_userguide.pdf")