Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Porting CESM 1.5 build case issues

Hi all,

I am currently in the processes of porting CESM 1.5b/2.0 over to the Hera computer, but am running into an issue when attempting to build a case. The error message appears to pertain to the "kissvec.c" file, which I have no prior experience correcting as I am much more familiar with CESM1.2.2. I found a previous post on the forum from last year talking about a similar issue, but there didn't seem to be a very satisfying resolution to the problem. I suspect that this is a compiler issue, but has anyone run into this error before and found a solution? I have included the csm_share.bldlog error message below as well as the machine specs being used.

Thanks in advance!
- Chris


csm_share.bldlog error message:

/scratch1/BMC/chimera/cmaloney/cesm-1.5.b2-full_checkout/cime/share/shr_RandNum/src/kissvec/kissvec.c(21): error: identifier "restrict" is undefined
void kiss_rng(uint32_t seed1[restrict], uint32_t seed2[restrict],
^

compilation aborted for /scratch1/BMC/chimera/cmaloney/cesm-1.5.b2-full_checkout/cime/share/shr_RandNum/src/kissvec/kissvec.c (code 2)
gmake: *** [kissvec.o] Error 2
rm shr_assert_mod.F90 shr_infnan_mod.F90
gmake complib -j 1 MODEL=csm_share COMPLIB=libcsm_share.a USER_CPPDEFS=" -DNUM_COMP_INST_ATM=1 -DNUM_COMP_INST_LND=1 -DNUM_COMP_INST_OCN=1 -DNUM_COMP_INST_ICE=1 -DNUM_COMP_INST_GLC=1 -DNUM_COMP_INST_WAV=1 -DNUM_COMP_INST_ROF=1 -DNUM_COMP_INST_ESP=1" -f /scratch1/BMC/chimera/cmaloney/cesm-1.5.b2-full_checkout/cime/scripts/hera_port_test2/Tools/Makefile returned non-zero exit status 2

Macros.make case file:
ifeq ($(COMPILER),intel)
MPIFC := mpiifort
PNETCDF_PATH := $(PNETCDF)
MPICC := mpiicc
SLIBS := -L$(NETCDF)/lib -L$(NETCDF)/include -lnetcdf -lnetcdff
NETCDF_PATH := $(NETCDF)
endif
ifeq ($(COMPILER),intel)
ifeq ($(MPILIB),impi)
SLIBS := $(SLIBS) -mkl=sequential
endif
endif

Machine info:
slurm scheduling system
intel 18.0.5.274
impi 2018.0.4
netcdf-hdf5 parallel 4.7.0
pnetcdf 1.10.0
 
Just thought I should update this as the problem has been resolved. There was an issue where a number of the flags within the 'config_compiler.xml' were not being implemented properly and thus they weren't being set (which is why the Macros.make file was so short).
 
Top