Since there are no intel-classic equivalents to intel-oneapi.cmake and intel-oneapi_derecho.cmake in machines/cmake_macros, builds of CESM compsets will fail in the share external due to missing CPRINTEL preprocessor macro in shr_infnan_mod.F90.in.
Example error messages:
path_to/CESM/share/src/shr_infnan_mod.F90.in(71): error #7950: Procedure name in MODULE PROCEDURE statement must be the name of accessible module procedure. [SHR_INFNAN_ISNAN_DOUBLE]
module procedure shr_infnan_isnan_double
--------------------^
path_to/CESM/share/src/shr_infnan_mod.F90.in(73): error #7950: Procedure name in MODULE PROCEDURE statement must be the name of accessible module procedure. [SHR_INFNAN_ISNAN_REAL]
module procedure shr_infnan_isnan_real
--------------------^
path_to/CESM/share/src/shr_infnan_mod.F90.in(71): error #7407: Unresolved MODULE PROCEDURE specification name. [SHR_INFNAN_ISNAN_DOUBLE]
module procedure shr_infnan_isnan_double
--------------------^
path_to/CESM/share/src/shr_infnan_mod.F90.in(73): error #7407: Unresolved MODULE PROCEDURE specification name. [SHR_INFNAN_ISNAN_REAL]
module procedure shr_infnan_isnan_real
--------------------^
compilation aborted for shr_infnan_mod.F90 (code 1)
Steps to reproduce:
Download and checkout_externals a clone of CESM (e.g. cesm2_3_alpha17a)
Create and setup any case using --compiler intel-classic (tested with FHS94)
Attempt a build
Proposed fix:
Create softlinks in machines/cmake_macros intel-classic.cmake to intel.cmake and intel-classic_derecho.cmake to intel_derecho.cmake.
Since there are no
intel-classic
equivalents tointel-oneapi.cmake
andintel-oneapi_derecho.cmake
in machines/cmake_macros, builds of CESM compsets will fail in the share external due to missingCPRINTEL
preprocessor macro in shr_infnan_mod.F90.in.Example error messages:
Steps to reproduce:
checkout_externals
a clone of CESM (e.g. cesm2_3_alpha17a)--compiler intel-classic
(tested with FHS94)Proposed fix: Create softlinks in machines/cmake_macros
intel-classic.cmake
tointel.cmake
andintel-classic_derecho.cmake
tointel_derecho.cmake
.