Problems compiling runoff_to_ocean on Cheyenne

Status
Not open for further replies.

minminfu

Member
I am using CESM1.2.2.1 for deep time paleoclimate, and I would like to compile the runoff_to_ocean utility on Cheyenne.

Unfortunately, I am running into this error.

ld: /glade/u/apps/ch/opt/netcdf-mpi/4.6.1/mpt/2.19/intel/17.0.1/lib/libnetcdf.a(libdispatch_la-dfile.o): in function `NC_check_file_type':
dfile.c:(.text+0x76c): undefined reference to `MPI_File_open'
ld: dfile.c:(.text+0x790): undefined reference to `MPI_File_get_size'
ld: dfile.c:(.text+0x88d): undefined reference to `MPI_File_read_at_all'
ld: dfile.c:(.text+0xa36): undefined reference to `MPI_File_read_at_all'
ld: dfile.c:(.text+0xa8e): undefined reference to `MPI_File_close'

I am following the instructions provided:

cd /glade/work/mjfu/cesm1_2_2_1/tools/mapping/gen_mapping_files/runoff_to_ocn/src
export CCSMROOT=/glade/work/mjfu/cesm1_2_2_1
$CCSMROOT/scripts/ccsm_utils/Machines/configure -mach cheyenne
./build.csh


env_mach_specific is generated as follows

#! /bin/tcsh

# -------------------------------------------------------------------------
# Laramie build specific settings
# -------------------------------------------------------------------------

source /etc/profile.d/modules.csh

module purge

module load intel/17.0.1
module load ncarenv/1.2
module load mkl
module load ncarcompilers/0.4.1
module load mpt/2.19
if( $MPILIB == "mpi-serial" ) then
module load netcdf/4.4.1.1
else
module load netcdf-mpi/4.6.1
module load pnetcdf/1.11.0
endif
# -------------------------------------------------------------------------
# Build and runtime environment variables - edit before the initial build
# -------------------------------------------------------------------------

setenv OMP_STACKSIZE 256M
setenv NETCDF_PATH $NETCDF
setenv PNETCDF_PATH $PNETCDF



Thank you for your help! It is much appreciated!
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I updated to the module configuration in release-cesm2.0.0 and that compiled successfully on cheyenne:

/glade/work/oleson/cesm1_2_2_1/tools/mapping/gen_mapping_files/runoff_to_ocn/build.csh
/glade/work/oleson/cesm1_2_2_1/tools/mapping/gen_mapping_files/runoff_to_ocn/env_mach_specific

I haven't tried running the executable though. You could also just try using release-cesm2.0.0.
 

minminfu

Member
Thank you! It compiles now. I will follow up with whether the executable works.

I note below the differences between mine and your env_mach_specific.cheyenne

module load ncarenv/1.0 -> module load ncarenv/1.2
module load ncarcompilers/0.3.5 -> module load ncarcompilers/0.4.1
module load mpt/2.15 -> module load mpt/2.19
module load netcdf-mpi/4.4.1.1 -> module load netcdf-mpi/4.6.1
module load pnetcdf/1.8.0 -> module load pnetcdf/1.11.0
 
Status
Not open for further replies.
Back
Top