E3SM-Project / E3SM

Energy Exascale Earth System Model source code. NOTE: use "maint" branches for your work. Head of master is not validated.

Home Page:https://docs.e3sm.org/E3SM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

When build version 2.1, Error occur NETCDF not found: Define NETCDF_PATH or NETCDF_C_PATH and NETCDF_FORTRAN_PATH in config_machines.xml or config_compilers.xml

hjkang0905 opened this issue · comments

I'm trying to build E3SM version 2.1 and too difficult to solve this problem.
In my case, I think the error means that environmental variables about NETCDF are not defined in config_machines.xml or config_compilers.xml.
But, I've already defined NETCDF_PATH, NETCDF_C_PATH and NETCDF_FORTRAN_PATH in config_machines.xml and actually config_compilers.xml file is not involved E3SM version 2.1 source code.
What should I do for solving this problem?

  1. e3sm.bldlog
-- The C compiler identification is Intel 2021.6.0.20220226
-- The CXX compiler identification is Intel 2021.6.0.20220226
-- The Fortran compiler identification is Intel 2021.6.0.20220226
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/mpi/intel22/mpich-3.4.1/bin/mpicc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/mpi/intel22/mpich-3.4.1/bin/mpicxx - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/local/mpi/intel22/mpich-3.4.1/bin/mpif90 - skipped
Found MPAS component ocn model 'mpaso'
Found MPAS component ice model 'mpassi'
-- *** Building MPAS tools from source ***
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - not found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - found
-- Found BLAS: /usr/local/intel/oneapi/mkl/2022.1.0/lib/intel64/libmkl_intel_lp64.so;/usr/local/intel/oneapi/mkl/2022.1.0/lib/intel64/libmkl_intel_thread.so;/usr/local/intel/oneapi/mkl/2022.1.0/lib/intel64/libmkl_core.so;/usr/local/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin/libiomp5.so;-lpthread;-lm;-ldl
-- Looking for Fortran cheev
-- Looking for Fortran cheev - found
-- Found LAPACK: /usr/local/intel/oneapi/mkl/2022.1.0/lib/intel64/libmkl_intel_lp64.so;/usr/local/intel/oneapi/mkl/2022.1.0/lib/intel64/libmkl_intel_thread.so;/usr/local/intel/oneapi/mkl/2022.1.0/lib/intel64/libmkl_core.so;/usr/local/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin/libiomp5.so;-lpthread;-lm;-ldl;-lpthread;-lm;-ldl
FATALMissing core_ocean/MARBL/.git, did you forget to 'git submodule update --init --recursive' ?
FATALMissing core_ocean/gotm/.git, did you forget to 'git submodule update --init --recursive' ?
Found component atm model 'eam'
CMake Error at cmake/common_setup.cmake:171 (message):
  NETCDF not found: Define NETCDF_PATH or NETCDF_C_PATH and
  NETCDF_FORTRAN_PATH in config_machines.xml or config_compilers.xml
Call Stack (most recent call first):
  cmake/build_model.cmake:5 (include)
  cmake/atm/CMakeLists.txt:1 (build_model)


-- Configuring incomplete, errors occurred!
real 4.99
user 3.16
sys 1.51
  1. config_machines.xml
  <OS>LINUX</OS>
  <COMPILERS>intel</COMPILERS>
  <MPILIBS>mpich</MPILIBS>
  <PROJECT>e3sm</PROJECT>
  <!--<SAVE_TIMING_DIR></SAVE_TIMING_DIR>
         <SAVE_TIMING_DIR_PROJECTS></SAVE_TIMING_DIR_PROJECTS>-->
  <CIME_OUTPUT_ROOT>/home/$ENV{USER}/E3SM/e3sm_scratch</CIME_OUTPUT_ROOT>
  <DIN_LOC_ROOT>/home/$ENV{USER}/E3SM/Input_Data/E3SM-2.1</DIN_LOC_ROOT>
  <!--DIN_LOC_ROOT>/home/$ENV{USER}/e3sm_input/web.lcrc.anl.gov/public/e3sm/inputdata</DIN_LOC_ROOT>-->
  <DIN_LOC_ROOT_CLMFORC>$DIN_LOC_ROOT/atm/datm7</DIN_LOC_ROOT_CLMFORC>
  <DOUT_S_ROOT>/home/$ENV{USER}/E3SM/e3sm_archive/$CASE</DOUT_S_ROOT>
  <BASELINE_ROOT>/nobackup/fvitt/e3sm_baselines</BASELINE_ROOT>
  <CCSM_CPRNC>/u/fvitt/bin/cprnc</CCSM_CPRNC>
  <GMAKE_J>8</GMAKE_J>
  <BATCH_SYSTEM>pbs</BATCH_SYSTEM>
  <SUPPORTED_BY>e3sm</SUPPORTED_BY>
  <MAX_TASKS_PER_NODE>48</MAX_TASKS_PER_NODE>
  <MAX_MPITASKS_PER_NODE>48</MAX_MPITASKS_PER_NODE>
  <PROJECT_REQUIRED>FALSE</PROJECT_REQUIRED>
  <mpirun mpilib="mpich">
    <executable>mpirun</executable>
    <arguments>
      <arg name="num_tasks"> -np {{ total_tasks }}</arg>
    </arguments>
  </mpirun>
  <module_system type="module">
    <init_path lang="perl">/usr/share/Modules/init/perl.pm</init_path>
    <init_path lang="python">/usr/share/Modules/init/python.py</init_path>
    <init_path lang="sh">/usr/share/Modules/init/sh</init_path>
    <init_path lang="csh">/usr/share/Modules/init/csh</init_path>
    <cmd_path lang="perl">/usr/bin/modulecmd perl</cmd_path>
    <cmd_path lang="python">/usr/bin/modulecmd python</cmd_path>
    <cmd_path lang="csh">module</cmd_path>
    <cmd_path lang="sh">module</cmd_path>
    <modules>
      <command name="purge"/>
      <command name="load">intel22/compiler-22</command>
      <command name="load">intel22/mpich-3.4.1</command>
      <command name="load">intel22/netcdf-4.6.1</command>
      <command name="load">intel22/pnetcdf-1.11.2</command>
      <command name="load">intel22/hdf5-1.10.5</command>
    </modules>
  </module_system>
  <environment_variables>
    <env name="NETCDF_PATH">/usr/local/netcdf/4.6.1_intel22</env>
    <env name="NETCDF_C_PATH">/usr/local/netcdf/4.6.1_intel22</env>
    <env name="NETCDF_FORTRAN_PATH">/usr/local/netcdf/4.6.1_intel22</env>
    <env name="HDF5_PATH">/usr/local/hdf5/1.10.5_intel22</env>
    <env name="PERL5LIB">/usr/share/perl5</env>
    <env name="PNETCDF_PATH">/usr/local/pnetcdf/1.11.2_intel22_mpich-3.4.1</env>
  </environment_variables>