NOAA-EMC / hpc-stack

Create a software stack for HPC's
GNU Lesser General Public License v2.1
29 stars 35 forks source link

crtm-2.4.0 installation fails on gaea #487

Closed jkbk2004 closed 1 year ago

jkbk2004 commented 1 year ago

Describe the bug -- Could NOT find MPI_Fortran (missing: MPI_Fortran_LIB_NAMES MPI_Fortran_F77_HEADER_DIR MPI_Fortran_MODULE_DIR MPI_Fortran_WORKS) CMake Error at /ncrc/sw/gaea-cle7/uasw/ncrc/envs/20200417/opt/linux-sles15-x86_64/gcc-7.5.0/cmake-3.20.1-w7tkahac22qulhbcbi6io54u5dfr36zs/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find MPI (missing: MPI_Fortran_FOUND)

To Reproduce export HPC_COMPILER="intel/2021.3.0" stack/stack_noaa.yaml

Expected behavior crtm-2.4.0 buils ok on all other platforms (hera/orion/jet/cheyenne)

System: gaea

jkbk2004 commented 1 year ago

@Hang-Lei-NOAA Were you able to install crtm-2.4.0 on gaea?

jkbk2004 commented 1 year ago

@natalie-perlin If any progress with this issue, please post comments here.

natalie-perlin commented 1 year ago

I'm having the same issue with Gaea. This appears to be issue on a CMake level, as a variable MPI_Fortran is not found to be set:

-- Could NOT find MPI_Fortran (missing: MPI_Fortran_LIB_NAMES MPI_Fortran_F77_HEADER_DIR MPI_Fortran_MODULE_DIR MPI_Fortran_WORKS)
CMake Error at /ncrc/sw/gaea-cle7/uasw/ncrc/envs/20200417/opt/linux-sles15-x86_64/gcc-7.5.0/cmake-3.20.1-w7tkahac22qulhbcbi6io54u5dfr36zs/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find MPI (missing: MPI_Fortran_FOUND)

The variable MPI_Fortran expected to be set by cmake. The CRTM2.4 code has the following under ./crtm-v2.4.0/test/cmake/Modules/SetParallelizationLibrary.cmake :

ELSEIF (USE_MPI)

Find MPI

IF (NOT MPI_Fortran_FOUND)
    FIND_PACKAGE (MPI REQUIRED)
ENDIF (NOT MPI_Fortran_FOUND)

Could this issue be resolved with using a higher version of cmake?

jkbk2004 commented 1 year ago

I am not sure if we can give a try with cmake build option: -DCMAKE_PREFIX_PATH=path_to_mpi_lib

natalie-perlin commented 1 year ago

The crtm/2.4.0 installed on Gaea, the module file is /lustre/f2/dev/wpo/role.epic/contrib/hpc-stack/intel-2021.3.0/modulefiles/compiler/intel/2021.3.0/crtm/2.4.0.lua

jkbk2004 commented 1 year ago

@natalie-perlin baseline/crtm-2.4.0 is reproduced ok with turning off MPI/required at netcdf_config line. I am not sure if we can force this feature at hpc-stack installation level or only way is to change in crtm/cmake.

natalie-perlin commented 1 year ago

Yes, we can force to have it commented out from the config file by passing an additional variable, or just hard-wire it and comment out the MPI build for crtm in the ./libs/build_nceplibs.sh

jkbk2004 commented 1 year ago

we are merging in ufs-wm pr 1425