E3SM-Project / scorpio

A high-level Parallel I/O Library for structured grid applications
Other
21 stars 16 forks source link

CMake messages on checking the NetCDF4 chunking constants are not shown on some E3SM machines #540

Open dqwu opened 1 year ago

dqwu commented 1 year ago

With PR #536 (Configure check for NC4 chunking consts), the following CMake messages are expected when we configure SCORPIO with NetCDF4 support:

-- Checking Whether the NetCDF4 chunking constants are available
-- Checking Whether the NetCDF4 chunking constants are available - [yes or no]

These messages are not shown on a few E3SM machines so far, including Chrysalis and Summit.

Simple steps to reproduce this CMake issue on Chrysalis:

module purge 
module load cmake/3.24.2-whgdv7y intel/20.0.4-kodw73g openmpi/4.1.3-pin4k7o

git clone https://github.com/E3SM-Project/scorpio.git
cd scorpio

mkdir build
cd build

CC=mpicc CXX=mpicxx FC=mpif90 \
cmake \
-DWITH_PNETCDF=OFF \
-DNetCDF_C_PATH=/gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/intel-20.0.4/netcdf-c-4.4.1-ihoo4zq \
-DNetCDF_Fortran_PATH=/gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/intel-20.0.4/netcdf-fortran-4.4.4-tplolxh \
-DPIO_USE_MALLOC=ON \
..

CMake outputs related to NetCDF do not contain messages on checking the NetCDF4 chunking constants:

...
-- Found NetCDF_C: /gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/intel-20.0.4/netcdf-c-4.4.1-ihoo4zq/lib/libnetcdf.so  
-- Checking NetCDF version
-- Checking NetCDF version - 4.4.1./*!<
-- Found NetCDF: /gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/intel-20.0.4/netcdf-c-4.4.1-ihoo4zq/lib/libnetcdf.so (found suitable version "4.4.1./*!<", minimum required is "4.4.0") 
-- Checking whether NetCDF has parallel support
-- Checking whether NetCDF has parallel support - yes
-- Looking for nc_set_log_level
-- Looking for nc_set_log_level - not found
-- Looking for nc__enddef
-- Looking for nc__enddef - found
-- NetCDF C library dependencies: /gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/intel-20.0.4/netcdf-c-4.4.1-ihoo4zq/lib/libnetcdf.so
-- Disabling support for PnetCDF
...
-- Found NetCDF_Fortran: /gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/intel-20.0.4/netcdf-fortran-4.4.4-tplolxh/lib/libnetcdff.so  
-- NetCDF Fortran library dependencies: /gpfs/fs1/soft/chrysalis/spack/opt/spack/linux-centos8-x86_64/intel-20.0.4/netcdf-fortran-4.4.4-tplolxh/lib/libnetcdff.so
-- Disabling support for PnetCDF
...

For comparison, the expected messages are shown on ANL GCE nodes:

...
-- NetCDF Fortran library dependencies: ****
-- Checking Whether the NetCDF4 chunking constants are available
-- Checking Whether the NetCDF4 chunking constants are available - yes
-- Disabling support for PnetCDF
...

This is a known issue that we need to fix later - the current PR #536 should be OK to be merged.