diff --git a/.circleci/checkout.sh b/.circleci/checkout.sh
index ea9a5f3d147d..81cb9d0eb2c5 100755
--- a/.circleci/checkout.sh
+++ b/.circleci/checkout.sh
@@ -2,5 +2,4 @@
# Replace all ssh URLs to submodules with HTTP URLs
sed -i 's/git@github.com:/https:\/\/github.com\//' .gitmodules
-sed -i 's/git@github.com:/https:\/\/github.com\//' cime/.gitmodules
git submodule update --init --recursive
diff --git a/.circleci/container.sh b/.circleci/container.sh
index da266047a309..0e7c341ead07 100755
--- a/.circleci/container.sh
+++ b/.circleci/container.sh
@@ -1,7 +1,8 @@
#!/bin/bash
-wget -t 3 -O e3sm.sif http://portal.nersc.gov/project/e3sm/lukasz/e3sm.sif || \
- wget -t 3 -O e3sm.sif https://dabdceba-6d04-11e5-ba46-22000b92c6ec.e.globus.org/containers/public/e3sm.sif
+singularity pull e3sm.sif \
+ docker://ghcr.io/mahf708/e3sm-imgs@sha256:d1030a6f4e3a53f682859436a26b30a9477d69423829ae1d9c1b5ab4e255430d
+
if [ $? -ne 0 ]; then
exit -1
fi
diff --git a/cime_config/machines/cmake_macros/amdclang_alvarez.cmake b/cime_config/machines/cmake_macros/amdclang_alvarez.cmake
index be2d5a3facc7..2472dfc3b8a5 100644
--- a/cime_config/machines/cmake_macros/amdclang_alvarez.cmake
+++ b/cime_config/machines/cmake_macros/amdclang_alvarez.cmake
@@ -1,7 +1,6 @@
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack -lamdlibm")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2 -g")
string(APPEND CXXFLAGS " -O2 -g")
diff --git a/cime_config/machines/cmake_macros/amdclang_chicoma-cpu.cmake b/cime_config/machines/cmake_macros/amdclang_chicoma-cpu.cmake
index 24afe1200a1e..ccd946877052 100644
--- a/cime_config/machines/cmake_macros/amdclang_chicoma-cpu.cmake
+++ b/cime_config/machines/cmake_macros/amdclang_chicoma-cpu.cmake
@@ -1,7 +1,6 @@
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack -lamdlibm")
set(PIO_FILESYSTEM_HINTS "lustre")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2 -g")
diff --git a/cime_config/machines/cmake_macros/amdclang_pm-cpu.cmake b/cime_config/machines/cmake_macros/amdclang_pm-cpu.cmake
index ec0e1fd0b1f3..68b74a723c84 100644
--- a/cime_config/machines/cmake_macros/amdclang_pm-cpu.cmake
+++ b/cime_config/machines/cmake_macros/amdclang_pm-cpu.cmake
@@ -1,7 +1,6 @@
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack -lamdlibm")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2 -g")
string(APPEND CXXFLAGS " -O2 -g")
diff --git a/cime_config/machines/cmake_macros/fj.cmake b/cime_config/machines/cmake_macros/fj.cmake
index b62c3de878a7..67322db271ee 100644
--- a/cime_config/machines/cmake_macros/fj.cmake
+++ b/cime_config/machines/cmake_macros/fj.cmake
@@ -32,7 +32,6 @@ set(MPIFC "mpifrt")
set(SCC "fcc")
set(SCXX "FCC")
set(SFC "frt")
-string(APPEND SLIBS " -lblas -llapack")
if (COMP_NAME MATCHES "^pio")
string(APPEND CMAKE_OPTS " -DPIO_ENABLE_TOOLS:BOOL=OFF")
endif()
diff --git a/cime_config/machines/cmake_macros/gnu9_mappy.cmake b/cime_config/machines/cmake_macros/gnu9_mappy.cmake
index 15af79822531..e827ad7a067b 100644
--- a/cime_config/machines/cmake_macros/gnu9_mappy.cmake
+++ b/cime_config/machines/cmake_macros/gnu9_mappy.cmake
@@ -11,4 +11,3 @@ endif()
if (MPILIB STREQUAL mpi-serial AND NOT compile_threaded)
set(PFUNIT_PATH "$ENV{SEMS_PFUNIT_ROOT}")
endif()
-string(APPEND SLIBS " -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/gnu_WSL2.cmake b/cime_config/machines/cmake_macros/gnu_WSL2.cmake
index 63b76e1c5835..84ddb00834bc 100644
--- a/cime_config/machines/cmake_macros/gnu_WSL2.cmake
+++ b/cime_config/machines/cmake_macros/gnu_WSL2.cmake
@@ -1,4 +1,2 @@
set(HDF5_PATH "$ENV{HDF5_PATH}")
-set(LAPACK_LIBDIR "$ENV{BLASLAPACK_LIBDIR}")
set(CXX_LINKER "CXX")
-string(APPEND SLIBS " -L${LAPACK_LIBDIR} -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/gnu_alvarez.cmake b/cime_config/machines/cmake_macros/gnu_alvarez.cmake
index 807c7d0211eb..6ce5e2fa733f 100644
--- a/cime_config/machines/cmake_macros/gnu_alvarez.cmake
+++ b/cime_config/machines/cmake_macros/gnu_alvarez.cmake
@@ -2,7 +2,6 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(CXX_LINKER "FORTRAN")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2 -g")
diff --git a/cime_config/machines/cmake_macros/gnu_anlgce-ub18.cmake b/cime_config/machines/cmake_macros/gnu_anlgce-ub18.cmake
index a9edbc0c0849..7761eb2aa51e 100644
--- a/cime_config/machines/cmake_macros/gnu_anlgce-ub18.cmake
+++ b/cime_config/machines/cmake_macros/gnu_anlgce-ub18.cmake
@@ -5,5 +5,4 @@ string(APPEND CXX_LIBS " -lstdc++")
if (NOT DEBUG)
string(APPEND FFLAGS " -O2")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(ZLIB_PATH "$ENV{ZLIB_PATH}")
diff --git a/cime_config/machines/cmake_macros/gnu_anlgce.cmake b/cime_config/machines/cmake_macros/gnu_anlgce.cmake
index a9edbc0c0849..7761eb2aa51e 100644
--- a/cime_config/machines/cmake_macros/gnu_anlgce.cmake
+++ b/cime_config/machines/cmake_macros/gnu_anlgce.cmake
@@ -5,5 +5,4 @@ string(APPEND CXX_LIBS " -lstdc++")
if (NOT DEBUG)
string(APPEND FFLAGS " -O2")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(ZLIB_PATH "$ENV{ZLIB_PATH}")
diff --git a/cime_config/machines/cmake_macros/gnu_anlworkstation.cmake b/cime_config/machines/cmake_macros/gnu_anlworkstation.cmake
index 90e63e0e6c9a..8e12c67a61c9 100644
--- a/cime_config/machines/cmake_macros/gnu_anlworkstation.cmake
+++ b/cime_config/machines/cmake_macros/gnu_anlworkstation.cmake
@@ -5,6 +5,5 @@ string(APPEND CXX_LIBS " -lstdc++")
if (NOT DEBUG)
string(APPEND FFLAGS " -O2")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(SZIP_PATH "$ENV{SZIP_PATH}")
set(ZLIB_PATH "$ENV{ZLIB_PATH}")
diff --git a/cime_config/machines/cmake_macros/gnu_anvil.cmake b/cime_config/machines/cmake_macros/gnu_anvil.cmake
index 6d9d1a99f3a5..abaf456c5ecc 100644
--- a/cime_config/machines/cmake_macros/gnu_anvil.cmake
+++ b/cime_config/machines/cmake_macros/gnu_anvil.cmake
@@ -2,5 +2,4 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
set(PIO_FILESYSTEM_HINTS "gpfs")
-string(APPEND SLIBS " -L$ENV{MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl")
string(APPEND CXX_LIBS " -lstdc++")
diff --git a/cime_config/machines/cmake_macros/gnu_ascent.cmake b/cime_config/machines/cmake_macros/gnu_ascent.cmake
index 275cd9944878..9c8a5aeba195 100644
--- a/cime_config/machines/cmake_macros/gnu_ascent.cmake
+++ b/cime_config/machines/cmake_macros/gnu_ascent.cmake
@@ -8,7 +8,7 @@ endif()
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
-string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl")
string(APPEND CXX_LIBS " -lstdc++")
set(MPICXX "mpiCC")
set(PIO_FILESYSTEM_HINTS "gpfs")
diff --git a/cime_config/machines/cmake_macros/gnu_badger.cmake b/cime_config/machines/cmake_macros/gnu_badger.cmake
index 6aa953c0e2f5..e3cef7b0dd05 100644
--- a/cime_config/machines/cmake_macros/gnu_badger.cmake
+++ b/cime_config/machines/cmake_macros/gnu_badger.cmake
@@ -1,5 +1,3 @@
set(PIO_FILESYSTEM_HINTS "lustre")
set(MPICXX "mpic++")
-string(APPEND SLIBS " -llapack -lblas")
-string(APPEND SLIBS " $ENV{MKLROOT}/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group $ENV{MKLROOT}/lib/intel64/libmkl_intel_lp64.a $ENV{MKLROOT}/lib/intel64/libmkl_core.a $ENV{MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group $ENV{MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_lp64.a -lpthread -lm -lz")
string(APPEND CXX_LIBS " -lstdc++")
diff --git a/cime_config/machines/cmake_macros/gnu_bebop.cmake b/cime_config/machines/cmake_macros/gnu_bebop.cmake
index 1bbd53081cb4..715f201171e2 100644
--- a/cime_config/machines/cmake_macros/gnu_bebop.cmake
+++ b/cime_config/machines/cmake_macros/gnu_bebop.cmake
@@ -2,4 +2,3 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
string(APPEND CXX_LIBS " -lstdc++")
-string(APPEND SLIBS " -L$ENV{MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl")
diff --git a/cime_config/machines/cmake_macros/gnu_cades.cmake b/cime_config/machines/cmake_macros/gnu_cades.cmake
index ba776359dc68..df5526113b50 100644
--- a/cime_config/machines/cmake_macros/gnu_cades.cmake
+++ b/cime_config/machines/cmake_macros/gnu_cades.cmake
@@ -1,5 +1,4 @@
string(APPEND FFLAGS " -O -fno-range-check")
set(HDF5_PATH "/software/dev_tools/swtree/cs400_centos7.2_pe2016-08/hdf5-parallel/1.8.17/centos7.2_gnu5.3.0")
-set(LAPACK_LIBDIR "/software/tools/compilers/intel_2017/mkl/lib/intel64")
set(MPICXX "mpic++")
set(SCXX "gcpp")
diff --git a/cime_config/machines/cmake_macros/gnu_chrysalis.cmake b/cime_config/machines/cmake_macros/gnu_chrysalis.cmake
index 4480fcf50692..abaf456c5ecc 100644
--- a/cime_config/machines/cmake_macros/gnu_chrysalis.cmake
+++ b/cime_config/machines/cmake_macros/gnu_chrysalis.cmake
@@ -2,5 +2,4 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
set(PIO_FILESYSTEM_HINTS "gpfs")
-string(APPEND SLIBS " -Wl,--start-group $ENV{MKLROOT}/lib/intel64/libmkl_gf_lp64.a $ENV{MKLROOT}/lib/intel64/libmkl_sequential.a $ENV{MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl")
string(APPEND CXX_LIBS " -lstdc++")
diff --git a/cime_config/machines/cmake_macros/gnu_eddi.cmake b/cime_config/machines/cmake_macros/gnu_eddi.cmake
index 415122278294..2caf327872f8 100644
--- a/cime_config/machines/cmake_macros/gnu_eddi.cmake
+++ b/cime_config/machines/cmake_macros/gnu_eddi.cmake
@@ -8,7 +8,7 @@ endif()
if (DEBUG)
string(APPEND FFLAGS " -g -fbacktrace -fbounds-check -ffpe-trap=invalid,zero,overflow -Wall")
endif()
-string(APPEND SLIBS " -lcurl -llapack -lblas")
+string(APPEND SLIBS " -lcurl")
if (MPILIB STREQUAL mpi-serial)
set(SCC "gcc")
endif()
diff --git a/cime_config/machines/cmake_macros/gnu_fugaku.cmake b/cime_config/machines/cmake_macros/gnu_fugaku.cmake
index 19a42b3730c1..9241b41d8d15 100644
--- a/cime_config/machines/cmake_macros/gnu_fugaku.cmake
+++ b/cime_config/machines/cmake_macros/gnu_fugaku.cmake
@@ -3,7 +3,6 @@ if (NOT DEBUG)
string(APPEND CFLAGS " -O2")
string(APPEND FFLAGS " -O2")
endif()
-string(APPEND SLIBS " -llapack -lblas")
set(CXX_LIBS "-lstdc++")
if (COMP_NAME MATCHES "^pio")
string(APPEND CMAKE_OPTS " -DPIO_ENABLE_TOOLS:BOOL=OFF")
diff --git a/cime_config/machines/cmake_macros/gnu_gcp10.cmake b/cime_config/machines/cmake_macros/gnu_gcp10.cmake
index a3132725b8e3..6f4cad7d618b 100644
--- a/cime_config/machines/cmake_macros/gnu_gcp10.cmake
+++ b/cime_config/machines/cmake_macros/gnu_gcp10.cmake
@@ -6,4 +6,3 @@ if (NOT DEBUG)
string(APPEND FFLAGS " -fno-unsafe-math-optimizations")
endif()
string(APPEND SLIBS " -L$ENV{CURL_PATH}/lib -lcurl")
-string(APPEND SLIBS " -L$ENV{LAPACK_PATH}/lib64 -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/gnu_gcp12.cmake b/cime_config/machines/cmake_macros/gnu_gcp12.cmake
index a3132725b8e3..6f4cad7d618b 100644
--- a/cime_config/machines/cmake_macros/gnu_gcp12.cmake
+++ b/cime_config/machines/cmake_macros/gnu_gcp12.cmake
@@ -6,4 +6,3 @@ if (NOT DEBUG)
string(APPEND FFLAGS " -fno-unsafe-math-optimizations")
endif()
string(APPEND SLIBS " -L$ENV{CURL_PATH}/lib -lcurl")
-string(APPEND SLIBS " -L$ENV{LAPACK_PATH}/lib64 -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/gnu_grizzly.cmake b/cime_config/machines/cmake_macros/gnu_grizzly.cmake
index 6aa953c0e2f5..e3cef7b0dd05 100644
--- a/cime_config/machines/cmake_macros/gnu_grizzly.cmake
+++ b/cime_config/machines/cmake_macros/gnu_grizzly.cmake
@@ -1,5 +1,3 @@
set(PIO_FILESYSTEM_HINTS "lustre")
set(MPICXX "mpic++")
-string(APPEND SLIBS " -llapack -lblas")
-string(APPEND SLIBS " $ENV{MKLROOT}/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group $ENV{MKLROOT}/lib/intel64/libmkl_intel_lp64.a $ENV{MKLROOT}/lib/intel64/libmkl_core.a $ENV{MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group $ENV{MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_lp64.a -lpthread -lm -lz")
string(APPEND CXX_LIBS " -lstdc++")
diff --git a/cime_config/machines/cmake_macros/gnu_jlse.cmake b/cime_config/machines/cmake_macros/gnu_jlse.cmake
index 28cdb185e6a6..ca87d3a5377e 100644
--- a/cime_config/machines/cmake_macros/gnu_jlse.cmake
+++ b/cime_config/machines/cmake_macros/gnu_jlse.cmake
@@ -3,4 +3,3 @@ if (NOT DEBUG)
string(APPEND CFLAGS " -O2")
string(APPEND FFLAGS " -O2")
endif()
-string(APPEND SLIBS " -L/home/azamat/soft/libs -llapack -lblas")
diff --git a/cime_config/machines/cmake_macros/gnu_lawrencium-lr6.cmake b/cime_config/machines/cmake_macros/gnu_lawrencium-lr6.cmake
index eb7a96fd2860..ef00e08fbb3c 100644
--- a/cime_config/machines/cmake_macros/gnu_lawrencium-lr6.cmake
+++ b/cime_config/machines/cmake_macros/gnu_lawrencium-lr6.cmake
@@ -1,4 +1,3 @@
-set(LAPACK_LIBDIR "$ENV{LAPACK_DIR}/lib")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2")
endif()
@@ -6,4 +5,3 @@ string(APPEND CXX_LIBS " -lstdc++ -lmpi_cxx")
if (NOT DEBUG)
string(APPEND FFLAGS " -O2")
endif()
-string(APPEND SLIBS " -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/gnu_lobata.cmake b/cime_config/machines/cmake_macros/gnu_lobata.cmake
index 97822750d565..a1128c8aa36c 100644
--- a/cime_config/machines/cmake_macros/gnu_lobata.cmake
+++ b/cime_config/machines/cmake_macros/gnu_lobata.cmake
@@ -2,7 +2,7 @@ set(SUPPORTS_CXX "TRUE")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_VPRINTF -DHAVE_TIMES -DHAVE_GETTIMEOFDAY -DHAVE_BACKTRACE")
endif()
-string(APPEND SLIBS " -lcurl -llapack -lblas")
+string(APPEND SLIBS " -lcurl")
if (DEBUG)
string(APPEND FFLAGS " -g -fbacktrace -fbounds-check -ffpe-trap=invalid,zero,overflow")
else()
diff --git a/cime_config/machines/cmake_macros/gnu_mappy.cmake b/cime_config/machines/cmake_macros/gnu_mappy.cmake
index 15af79822531..e827ad7a067b 100644
--- a/cime_config/machines/cmake_macros/gnu_mappy.cmake
+++ b/cime_config/machines/cmake_macros/gnu_mappy.cmake
@@ -11,4 +11,3 @@ endif()
if (MPILIB STREQUAL mpi-serial AND NOT compile_threaded)
set(PFUNIT_PATH "$ENV{SEMS_PFUNIT_ROOT}")
endif()
-string(APPEND SLIBS " -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/gnu_melvin.cmake b/cime_config/machines/cmake_macros/gnu_melvin.cmake
index 15af79822531..e827ad7a067b 100644
--- a/cime_config/machines/cmake_macros/gnu_melvin.cmake
+++ b/cime_config/machines/cmake_macros/gnu_melvin.cmake
@@ -11,4 +11,3 @@ endif()
if (MPILIB STREQUAL mpi-serial AND NOT compile_threaded)
set(PFUNIT_PATH "$ENV{SEMS_PFUNIT_ROOT}")
endif()
-string(APPEND SLIBS " -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/gnu_modex.cmake b/cime_config/machines/cmake_macros/gnu_modex.cmake
index 920011fbedf8..e15205225b94 100644
--- a/cime_config/machines/cmake_macros/gnu_modex.cmake
+++ b/cime_config/machines/cmake_macros/gnu_modex.cmake
@@ -7,4 +7,4 @@ endif()
if (DEBUG)
string(APPEND FFLAGS " -fbounds-check -ffpe-trap=invalid,zero,overflow")
endif()
-string(APPEND SLIBS " -lcurl -lblas -llapack")
+string(APPEND SLIBS " -lcurl")
diff --git a/cime_config/machines/cmake_macros/gnu_pm-cpu.cmake b/cime_config/machines/cmake_macros/gnu_pm-cpu.cmake
index 807c7d0211eb..6ce5e2fa733f 100644
--- a/cime_config/machines/cmake_macros/gnu_pm-cpu.cmake
+++ b/cime_config/machines/cmake_macros/gnu_pm-cpu.cmake
@@ -2,7 +2,6 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(CXX_LINKER "FORTRAN")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2 -g")
diff --git a/cime_config/machines/cmake_macros/gnu_pm-gpu.cmake b/cime_config/machines/cmake_macros/gnu_pm-gpu.cmake
index 807c7d0211eb..6ce5e2fa733f 100644
--- a/cime_config/machines/cmake_macros/gnu_pm-gpu.cmake
+++ b/cime_config/machines/cmake_macros/gnu_pm-gpu.cmake
@@ -2,7 +2,6 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(CXX_LINKER "FORTRAN")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2 -g")
diff --git a/cime_config/machines/cmake_macros/gnu_singularity.cmake b/cime_config/machines/cmake_macros/gnu_singularity.cmake
index db4fac75fc16..e69de29bb2d1 100644
--- a/cime_config/machines/cmake_macros/gnu_singularity.cmake
+++ b/cime_config/machines/cmake_macros/gnu_singularity.cmake
@@ -1 +0,0 @@
-string(APPEND SLIBS " -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/gnu_summit.cmake b/cime_config/machines/cmake_macros/gnu_summit.cmake
index 275cd9944878..9c8a5aeba195 100644
--- a/cime_config/machines/cmake_macros/gnu_summit.cmake
+++ b/cime_config/machines/cmake_macros/gnu_summit.cmake
@@ -8,7 +8,7 @@ endif()
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
-string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl")
string(APPEND CXX_LIBS " -lstdc++")
set(MPICXX "mpiCC")
set(PIO_FILESYSTEM_HINTS "gpfs")
diff --git a/cime_config/machines/cmake_macros/gnu_tulip.cmake b/cime_config/machines/cmake_macros/gnu_tulip.cmake
index 414a62603c00..58240f5509ef 100644
--- a/cime_config/machines/cmake_macros/gnu_tulip.cmake
+++ b/cime_config/machines/cmake_macros/gnu_tulip.cmake
@@ -2,4 +2,4 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
string(APPEND CXX_LIBS " -lstdc++")
-string(APPEND SLIBS " -llapack -lblas")
+
diff --git a/cime_config/machines/cmake_macros/gnugpu_ascent.cmake b/cime_config/machines/cmake_macros/gnugpu_ascent.cmake
index 08261e7efb6f..fb8eca4ed39d 100644
--- a/cime_config/machines/cmake_macros/gnugpu_ascent.cmake
+++ b/cime_config/machines/cmake_macros/gnugpu_ascent.cmake
@@ -9,7 +9,7 @@ endif()
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
-string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl")
set(MPICXX "mpiCC")
set(PIO_FILESYSTEM_HINTS "gpfs")
set(USE_CUDA "TRUE")
diff --git a/cime_config/machines/cmake_macros/gnugpu_pm-gpu.cmake b/cime_config/machines/cmake_macros/gnugpu_pm-gpu.cmake
index b362b984082e..43bc22615f8f 100644
--- a/cime_config/machines/cmake_macros/gnugpu_pm-gpu.cmake
+++ b/cime_config/machines/cmake_macros/gnugpu_pm-gpu.cmake
@@ -5,7 +5,6 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
string(APPEND CPPDEFS " -DTHRUST_IGNORE_CUB_VERSION_CHECK")
-string(APPEND SLIBS " -lblas -llapack")
string(APPEND CUDA_FLAGS " -ccbin CC -O2 -arch sm_80 --use_fast_math")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2")
diff --git a/cime_config/machines/cmake_macros/gnugpu_summit.cmake b/cime_config/machines/cmake_macros/gnugpu_summit.cmake
index 52faa0d641ad..f22d6cd09bdf 100644
--- a/cime_config/machines/cmake_macros/gnugpu_summit.cmake
+++ b/cime_config/machines/cmake_macros/gnugpu_summit.cmake
@@ -10,7 +10,7 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
string(APPEND CPPDEFS " -DTHRUST_IGNORE_CUB_VERSION_CHECK")
-string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl")
set(MPICXX "mpiCC")
set(PIO_FILESYSTEM_HINTS "gpfs")
set(USE_CUDA "TRUE")
diff --git a/cime_config/machines/cmake_macros/ibm_ascent.cmake b/cime_config/machines/cmake_macros/ibm_ascent.cmake
index 6baabb8d316e..24d5db2d6bb8 100644
--- a/cime_config/machines/cmake_macros/ibm_ascent.cmake
+++ b/cime_config/machines/cmake_macros/ibm_ascent.cmake
@@ -7,7 +7,7 @@ if (COMP_NAME STREQUAL cice AND compile_threaded)
string(APPEND FFLAGS " -qsmp=omp:noopt")
endif()
string(APPEND LDFLAGS " -Wl,--relax -Wl,--allow-multiple-definition")
-string(APPEND SLIBS " -L$ENV{HDF5_PATH}/lib -lhdf5_hl -lhdf5 -lxlopt -lxl -lxlsmp -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{HDF5_PATH}/lib -lhdf5_hl -lhdf5 -lxlopt -lxl -lxlsmp -L$ENV{ESSL_PATH}/lib64 -lessl")
string(APPEND CXX_LIBS "-lstdc++ -L$ENV{OLCF_XLC_ROOT}/lib -libmc++")
set(MPICC "mpicc")
set(MPICXX "mpiCC")
diff --git a/cime_config/machines/cmake_macros/ibm_summit.cmake b/cime_config/machines/cmake_macros/ibm_summit.cmake
index 6d5c731c09fc..2687a326cb83 100644
--- a/cime_config/machines/cmake_macros/ibm_summit.cmake
+++ b/cime_config/machines/cmake_macros/ibm_summit.cmake
@@ -7,7 +7,7 @@ if (COMP_NAME STREQUAL cice AND compile_threaded)
string(APPEND FFLAGS " -qsmp=omp:noopt")
endif()
string(APPEND LDFLAGS " -Wl,--relax -Wl,--allow-multiple-definition")
-string(APPEND SLIBS " -lxlopt -lxl -lxlsmp -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -lxlopt -lxl -lxlsmp -L$ENV{ESSL_PATH}/lib64 -lessl")
string(APPEND CXX_LIBS "-lstdc++ -L$ENV{OLCF_XLC_ROOT}/lib -libmc++")
set(MPICC "mpicc")
set(MPICXX "mpiCC")
diff --git a/cime_config/machines/cmake_macros/ibmgpu.cmake b/cime_config/machines/cmake_macros/ibmgpu.cmake
index 15a4b536617d..96d009a0fb1e 100644
--- a/cime_config/machines/cmake_macros/ibmgpu.cmake
+++ b/cime_config/machines/cmake_macros/ibmgpu.cmake
@@ -34,7 +34,7 @@ string(APPEND FIXEDFLAGS " -qsuffix=f=f -qfixed=132")
string(APPEND FREEFLAGS " -qsuffix=f=f90:cpp=F90")
set(HAS_F2008_CONTIGUOUS "TRUE")
string(APPEND LDFLAGS " -Wl,--relax -Wl,--allow-multiple-definition -qsmp -qoffload -lcudart -L$ENV{CUDA_DIR}/lib64")
-string(APPEND SLIBS " -lxlopt -lxl -lxlsmp -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -lxlopt -lxl -lxlsmp -L$ENV{ESSL_PATH}/lib64 -lessl")
string(APPEND CXX_LIBS " -lstdc++ -L$ENV{OLCF_XLC_ROOT}/lib -libmc++")
set(MPICC "mpicc")
set(MPICXX "mpiCC")
diff --git a/cime_config/machines/cmake_macros/intel18_snl-blake.cmake b/cime_config/machines/cmake_macros/intel18_snl-blake.cmake
index 22fc50b887f9..3b53e8b9cda2 100644
--- a/cime_config/machines/cmake_macros/intel18_snl-blake.cmake
+++ b/cime_config/machines/cmake_macros/intel18_snl-blake.cmake
@@ -26,7 +26,7 @@ endif()
if (DEBUG)
string(APPEND FFLAGS " -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created")
endif()
-string(APPEND LDFLAGS " -mkl -lstdc++")
+string(APPEND LDFLAGS " -lstdc++")
if (compile_threaded)
string(APPEND LDFLAGS " -qopenmp")
endif()
diff --git a/cime_config/machines/cmake_macros/intel_alvarez.cmake b/cime_config/machines/cmake_macros/intel_alvarez.cmake
index cd26d8891b2c..ea5741b0b9a4 100644
--- a/cime_config/machines/cmake_macros/intel_alvarez.cmake
+++ b/cime_config/machines/cmake_macros/intel_alvarez.cmake
@@ -2,17 +2,7 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -L$ENV{CRAY_HDF5_PARALLEL_PREFIX}/lib -lhdf5_hl -lhdf5 -L$ENV{CRAY_NETCDF_HDF5PARALLEL_PREFIX}/lib -L$ENV{CRAY_PARALLEL_NETCDF_PREFIX}/lib -lpnetcdf -lnetcdf -lnetcdff")
-#if (NOT MPILIB STREQUAL mpi-serial)
-# string(APPEND SLIBS " -L$ENV{ADIOS2_DIR}/lib64 -ladios2_c_mpi -ladios2_c -ladios2_core_mpi -ladios2_core -ladios2_evpath -ladios2_ffs -ladios2_dill -ladios2_atl -ladios2_enet")
-#endif()
-string(APPEND SLIBS " -qmkl")
set(CXX_LINKER "FORTRAN")
-set(NETCDF_PATH "$ENV{CRAY_NETCDF_HDF5PARALLEL_PREFIX}")
-set(NETCDF_C_PATH "$ENV{CRAY_NETCDF_HDF5PARALLEL_PREFIX}")
-set(NETCDF_FORTRAN_PATH "$ENV{CRAY_NETCDF_HDF5PARALLEL_PREFIX}")
-set(HDF5_PATH "$ENV{CRAY_HDF5_PARALLEL_PREFIX}")
-set(PNETCDF_PATH "$ENV{CRAY_PARALLEL_NETCDF_PREFIX}")
set(MPICC "cc")
set(MPICXX "CC")
diff --git a/cime_config/machines/cmake_macros/intel_anvil.cmake b/cime_config/machines/cmake_macros/intel_anvil.cmake
index ebd9ae4230b9..6427689d630a 100644
--- a/cime_config/machines/cmake_macros/intel_anvil.cmake
+++ b/cime_config/machines/cmake_macros/intel_anvil.cmake
@@ -26,4 +26,3 @@ if (MPILIB STREQUAL impi)
set(MPIFC "mpiifort")
endif()
set(PIO_FILESYSTEM_HINTS "gpfs")
-string(APPEND SLIBS " -Wl,--start-group $ENV{MKLROOT}/lib/intel64/libmkl_intel_lp64.a $ENV{MKLROOT}/lib/intel64/libmkl_sequential.a $ENV{MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl")
diff --git a/cime_config/machines/cmake_macros/intel_badger.cmake b/cime_config/machines/cmake_macros/intel_badger.cmake
index 53d303f11b20..7cc9dad8c1b1 100644
--- a/cime_config/machines/cmake_macros/intel_badger.cmake
+++ b/cime_config/machines/cmake_macros/intel_badger.cmake
@@ -7,5 +7,5 @@ endif()
if (NOT MPILIB STREQUAL impi)
set(MPICXX "mpic++")
endif()
-string(APPEND SLIBS " -llapack -lblas -mkl -lpthread")
+string(APPEND SLIBS " -lpthread")
string(APPEND CXX_LIBS " -lstdc++")
diff --git a/cime_config/machines/cmake_macros/intel_bebop.cmake b/cime_config/machines/cmake_macros/intel_bebop.cmake
index 9012d9373ee7..259a0d9e54a9 100644
--- a/cime_config/machines/cmake_macros/intel_bebop.cmake
+++ b/cime_config/machines/cmake_macros/intel_bebop.cmake
@@ -10,4 +10,3 @@ if (MPILIB STREQUAL impi)
set(MPICXX "mpiicpc")
set(MPIFC "mpiifort")
endif()
-string(APPEND SLIBS " -mkl")
diff --git a/cime_config/machines/cmake_macros/intel_cascade.cmake b/cime_config/machines/cmake_macros/intel_cascade.cmake
index f63544759f5e..36dd6361911a 100644
--- a/cime_config/machines/cmake_macros/intel_cascade.cmake
+++ b/cime_config/machines/cmake_macros/intel_cascade.cmake
@@ -4,10 +4,3 @@ if (DEBUG)
string(APPEND FFLAGS " -check all -ftrapuv")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -L$ENV{MKL_PATH}/lib/intel64 -lmkl_rt")
-if (MPILIB STREQUAL mpich2)
- string(APPEND SLIBS " -mkl=cluster")
-endif()
-if (MPILIB STREQUAL mpi-serial)
- string(APPEND SLIBS " -mkl")
-endif()
diff --git a/cime_config/machines/cmake_macros/intel_chicoma.cmake b/cime_config/machines/cmake_macros/intel_chicoma.cmake
index 53d303f11b20..7cc9dad8c1b1 100644
--- a/cime_config/machines/cmake_macros/intel_chicoma.cmake
+++ b/cime_config/machines/cmake_macros/intel_chicoma.cmake
@@ -7,5 +7,5 @@ endif()
if (NOT MPILIB STREQUAL impi)
set(MPICXX "mpic++")
endif()
-string(APPEND SLIBS " -llapack -lblas -mkl -lpthread")
+string(APPEND SLIBS " -lpthread")
string(APPEND CXX_LIBS " -lstdc++")
diff --git a/cime_config/machines/cmake_macros/intel_chrysalis.cmake b/cime_config/machines/cmake_macros/intel_chrysalis.cmake
index 95dd058c33c5..b816b55a61ba 100644
--- a/cime_config/machines/cmake_macros/intel_chrysalis.cmake
+++ b/cime_config/machines/cmake_macros/intel_chrysalis.cmake
@@ -17,7 +17,6 @@ if (NOT DEBUG)
string(APPEND FFLAGS " -O3 -qno-opt-dynamic-align")
endif()
set(PIO_FILESYSTEM_HINTS "gpfs")
-string(APPEND SLIBS " -mkl")
string(APPEND LDFLAGS " -static-intel")
if (MPILIB STREQUAL impi)
set(MPICC "mpiicc")
diff --git a/cime_config/machines/cmake_macros/intel_compy.cmake b/cime_config/machines/cmake_macros/intel_compy.cmake
index 5e3a8b982bb3..2514a8e24246 100644
--- a/cime_config/machines/cmake_macros/intel_compy.cmake
+++ b/cime_config/machines/cmake_macros/intel_compy.cmake
@@ -6,7 +6,7 @@ if (DEBUG)
string(APPEND FFLAGS " -check all -ftrapuv -init=snan")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -lpmi -L$ENV{MKL_PATH}/lib/intel64/ -lmkl_rt")
+string(APPEND SLIBS " -lpmi ")
if (MPILIB STREQUAL impi)
set(MPICC "mpiicc")
set(MPICXX "mpiicpc")
diff --git a/cime_config/machines/cmake_macros/intel_constance.cmake b/cime_config/machines/cmake_macros/intel_constance.cmake
index 9d192bd2ea0f..44bdcf0ffc9e 100644
--- a/cime_config/machines/cmake_macros/intel_constance.cmake
+++ b/cime_config/machines/cmake_macros/intel_constance.cmake
@@ -3,4 +3,4 @@ if (DEBUG)
string(APPEND FFLAGS " -check all -ftrapuv")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -lpmi -L$ENV{MKL_PATH} -lmkl_rt")
+string(APPEND SLIBS " -lpmi")
diff --git a/cime_config/machines/cmake_macros/intel_ghost.cmake b/cime_config/machines/cmake_macros/intel_ghost.cmake
index 4ffb13077e7e..6dd3bad4d27f 100644
--- a/cime_config/machines/cmake_macros/intel_ghost.cmake
+++ b/cime_config/machines/cmake_macros/intel_ghost.cmake
@@ -6,10 +6,3 @@ if (MPILIB STREQUAL mpi-serial AND NOT compile_threaded)
set(PFUNIT_PATH "/projects/ccsm/pfunit/3.2.9/mpi-serial")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -L/projects/ccsm/BLAS-intel -lblas_LINUX")
-if (MPILIB STREQUAL openmpi)
- string(APPEND SLIBS " -mkl=cluster")
-endif()
-if (MPILIB STREQUAL mpi-serial)
- string(APPEND SLIBS " -mkl")
-endif()
diff --git a/cime_config/machines/cmake_macros/intel_grizzly.cmake b/cime_config/machines/cmake_macros/intel_grizzly.cmake
index 53d303f11b20..7cc9dad8c1b1 100644
--- a/cime_config/machines/cmake_macros/intel_grizzly.cmake
+++ b/cime_config/machines/cmake_macros/intel_grizzly.cmake
@@ -7,5 +7,5 @@ endif()
if (NOT MPILIB STREQUAL impi)
set(MPICXX "mpic++")
endif()
-string(APPEND SLIBS " -llapack -lblas -mkl -lpthread")
+string(APPEND SLIBS " -lpthread")
string(APPEND CXX_LIBS " -lstdc++")
diff --git a/cime_config/machines/cmake_macros/intel_itasca.cmake b/cime_config/machines/cmake_macros/intel_itasca.cmake
index ea311508b7da..b4cc84511b55 100644
--- a/cime_config/machines/cmake_macros/intel_itasca.cmake
+++ b/cime_config/machines/cmake_macros/intel_itasca.cmake
@@ -10,4 +10,4 @@ endif()
set(MPICC "mpiicc")
set(MPICXX "mpiicpc")
set(MPIFC "mpiifort")
-string(APPEND SLIBS " -L/soft/hdf5/hdf5-1.8.13-intel-2013-sp1-update3-impi-5.0.0.028/lib -openmp -fPIC -L/soft/intel/x86_64/2013/composer_xe_2013/composer_xe_2013_sp1.3.174/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lpthread -lm")
+string(APPEND SLIBS " -L/soft/hdf5/hdf5-1.8.13-intel-2013-sp1-update3-impi-5.0.0.028/lib -openmp -fPIC -lpthread -lm")
diff --git a/cime_config/machines/cmake_macros/intel_lawrencium-lr3.cmake b/cime_config/machines/cmake_macros/intel_lawrencium-lr3.cmake
index 1e694d18cda2..b883475a077d 100644
--- a/cime_config/machines/cmake_macros/intel_lawrencium-lr3.cmake
+++ b/cime_config/machines/cmake_macros/intel_lawrencium-lr3.cmake
@@ -1,5 +1,3 @@
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_VPRINTF -DHAVE_GETTIMEOFDAY")
endif()
-set(LAPACK_LIBDIR "/global/software/sl-6.x86_64/modules/intel/2016.1.150/lapack/3.6.0-intel/lib")
-string(APPEND SLIBS " -mkl")
diff --git a/cime_config/machines/cmake_macros/intel_lawrencium-lr6.cmake b/cime_config/machines/cmake_macros/intel_lawrencium-lr6.cmake
index 1e694d18cda2..b883475a077d 100644
--- a/cime_config/machines/cmake_macros/intel_lawrencium-lr6.cmake
+++ b/cime_config/machines/cmake_macros/intel_lawrencium-lr6.cmake
@@ -1,5 +1,3 @@
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_VPRINTF -DHAVE_GETTIMEOFDAY")
endif()
-set(LAPACK_LIBDIR "/global/software/sl-6.x86_64/modules/intel/2016.1.150/lapack/3.6.0-intel/lib")
-string(APPEND SLIBS " -mkl")
diff --git a/cime_config/machines/cmake_macros/intel_mappy.cmake b/cime_config/machines/cmake_macros/intel_mappy.cmake
index bf8aaa30ea48..7b3b14351e1b 100644
--- a/cime_config/machines/cmake_macros/intel_mappy.cmake
+++ b/cime_config/machines/cmake_macros/intel_mappy.cmake
@@ -2,4 +2,3 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
string(APPEND CXX_LIBS " -lstdc++ -lmpi_cxx")
-string(APPEND SLIBS " -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/intel_melvin.cmake b/cime_config/machines/cmake_macros/intel_melvin.cmake
index bf8aaa30ea48..7b3b14351e1b 100644
--- a/cime_config/machines/cmake_macros/intel_melvin.cmake
+++ b/cime_config/machines/cmake_macros/intel_melvin.cmake
@@ -2,4 +2,3 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_SLASHPROC")
endif()
string(APPEND CXX_LIBS " -lstdc++ -lmpi_cxx")
-string(APPEND SLIBS " -lblas -llapack")
diff --git a/cime_config/machines/cmake_macros/intel_narwhal.cmake b/cime_config/machines/cmake_macros/intel_narwhal.cmake
index 906274302806..6d4cdee2a189 100644
--- a/cime_config/machines/cmake_macros/intel_narwhal.cmake
+++ b/cime_config/machines/cmake_macros/intel_narwhal.cmake
@@ -3,4 +3,4 @@ string(APPEND CXXFLAGS " -fp-model consistent")
if (NOT DEBUG)
string(APPEND FFLAGS " -qno-opt-dynamic-align")
endif()
-string(APPEND SLIBS " -mkl -lpthread")
+string(APPEND SLIBS " -lpthread")
diff --git a/cime_config/machines/cmake_macros/intel_onyx.cmake b/cime_config/machines/cmake_macros/intel_onyx.cmake
index d87e8575f383..5a0cca777548 100644
--- a/cime_config/machines/cmake_macros/intel_onyx.cmake
+++ b/cime_config/machines/cmake_macros/intel_onyx.cmake
@@ -2,4 +2,4 @@ string(APPEND FFLAGS " -fimf-use-svml")
if (NOT DEBUG)
string(APPEND FFLAGS " -qno-opt-dynamic-align")
endif()
-string(APPEND SLIBS " -mkl -lpthread")
+string(APPEND SLIBS " -lpthread")
diff --git a/cime_config/machines/cmake_macros/intel_pm-cpu.cmake b/cime_config/machines/cmake_macros/intel_pm-cpu.cmake
index 8f1616a2cb26..ea5741b0b9a4 100644
--- a/cime_config/machines/cmake_macros/intel_pm-cpu.cmake
+++ b/cime_config/machines/cmake_macros/intel_pm-cpu.cmake
@@ -2,7 +2,6 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -qmkl")
set(CXX_LINKER "FORTRAN")
set(MPICC "cc")
diff --git a/cime_config/machines/cmake_macros/intel_quartz.cmake b/cime_config/machines/cmake_macros/intel_quartz.cmake
index 3d159b514967..8a3ac082b6ad 100644
--- a/cime_config/machines/cmake_macros/intel_quartz.cmake
+++ b/cime_config/machines/cmake_macros/intel_quartz.cmake
@@ -2,7 +2,6 @@ string(APPEND CPPDEFS " -DNO_SHR_VMATH -DCNL")
if (DEBUG)
string(APPEND FFLAGS " -check all -ftrapuv")
endif()
-string(APPEND SLIBS " -llapack -lblas")
string(APPEND LDFLAGS " -L/usr/tce/packages/gcc/gcc-10.3.1-magic/lib/gcc/x86_64-redhat-linux/10/")
set(KOKKOS_OPTIONS "--with-serial --ldflags='-L/usr/tce/packages/gcc/gcc-10.3.1-magic/lib/gcc/x86_64-redhat-linux/10/'")
set(MPI_LIB_NAME "mpich")
diff --git a/cime_config/machines/cmake_macros/intel_ruby.cmake b/cime_config/machines/cmake_macros/intel_ruby.cmake
index 3d159b514967..8a3ac082b6ad 100644
--- a/cime_config/machines/cmake_macros/intel_ruby.cmake
+++ b/cime_config/machines/cmake_macros/intel_ruby.cmake
@@ -2,7 +2,6 @@ string(APPEND CPPDEFS " -DNO_SHR_VMATH -DCNL")
if (DEBUG)
string(APPEND FFLAGS " -check all -ftrapuv")
endif()
-string(APPEND SLIBS " -llapack -lblas")
string(APPEND LDFLAGS " -L/usr/tce/packages/gcc/gcc-10.3.1-magic/lib/gcc/x86_64-redhat-linux/10/")
set(KOKKOS_OPTIONS "--with-serial --ldflags='-L/usr/tce/packages/gcc/gcc-10.3.1-magic/lib/gcc/x86_64-redhat-linux/10/'")
set(MPI_LIB_NAME "mpich")
diff --git a/cime_config/machines/cmake_macros/intel_sandiatoss3.cmake b/cime_config/machines/cmake_macros/intel_sandiatoss3.cmake
index 4ca62c853e33..5f7056a74b85 100644
--- a/cime_config/machines/cmake_macros/intel_sandiatoss3.cmake
+++ b/cime_config/machines/cmake_macros/intel_sandiatoss3.cmake
@@ -9,10 +9,3 @@ if (MPILIB STREQUAL mpi-serial AND NOT compile_threaded)
set(PFUNIT_PATH "/projects/ccsm/pfunit/3.2.9/mpi-serial")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -L/projects/ccsm/BLAS-intel -lblas_LINUX -L$ENV{MKL_LIBS} -lmkl_rt")
-if (MPILIB STREQUAL openmpi)
- string(APPEND SLIBS " -mkl=cluster")
-endif()
-if (MPILIB STREQUAL mpi-serial)
- string(APPEND SLIBS " -mkl")
-endif()
diff --git a/cime_config/machines/cmake_macros/intel_sooty.cmake b/cime_config/machines/cmake_macros/intel_sooty.cmake
index be00dfa16da8..5c7cb680f7ef 100644
--- a/cime_config/machines/cmake_macros/intel_sooty.cmake
+++ b/cime_config/machines/cmake_macros/intel_sooty.cmake
@@ -3,4 +3,4 @@ if (DEBUG)
string(APPEND FFLAGS " -check all -ftrapuv -init=snan")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -lpmi -L$ENV{MKL_PATH} -lmkl_rt")
+string(APPEND SLIBS " -lpmi")
diff --git a/cime_config/machines/cmake_macros/intel_stampede2.cmake b/cime_config/machines/cmake_macros/intel_stampede2.cmake
index fbc783e342f9..bf6c0585c784 100644
--- a/cime_config/machines/cmake_macros/intel_stampede2.cmake
+++ b/cime_config/machines/cmake_macros/intel_stampede2.cmake
@@ -12,4 +12,4 @@ string(APPEND FFLAGS " -xCORE-AVX2")
set(HDF5_PATH "$ENV{TACC_HDF5_DIR}")
set(MPI_LIB_NAME "impi")
set(PETSC_PATH "$ENV{PETSC_DIR}")
-string(APPEND SLIBS " -mkl -lpthread")
+string(APPEND SLIBS " -lpthread")
diff --git a/cime_config/machines/cmake_macros/intel_tahoma.cmake b/cime_config/machines/cmake_macros/intel_tahoma.cmake
index 2dbf3e0e9c94..f8a3236f169e 100644
--- a/cime_config/machines/cmake_macros/intel_tahoma.cmake
+++ b/cime_config/machines/cmake_macros/intel_tahoma.cmake
@@ -7,8 +7,7 @@ if (DEBUG)
endif()
string(APPEND SLIBS " -L$ENV{HDF5_PATH}/lib -lhdf5_fortran -lhdf5 -lhdf5_hl -lhdf5hl_fortran")
string(APPEND SLIBS " -L$ENV{CURL_PATH}/lib -lcurl")
-string(APPEND SLIBS " -L$ENV{LAPACK_PATH}/lib64 -lblas -llapack")
-string(APPEND SLIBS " -lpmi -L$ENV{MKL_PATH}/lib/intel64/ -lmkl_rt")
+string(APPEND SLIBS " -lpmi")
set(PIO_FILESYSTEM_HINTS "lustre")
diff --git a/cime_config/machines/cmake_macros/intel_theta.cmake b/cime_config/machines/cmake_macros/intel_theta.cmake
index 2aac2db50980..0d6fbb8c2846 100644
--- a/cime_config/machines/cmake_macros/intel_theta.cmake
+++ b/cime_config/machines/cmake_macros/intel_theta.cmake
@@ -8,4 +8,4 @@ string(APPEND FFLAGS " -DHAVE_ERF_INTRINSICS")
set(SCC "icc")
set(SCXX "icpc")
set(SFC "ifort")
-string(APPEND SLIBS " -mkl -lpthread")
+string(APPEND SLIBS " -lpthread")
diff --git a/cime_config/machines/cmake_macros/intel_warhawk.cmake b/cime_config/machines/cmake_macros/intel_warhawk.cmake
index 906274302806..6d4cdee2a189 100644
--- a/cime_config/machines/cmake_macros/intel_warhawk.cmake
+++ b/cime_config/machines/cmake_macros/intel_warhawk.cmake
@@ -3,4 +3,4 @@ string(APPEND CXXFLAGS " -fp-model consistent")
if (NOT DEBUG)
string(APPEND FFLAGS " -qno-opt-dynamic-align")
endif()
-string(APPEND SLIBS " -mkl -lpthread")
+string(APPEND SLIBS " -lpthread")
diff --git a/cime_config/machines/cmake_macros/nag_cascade.cmake b/cime_config/machines/cmake_macros/nag_cascade.cmake
index d16126b82bd9..3302b14814f8 100644
--- a/cime_config/machines/cmake_macros/nag_cascade.cmake
+++ b/cime_config/machines/cmake_macros/nag_cascade.cmake
@@ -9,4 +9,3 @@ if (MPILIB STREQUAL mvapich2)
set(MPI_PATH "$ENV{MPI_LIB}")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -L$ENV{MKL_PATH} -lmkl_rt")
diff --git a/cime_config/machines/cmake_macros/nag_constance.cmake b/cime_config/machines/cmake_macros/nag_constance.cmake
index 09945033696d..edebba16c33d 100644
--- a/cime_config/machines/cmake_macros/nag_constance.cmake
+++ b/cime_config/machines/cmake_macros/nag_constance.cmake
@@ -9,4 +9,4 @@ if (DEBUG)
string(APPEND FFLAGS " -O0 -v")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -lpmi -L$ENV{MKL_PATH} -lmkl_rt")
+string(APPEND SLIBS " -lpmi")
diff --git a/cime_config/machines/cmake_macros/nvidia_alvarez.cmake b/cime_config/machines/cmake_macros/nvidia_alvarez.cmake
index a704d43bdceb..8aba3b5f6d57 100644
--- a/cime_config/machines/cmake_macros/nvidia_alvarez.cmake
+++ b/cime_config/machines/cmake_macros/nvidia_alvarez.cmake
@@ -2,7 +2,6 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(CXX_LINKER "FORTRAN")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2")
diff --git a/cime_config/machines/cmake_macros/nvidia_chicoma-cpu.cmake b/cime_config/machines/cmake_macros/nvidia_chicoma-cpu.cmake
index de1ab723e90d..77db876cb00a 100644
--- a/cime_config/machines/cmake_macros/nvidia_chicoma-cpu.cmake
+++ b/cime_config/machines/cmake_macros/nvidia_chicoma-cpu.cmake
@@ -2,7 +2,6 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(CXX_LINKER "FORTRAN")
set(PIO_FILESYSTEM_HINTS "lustre")
if (NOT DEBUG)
diff --git a/cime_config/machines/cmake_macros/nvidia_pm-cpu.cmake b/cime_config/machines/cmake_macros/nvidia_pm-cpu.cmake
index f3a0434f9ed2..8aba3b5f6d57 100644
--- a/cime_config/machines/cmake_macros/nvidia_pm-cpu.cmake
+++ b/cime_config/machines/cmake_macros/nvidia_pm-cpu.cmake
@@ -2,7 +2,6 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " $ENV{CRAY_HDF5_PARALLEL_PREFIX}/lib/libhdf5_hl.a $ENV{CRAY_HDF5_PARALLEL_PREFIX}/lib/libhdf5.a /opt/nvidia/hpc_sdk/Linux_x86_64/22.7/compilers/lib/libblas_lp64.so.0 /opt/nvidia/hpc_sdk/Linux_x86_64/22.7/compilers/lib/liblapack_lp64.so.0")
set(CXX_LINKER "FORTRAN")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2")
diff --git a/cime_config/machines/cmake_macros/nvidia_pm-gpu.cmake b/cime_config/machines/cmake_macros/nvidia_pm-gpu.cmake
index 5c55dc6bb2f4..a8b9f5cdcf38 100644
--- a/cime_config/machines/cmake_macros/nvidia_pm-gpu.cmake
+++ b/cime_config/machines/cmake_macros/nvidia_pm-gpu.cmake
@@ -2,7 +2,6 @@ string(APPEND CONFIG_ARGS " --host=cray")
if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_SLASHPROC -DHAVE_GETTIMEOFDAY")
endif()
-string(APPEND SLIBS " -lblas -llapack")
set(CXX_LINKER "FORTRAN")
if (NOT DEBUG)
string(APPEND CFLAGS " -O2")
diff --git a/cime_config/machines/cmake_macros/nvidiagpu_pm-gpu.cmake b/cime_config/machines/cmake_macros/nvidiagpu_pm-gpu.cmake
index e9606e066060..98ba1d5227e1 100644
--- a/cime_config/machines/cmake_macros/nvidiagpu_pm-gpu.cmake
+++ b/cime_config/machines/cmake_macros/nvidiagpu_pm-gpu.cmake
@@ -6,7 +6,6 @@ if (COMP_NAME STREQUAL gptl)
endif()
string(APPEND CPPDEFS " -DTHRUST_IGNORE_CUB_VERSION_CHECK")
string(APPEND CUDA_FLAGS " -ccbin CC -O2 -arch sm_80 --use_fast_math")
-string(APPEND SLIBS " -lblas -llapack")
set(CXX_LINKER "FORTRAN")
set(SCC "cc")
set(SCXX "CC")
diff --git a/cime_config/machines/cmake_macros/oneapi-ifort.cmake b/cime_config/machines/cmake_macros/oneapi-ifort.cmake
index d05918679ed8..63b4c49e9249 100644
--- a/cime_config/machines/cmake_macros/oneapi-ifort.cmake
+++ b/cime_config/machines/cmake_macros/oneapi-ifort.cmake
@@ -46,4 +46,4 @@ set(SFC "ifort")
if (compile_threaded)
string(APPEND LDFLAGS " -qopenmp")
endif()
-string(APPEND SLIBS " -mkl")
+
diff --git a/cime_config/machines/cmake_macros/oneapi-ifx_chrysalis.cmake b/cime_config/machines/cmake_macros/oneapi-ifx_chrysalis.cmake
index 55203e48f587..394519e8edcf 100644
--- a/cime_config/machines/cmake_macros/oneapi-ifx_chrysalis.cmake
+++ b/cime_config/machines/cmake_macros/oneapi-ifx_chrysalis.cmake
@@ -1,4 +1,4 @@
set(MPIFC "mpif90")
set(MPICC "mpicc")
set(MPICXX "mpicxx")
-string(APPEND SLIBS " -qmkl -fiopenmp -fopenmp-targets=spir64")
+string(APPEND SLIBS " -fiopenmp -fopenmp-targets=spir64")
diff --git a/cime_config/machines/cmake_macros/oneapi-ifx_jlse.cmake b/cime_config/machines/cmake_macros/oneapi-ifx_jlse.cmake
index 40d3a213bcf3..31ca028d9879 100644
--- a/cime_config/machines/cmake_macros/oneapi-ifx_jlse.cmake
+++ b/cime_config/machines/cmake_macros/oneapi-ifx_jlse.cmake
@@ -1 +1 @@
-string(APPEND SLIBS " -qmkl -fiopenmp -fopenmp-targets=spir64")
+string(APPEND SLIBS " -fiopenmp -fopenmp-targets=spir64")
diff --git a/cime_config/machines/cmake_macros/oneapi-ifx_sunspot.cmake b/cime_config/machines/cmake_macros/oneapi-ifx_sunspot.cmake
index ce2026179743..31ca028d9879 100644
--- a/cime_config/machines/cmake_macros/oneapi-ifx_sunspot.cmake
+++ b/cime_config/machines/cmake_macros/oneapi-ifx_sunspot.cmake
@@ -1,2 +1 @@
-
-string(APPEND SLIBS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -fiopenmp -fopenmp-targets=spir64")
+string(APPEND SLIBS " -fiopenmp -fopenmp-targets=spir64")
diff --git a/cime_config/machines/cmake_macros/oneapi-ifxgpu_jlse.cmake b/cime_config/machines/cmake_macros/oneapi-ifxgpu_jlse.cmake
index af72e0711538..6dfe6be6a1c5 100644
--- a/cime_config/machines/cmake_macros/oneapi-ifxgpu_jlse.cmake
+++ b/cime_config/machines/cmake_macros/oneapi-ifxgpu_jlse.cmake
@@ -1,6 +1,6 @@
set(CXX_LINKER "CXX")
-string(APPEND SLIBS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -fiopenmp -fopenmp-targets=spir64")
+string(APPEND SLIBS " -fiopenmp -fopenmp-targets=spir64")
set(USE_SYCL "TRUE")
string(APPEND SYCL_FLAGS " -\-intel -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \"-device 12.60.7\"") # for pvc node only
#string(APPEND SYCL_FLAGS " -\-intel -fsycl")
diff --git a/cime_config/machines/cmake_macros/oneapi-ifxgpu_sunspot.cmake b/cime_config/machines/cmake_macros/oneapi-ifxgpu_sunspot.cmake
index 8ce913c3a1da..d3d7f16db398 100644
--- a/cime_config/machines/cmake_macros/oneapi-ifxgpu_sunspot.cmake
+++ b/cime_config/machines/cmake_macros/oneapi-ifxgpu_sunspot.cmake
@@ -1,6 +1,5 @@
set(CXX_LINKER "CXX")
-string(APPEND SLIBS " -lmkl_intel_lp64 -lmkl_sequential -lmkl_core")
string(APPEND SLIBS " -fiopenmp -fopenmp-targets=spir64")
set(USE_SYCL "TRUE")
string(APPEND SYCL_FLAGS " -\-intel -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \"-device 12.60.7\"")
diff --git a/cime_config/machines/cmake_macros/pgi_ascent.cmake b/cime_config/machines/cmake_macros/pgi_ascent.cmake
index 40d2a115ba5e..cd2b9d7f9d3a 100644
--- a/cime_config/machines/cmake_macros/pgi_ascent.cmake
+++ b/cime_config/machines/cmake_macros/pgi_ascent.cmake
@@ -10,7 +10,7 @@ endif()
if (COMP_NAME STREQUAL cice)
string(APPEND FFLAGS " -Mnovect")
endif()
-string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl")
set(MPICXX "mpiCC")
set(PIO_FILESYSTEM_HINTS "gpfs")
set(SFC "pgfortran")
diff --git a/cime_config/machines/cmake_macros/pgi_compy.cmake b/cime_config/machines/cmake_macros/pgi_compy.cmake
index 5ed28a7ebe4f..df3569b54131 100644
--- a/cime_config/machines/cmake_macros/pgi_compy.cmake
+++ b/cime_config/machines/cmake_macros/pgi_compy.cmake
@@ -13,7 +13,7 @@ if (COMP_NAME STREQUAL cice)
string(APPEND FFLAGS " -Mnovect")
endif()
set(PIO_FILESYSTEM_HINTS "lustre")
-string(APPEND SLIBS " -lpmi -L$ENV{MKL_PATH}/lib/intel64/ -lmkl_rt")
+string(APPEND SLIBS " -lpmi")
if (MPILIB STREQUAL impi)
set(MPICC "mpipgcc")
set(MPICXX "mpipgcxx")
diff --git a/cime_config/machines/cmake_macros/pgi_summit.cmake b/cime_config/machines/cmake_macros/pgi_summit.cmake
index 6f7e5a02f6fa..2ad7e9f89fd2 100644
--- a/cime_config/machines/cmake_macros/pgi_summit.cmake
+++ b/cime_config/machines/cmake_macros/pgi_summit.cmake
@@ -10,7 +10,7 @@ endif()
if (COMP_NAME STREQUAL cice)
string(APPEND FFLAGS " -Mnovect")
endif()
-string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl")
set(MPICXX "mpiCC")
set(PIO_FILESYSTEM_HINTS "gpfs")
set(SFC "pgfortran")
diff --git a/cime_config/machines/cmake_macros/pgigpu_ascent.cmake b/cime_config/machines/cmake_macros/pgigpu_ascent.cmake
index 7b65563470d0..4f204a79edec 100644
--- a/cime_config/machines/cmake_macros/pgigpu_ascent.cmake
+++ b/cime_config/machines/cmake_macros/pgigpu_ascent.cmake
@@ -1,3 +1,3 @@
string(APPEND LDFLAGS " -gpu=cc70,cc60 -Minfo=accel")
-string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl")
string(APPEND KOKKOS_OPTIONS " -DKokkos_ARCH_POWER9=On -DKokkos_ARCH_VOLTA70=On -DKokkos_ENABLE_CUDA=On -DKokkos_ENABLE_CUDA_LAMBDA=On")
diff --git a/cime_config/machines/cmake_macros/pgigpu_blues.cmake b/cime_config/machines/cmake_macros/pgigpu_blues.cmake
index 3b532de7591f..d227d901e1ac 100644
--- a/cime_config/machines/cmake_macros/pgigpu_blues.cmake
+++ b/cime_config/machines/cmake_macros/pgigpu_blues.cmake
@@ -2,4 +2,4 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_GETTIMEOFDAY")
endif()
string(APPEND LDFLAGS " -Minline -ta=tesla:ccall,fastmath,loadcache:L1,unroll,fma,managed,deepcopy,nonvvm -Mcuda -Minfo=accel")
-string(APPEND SLIBS " -llapack -lblas")
+
diff --git a/cime_config/machines/cmake_macros/pgigpu_summit.cmake b/cime_config/machines/cmake_macros/pgigpu_summit.cmake
index 7b65563470d0..4f204a79edec 100644
--- a/cime_config/machines/cmake_macros/pgigpu_summit.cmake
+++ b/cime_config/machines/cmake_macros/pgigpu_summit.cmake
@@ -1,3 +1,3 @@
string(APPEND LDFLAGS " -gpu=cc70,cc60 -Minfo=accel")
-string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl -L$ENV{OLCF_NETLIB_LAPACK_ROOT}/lib64 -llapack")
+string(APPEND SLIBS " -L$ENV{ESSL_PATH}/lib64 -lessl")
string(APPEND KOKKOS_OPTIONS " -DKokkos_ARCH_POWER9=On -DKokkos_ARCH_VOLTA70=On -DKokkos_ENABLE_CUDA=On -DKokkos_ENABLE_CUDA_LAMBDA=On")
diff --git a/cime_config/machines/cmake_macros/pgigpu_swing.cmake b/cime_config/machines/cmake_macros/pgigpu_swing.cmake
index a7f40d8e2243..7dced20dcc15 100644
--- a/cime_config/machines/cmake_macros/pgigpu_swing.cmake
+++ b/cime_config/machines/cmake_macros/pgigpu_swing.cmake
@@ -2,4 +2,3 @@ if (COMP_NAME STREQUAL gptl)
string(APPEND CPPDEFS " -DHAVE_NANOTIME -DBIT64 -DHAVE_GETTIMEOFDAY")
endif()
string(APPEND LDFLAGS " -gpu=cc70,cc60,deepcopy -Minfo=accel")
-string(APPEND SLIBS " -llapack -lblas")
diff --git a/cime_config/machines/config_machines.xml b/cime_config/machines/config_machines.xml
index a4b16318eb1b..2815e4de7b07 100644
--- a/cime_config/machines/config_machines.xml
+++ b/cime_config/machines/config_machines.xml
@@ -268,6 +268,11 @@
$SHELL{if [ -z "$ADIOS2_ROOT" ]; then echo /global/cfs/cdirs/e3sm/3rdparty/adios2/2.8.3.patch/cray-mpich-8.1.15/nvidia-21.11; else echo "$ADIOS2_ROOT"; fi}
+
+ $SHELL{if [ -z "$BLAS_ROOT" ]; then echo /opt/nvidia/hpc_sdk/Linux_x86_64/22.7/compilers; else echo "$BLAS_ROOT"; fi}
+ $SHELL{if [ -z "$LAPACK_ROOT" ]; then echo /opt/nvidia/hpc_sdk/Linux_x86_64/22.7/compilers; else echo "$LAPACK_ROOT"; fi}
+ NVHPC
+
$SHELL{if [ -z "$ADIOS2_ROOT" ]; then echo /global/cfs/cdirs/e3sm/3rdparty/adios2/2.8.3.patch/cray-mpich-8.1.15/aocc-3.2.0; else echo "$ADIOS2_ROOT"; fi}
@@ -1223,6 +1228,9 @@
$ENV{HOME}/e3sm_scratch/$CASE/run
$ENV{HOME}/e3sm_scratch/$CASE/bld
+
+ $ENV{BLASLAPACK_LIBDIR}
+
@@ -2794,6 +2802,7 @@
/home/azamat/soft/perl/5.32.0/bin:$ENV{PATH}
/home/azamat/soft/netcdf/4.4.1c-4.2cxx-4.4.4f/oneapi-2020.12.15.004-intel_mpi-2019.4.243
/home/azamat/soft/pnetcdf/1.12.1/oneapi-2020.12.15.004-intel_mpi-2019.4.243
+ /home/azamat/soft/libs
1
@@ -3569,6 +3578,7 @@
/software/user_tools/current/cades-ccsi/perl5/lib/perl5/
/software/dev_tools/swtree/cs400_centos7.2_pe2016-08/netcdf-hdf5parallel/4.3.3.1/centos7.2_gnu5.3.0
/software/dev_tools/swtree/cs400_centos7.2_pe2016-08/pnetcdf/1.9.0/centos7.2_gnu5.3.0
+ /software/tools/compilers/intel_2017/mkl/lib/intel64
@@ -4010,6 +4020,7 @@
$ENV{NETCDF_DIR}
$ENV{PNETCDF_DIR}
+ /global/software/sl-6.x86_64/modules/intel/2016.1.150/lapack/3.6.0-intel
@@ -4039,12 +4050,10 @@
-
mpirun
-np {{ total_tasks }}
-
/etc/profile.d/modules.sh
@@ -4056,10 +4065,10 @@
/usr/Modules/bin/modulecmd perl
/usr/Modules/bin/modulecmd python
-
+
cmake/3.15.0
perl
- xml-libxml/2.0116
+ xml-libxml/2.0116
python/3.6
@@ -4094,9 +4103,10 @@
$ENV{NETCDF_DIR}
$ENV{PNETCDF_DIR}
+ /global/software/sl-6.x86_64/modules/intel/2016.1.150/lapack/3.6.0-intel
-
+
FATES development machine at LBNL, System76 Thelio Massive Workstation Pop!_OS 20.04
lobata
@@ -4276,6 +4286,7 @@
$ENV{OLCF_NETCDF_C_ROOT}
$ENV{OLCF_NETCDF_FORTRAN_ROOT}
+ $ENV{OLCF_NETLIB_LAPACK_ROOT}
$ENV{OLCF_ESSL_ROOT}
$ENV{OLCF_HDF5_ROOT}
$ENV{OLCF_PARALLEL_NETCDF_ROOT}
@@ -4450,6 +4461,7 @@
$SHELL{dirname $(dirname $(which nc-config))}
$SHELL{dirname $(dirname $(which nf-config))}
$SHELL{dirname $(dirname $(which pnetcdf_version))}
+ $ENV{OLCF_NETLIB_LAPACK_ROOT}
$ENV{OLCF_ESSL_ROOT}
$ENV{OLCF_HDF5_ROOT}
0
@@ -4715,7 +4727,7 @@
$SHELL{dirname $(dirname $(which nf-config))}
$SHELL{dirname $(dirname $(which pnetcdf-config))}
/opt/apps/spack/opt/spack/linux-centos7-zen2/gcc-12.2.0/openblas-0.3.21-z66r7lyxwkhsshgreexm4cedffp73scp
- /opt/apps/spack/opt/spack/linux-centos7-zen2/gcc-12.2.0/netlib-lapack-3.10.1-lkhddpuidlw2z74g5ui6eq5iattsfjxp
+ /opt/apps/spack/opt/spack/linux-centos7-zen2/gcc-12.2.0/netlib-lapack-3.10.1-lkhddpuidlw2z74g5ui6eq5iattsfjxp
$ENV{PERL5LIB}:/opt/apps/spack/opt/spack/linux-centos7-zen2/gcc-12.2.0/perl-5.36.0-sly2pft2edg2p3iyijfyy6dzntusokno/lib/site_perl/5.36.0
FALSE
@@ -4805,7 +4817,7 @@
$SHELL{dirname $(dirname $(which nf-config))}
$SHELL{dirname $(dirname $(which pnetcdf-config))}
/apps/spack/opt/spack/linux-centos7-cascadelake/gcc-12.2.0/openblas-0.3.20-nxcsxdi56nj2gxyo65iyuaecp3cbd4xd
- /apps/spack/opt/spack/linux-centos7-cascadelake/gcc-12.2.0/netlib-lapack-3.10.1-xjw3q4abrpdihbyvx72em7l4wrzxm3zp
+ /apps/spack/opt/spack/linux-centos7-cascadelake/gcc-12.2.0/netlib-lapack-3.10.1-xjw3q4abrpdihbyvx72em7l4wrzxm3zp
FALSE
diff --git a/components/CMakeLists.txt b/components/CMakeLists.txt
index 152f09d5320a..8ebbc25b2f33 100644
--- a/components/CMakeLists.txt
+++ b/components/CMakeLists.txt
@@ -9,7 +9,7 @@
#
#===============================================================================
-cmake_minimum_required(VERSION 3.9)
+cmake_minimum_required(VERSION 3.18)
cmake_policy(SET CMP0057 NEW)
cmake_policy(SET CMP0074 NEW)
cmake_policy(SET CMP0079 NEW) # Remove once scorpio in a better state
diff --git a/components/cmake/build_model.cmake b/components/cmake/build_model.cmake
index 1615fba9bb03..0eefc6e8eba8 100644
--- a/components/cmake/build_model.cmake
+++ b/components/cmake/build_model.cmake
@@ -232,6 +232,10 @@ function(build_model COMP_CLASS COMP_NAME)
foreach(ITEM IN LISTS ALL_LIBS_LIST)
target_link_libraries(${TARGET_NAME} ${ITEM})
endforeach()
+
+ # Make sure we link blas/lapack
+ target_link_libraries(${TARGET_NAME} BLAS::BLAS LAPACK::LAPACK)
+
set_target_properties(${TARGET_NAME} PROPERTIES LINKER_LANGUAGE ${LD})
else()
set(TARGET_NAME ${COMP_CLASS})
diff --git a/components/cmake/common_setup.cmake b/components/cmake/common_setup.cmake
index 2290ec8c715d..8f56fb958db1 100644
--- a/components/cmake/common_setup.cmake
+++ b/components/cmake/common_setup.cmake
@@ -181,11 +181,6 @@ if (NOT HAS_COSP EQUAL -1)
set(USE_COSP TRUE)
endif()
-# System libraries (mpi, esmf, etc.)
-if (LAPACK_LIBDIR)
- set(SLIBS "${SLIBS} -L${LAPACK_LIBDIR} -llapack -lblas")
-endif()
-
if (LIB_MPI)
if (NOT MPI_LIB_NAME)
set(SLIBS "${SLIBS} -L${LIB_MPI} -lmpi")
diff --git a/components/cmake/find_dep_packages.cmake b/components/cmake/find_dep_packages.cmake
index c35625a9444d..081ef9376fcc 100644
--- a/components/cmake/find_dep_packages.cmake
+++ b/components/cmake/find_dep_packages.cmake
@@ -41,3 +41,5 @@ endif()
find_package(PIO REQUIRED)
find_package(MCT REQUIRED)
find_package(CsmShare REQUIRED)
+find_package(BLAS REQUIRED)
+find_package(LAPACK REQUIRED)
diff --git a/components/mpas-ocean/src/ocean.cmake b/components/mpas-ocean/src/ocean.cmake
index 8960f1a5e585..e23d5d08e796 100644
--- a/components/mpas-ocean/src/ocean.cmake
+++ b/components/mpas-ocean/src/ocean.cmake
@@ -6,11 +6,9 @@ list(APPEND INCLUDES "${CMAKE_BINARY_DIR}/core_ocean/shared") # Only need this f
list(APPEND INCLUDES "core_ocean/gotm/include")
# check if lapack is linked
-find_package(LAPACK)
-find_package(BLAS)
if (LAPACK_FOUND AND BLAS_FOUND)
list(APPEND CPPDEFS "-DUSE_LAPACK")
- list(APPEND LIBRARIES "${LAPACK_LIBRARIES};${BLAS_LIBRARIES}")
+ list(APPEND LIBRARIES BLAS::BLAS LAPACK::LAPACK)
endif()
if (USE_PETSC)