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

cesm1.2 pio_support scoping error on mpiifort

I'm porting CESM1.2 onto a local sgi ice machine and getting a scoping error in pio_support.F90  for subroutine MPI_TYPE_CREATE_INDEXED_BLOCK.The error is:/gsfs2/home/u17/mrgabe/cesm1_2_0/models/utils/pio/pio_support.F90(357): error #6645: The name of the module procedure conflicts with a name in the encompassing scoping unit.   [MPI_TYPE_CREATE_INDEXED_BLOCK]
  subroutine MPI_TYPE_CREATE_INDEXED_BLOCK(count, blen, disp, oldtype, newtype, ierr) I am using intel mpiifort on impi/4.0.3.008 (macros file flags below). My understanding is that this error has to do with the interface of the subroutine. Any suggestions on resolving this would be appreciated.Note:I have used a similar compiler/flag setup for CESM1.0.5 on the same local system without any problems so I wonder if the issue is due to a recent change in the module. CPPDEFS+= -DFORTRANUNDERSCORE -DNO_R16 -DLINUX -DSEQ_$(FRAMEWORK) -DFORTRANUNDERSCORE -DNO_SHR_VMATH -DNO_MPI2  -DLinux -DCPRINTEL
SLIBS+= -L$(NETCDF_PATH)/lib -lnetcdf 
CFLAGS:= $(CPPDEFS)
CXX_LDFLAGS:= -cxxlib
CXX_LINKER:=FORTRAN
FC_AUTO_R8:= -r8
FFLAGS:= $(CPPDEFS) -fpp -g -fp-model precise -convert big_endian -assume byterecl  -traceback -ftz -safe-cray-ptr
FFLAGS_NOOPT:= $(FFLAGS) -O0
FFLAGS_OPT:= $(FFLAGS) -O2
FIXEDFLAGS:= -132
FREEFLAGS:= -FR
LDFLAGS:=  -libverbs
MPICC:= mpiicc
 MPICXX:= mpicxx
MPIFC:=mpiifort
MPI_LIB_NAME:= mpich
MPI_PATH:= /gsfs1/uaopt/intel/2012.0.032/impi/4.0.3.008/intel64
NETCDF_PATH:= /gsfs1/xdisk/mrgabe/netifort
SCC:= mpiicc
CC:= mpiicc
SCXX:= icpc
SFC:= mpiifort
SUPPORTS_CXX:=FALSE
ifeq ($(DEBUG), TRUE)
   FFLAGS += -g -CU -check pointers -fpe0
endif
ifeq ($(compile_threaded), true)
   LDFLAGS += -openmp
   CFLAGS += -openmp
   FFLAGS += -openmp
endif

  
 

jedwards

CSEG and Liaisons
Staff member
I'm afraid that this is a compiler issue which is fixed in newer versions of the intel compiler.   Please update your compiler if possible.  
 
I switched to mpiifort on intel/2013.5.192 (update for June 2013) with impi/4.1.1.036 and I'm still running into the same problem. I've attached the pio log incase it helps.
 

jedwards

CSEG and Liaisons
Staff member
Okay I see the problem now.   You need to remove the flag -DNO_MPI2 from your Macros file.  
 
Top