NOAA-EMC / hpc-stack

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

hpc-stack module netcdf/4.7.4 and others contain error message in module_base.wcoss_dell_p3 #370

Open lgannoaa opened 2 years ago

lgannoaa commented 2 years ago

module_base.wcoss_dell_p3 using hpc-stack found error message:

module load netcdf/4.7.4 Lmod has detected the following error: Cannot load module "netcdf/4.7.4" without these module(s) loaded: hdf5

This requirement is from /gpfs/dell2/usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/mpi/ips/18.0.1.163/impi/18.0.1/netcdf/4.7.4.lua prereq("hdf5")

A check with all official NetCDF in "Third Party Compiled Libraries and Tools" and "Third Party Compiled MPI Libraries and Tools" does not have such a dependence.

Other error include:

kgerheiser commented 2 years ago

These seem like legitimate errors. NetCDF depends on HDF5, nemsio depends on bacio and w3nco, etc.

aerorahul commented 2 years ago

The errors are specific to WCOSS Dell P3, where LMOD_EXACT_MATCH=yes is set in the module EnvVars.
The error comes from module load netcdf/4.7.4 even if HDF5 is loaded. This is because in the netcdf/4.7.4.lua modulefile, there is a prereq(hdf5). Notice that there is no version in the hdf5 pre-requisite. LMod will try to load the default, but that has been disabled on WCOSS Dell P3 and requires an exact version.

The solution here is to set the variable LMOD_EXACT_MATCH=NO when using hpc-stack to allow for loading the default module unless exactly requested module version.

aerorahul commented 2 years ago

@kgerheiser look in config.wcoss_dell_p3.sh for example Screen Shot 2021-11-30 at 11 07 46 AM

kgerheiser commented 2 years ago

Yes, @aerorahul is correct. I forgot about that peculiarity on WCOSS-Dell.

aerorahul commented 2 years ago

We also don't load the EnvVars module which sets this:

LMOD_EXACT_MATCH="yes"