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

problem in running cesm1.0.6

i tried running cesm 1.0.6 and encountered the following error in the stage where i was performing a build. Fatal Error: File 'mpi.mod' opened at (1) is not a GFORTRAN module filegmake[1]: *** [pio_kinds.o] Error 1gmake[1]: Leaving directory `/storage/home/aketh/scr_root/test1/pio'gmake: *** [all] Error 2 cat /home/aketh/scr_root/test1/pio/pio.bldlog.141218-152031Thu Dec 18 15:21:05 IST 2014 /home/aketh/scr_root/test1/pio/pio.bldlog.141218-152031Copying source to CCSM EXEROOT...ignore pio file alloc_mod.F90ignore pio file box_rearrange.F90ignore pio file iompi_mod.F90cp: omitting directory `m4'ignore pio file piodarray.F90ignore pio file pio_msg_getput_callbacks.F90ignore pio file pionfatt_mod.F90ignore pio file pionfget_mod.F90ignore pio file pionfput_mod.F90ignore pio file pionfread_mod.F90ignore pio file pionfwrite_mod.F90ignore pio file pio_spmd_utils.F90ignore pio file pio_support.F90ignore pio file rearrange.F90New build of PIORunning configure...for OS=Linux MACH=generic_linux_intelcat: Filepath: No such file or directorycat: Srcfiles: No such file or directory/storage/home/aketh/cesm1_0_6/scripts/test1/Tools/mkSrcfiles > /storage/home/aketh/scr_root/test1/pio/Srcfilescp -f /storage/home/aketh/scr_root/test1/pio/Filepath /storage/home/aketh/scr_root/test1/pio/Deppath/storage/home/aketh/cesm1_0_6/scripts/test1/Tools/mkDepends Deppath Srcfiles > /storage/home/aketh/scr_root/test1/pio/Depends./configure   --disable-mct --disable-timing  CC="mpicc" F90="mpif90" NETCDF_PATH="/storage/softwares/installedsoftware/netcdf" MPI_INC="-I/opt/intel/impi/4.1.3.048/include" checking for C compiler default output file name... a.outchecking whether the C compiler works... yeschecking whether we are cross compiling... nochecking for suffix of executables... checking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether mpicc accepts -g... yeschecking for mpicc option to accept ISO C89... none neededchecking for mpicc... mpiccchecking for MPI_Init... yeschecking for mpi.h... yeschecking how to run the C preprocessor... mpicc -Echecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking for char... yeschecking size of char... 1checking for int... yeschecking size of int... 4checking for float... yeschecking size of float... 4checking for double... yeschecking size of double... 8checking for void *... yeschecking size of void *... 8checking Fortran 90 filename extension... .F90checking whether we are using the GNU Fortran 90 compiler... yeschecking for mpxlf90_r... nochecking for mpxlf90... nochecking for mpxlf95... nochecking for mpipgf90... nochecking for mpif90... mpif90checking for mpif.h... yeschecking MPI-IO support in MPI implementation... yeschecking how to get the version output from mpif90... --versionchecking whether byte ordering is bigendian... noconfigure: WARNING: UNKNOWN FORTRAN 90 COMPILERchecking whether fortran .mod file is uppercase... nochecking for Fortran 90 name-mangling scheme... lower case, underscorechecking for cpp... cppchecking if Fortran 90 compiler performs preprocessing... yeschecking if C preprocessor can work with Fortran compiler... yesFull hostname= master.ipoc.orgHostname=master.ipoc.orgMachine=x86_64OS=Linuxusing NETCDF_PATH from environmentconfigure: WARNING: PNETCDF_PATH not found in environment,                            defaulting to /usr/local/pnetcdfconfigure: WARNING: pnetcdf.inc not found in PNETCDF_PATH/include                              disabling pnetcdf support configure: WARNING: libpnetcdf.a not found in PNETCDF_PATH/lib                              disabling pnetcdf support checking Fortran 90 support for sizeof()... nodisabling Fortran sizeof() Temp variables: {F90=mpif90} {MPIF90=mpif90} Output Variables: {CC=mpicc} {MPICC=mpicc} {ALLCFLAGS=-g -O2 -DFORTRAN_UNDERSCORE_ -DFORTRANUNDERSCORE -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR} {EXPLICIT_FPP=no} {FPP=cpp} {FPPFLAGS=-P -C -N -traditional} {FC=mpif90} {MPIF90=mpif90}{OPT=} {BIT64=} {REAL8=} {ENDIAN=} {FFLAGS= -I/opt/intel/impi/4.1.3.048/include} {CFLAGS=-g -O2} {F90FLAGS=} {MACHDEFS=-DSYSLINUX -DLINUX -DCPRUNKNOWNCPR} {MPI_INC=-I/opt/intel/impi/4.1.3.048/include} {MPI_LIB=} {MODINC=-I} {INCLUDEPATH=} {AR=ar} {ARFLAGS=cq} {USE_PNETCDF=no} {PNETCDF_PATH=/usr/local/pnetcdf} {USE_NETCDF=yes} {NETCDF_PATH=/storage/softwares/installedsoftware/netcdf} {USE_MCT=no} {USEBOX=yes} {PDEFS= -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF} {PDEFSF= -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF} {PINCS=-I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include} {LDLIBS= -L/storage/softwares/installedsoftware/netcdf/lib -lnetcdf } {DEBUG=no} configure: creating ./config.statusconfig.status: creating Makefile.confPlease check the Makefile.confHave a nice day!Making dependencies for pio.F90 --> pio.dMaking dependencies for pio_kinds.F90 --> pio_kinds.dMaking dependencies for nf_mod.F90 --> nf_mod.dMaking dependencies for ionf_mod.F90 --> ionf_mod.dMaking dependencies for pio_types.F90 --> pio_types.dMaking dependencies for piolib_mod.F90 --> piolib_mod.dMaking dependencies for pio_mpi_utils.F90 --> pio_mpi_utils.dMaking dependencies for pio_nf_utils.F90 --> pio_nf_utils.dMaking dependencies for pio_utils.F90 --> pio_utils.dMaking dependencies for pio_quicksort.F90 --> pio_quicksort.dMaking dependencies for pio_msg_mod.F90 --> pio_msg_mod.dMaking dependencies for pio_msg_callbacks.F90 --> pio_msg_callbacks.dMaking dependencies for calcdecomp.F90 --> calcdecomp.dMaking dependencies for calcdisplace_mod.F90 --> calcdisplace_mod.d/usr/bin/perl genf90.pl pionfatt_mod.F90.in > pionfatt_mod.F90Making dependencies for pionfatt_mod.F90 --> pionfatt_mod.d/usr/bin/perl genf90.pl pionfread_mod.F90.in > pionfread_mod.F90Making dependencies for pionfread_mod.F90 --> pionfread_mod.d/usr/bin/perl genf90.pl pionfwrite_mod.F90.in > pionfwrite_mod.F90Making dependencies for pionfwrite_mod.F90 --> pionfwrite_mod.d/usr/bin/perl genf90.pl pionfput_mod.F90.in > pionfput_mod.F90Making dependencies for pionfput_mod.F90 --> pionfput_mod.d/usr/bin/perl genf90.pl pionfget_mod.F90.in > pionfget_mod.F90Making dependencies for pionfget_mod.F90 --> pionfget_mod.d/usr/bin/perl genf90.pl alloc_mod.F90.in > alloc_mod.F90Making dependencies for alloc_mod.F90 --> alloc_mod.d/usr/bin/perl genf90.pl box_rearrange.F90.in > box_rearrange.F90Making dependencies for box_rearrange.F90 --> box_rearrange.d/usr/bin/perl genf90.pl rearrange.F90.in > rearrange.F90Making dependencies for rearrange.F90 --> rearrange.d/usr/bin/perl genf90.pl pio_support.F90.in > pio_support.F90Making dependencies for pio_support.F90 --> pio_support.d/usr/bin/perl genf90.pl iompi_mod.F90.in > iompi_mod.F90Making dependencies for iompi_mod.F90 --> iompi_mod.d/usr/bin/perl genf90.pl piodarray.F90.in > piodarray.F90Making dependencies for piodarray.F90 --> piodarray.d/usr/bin/perl genf90.pl pio_spmd_utils.F90.in > pio_spmd_utils.F90Making dependencies for pio_spmd_utils.F90 --> pio_spmd_utils.d/usr/bin/perl genf90.pl pio_msg_getput_callbacks.F90.in > pio_msg_getput_callbacks.F90Making dependencies for pio_msg_getput_callbacks.F90 --> pio_msg_getput_callbacks.dDone updating dependenciesgmake[1]: Entering directory `/storage/home/aketh/scr_root/test1/pio'mpicc -c -g -O2 -DFORTRAN_UNDERSCORE_ -DFORTRANUNDERSCORE -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF  -I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include topology.cmpif90 -c -I/opt/intel/impi/4.1.3.048/include  -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF -I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include pio_kinds.F90pio_kinds.F90:19.45:    use mpi, only : MPI_OFFSET_KIND !_EXTERNAL                                             1Fatal Error: File 'mpi.mod' opened at (1) is not a GFORTRAN module filegmake[1]: *** [pio_kinds.o] Error 1gmake[1]: Leaving directory `/storage/home/aketh/scr_root/test1/pio'gmake: *** [all] Error 2  
 

jedwards

CSEG and Liaisons
Staff member
Your MPI library (at least the Fortran) was not built with the same gfortran version that you are trying to use for CESM.   You can avoid this error in three ways:Build CESM with the compiler version that was used to build MPIBuild MPI with the compiler version you want to use for CESM.Add the flag -DNO_MPIMOD to your Macros file to avoid the F90 interface to MPI.    
 
i am confused.  i use the intel fortran and c compiler.to add the flag -DNO_MPIMOD in the macros which parameter must be set as _DNO_MPIMOD?i mean is it FFFLAG CDFLAG etc? 
 
CPPDEFS += -DLINUX -DSEQ_$(FRAMEWORK) -DFORTRANUNDERSCORE -DNO_R16 -DNO_SHR_VMATH -DNO_MPIMODit is this line i have added the -DNO_MPIMOD  and still no luck the error seems to persist. it doesnt seem to add the -DNO_MPIMOD flag  mpicc -c -g -O2 -DFORTRAN_UNDERSCORE_ -DFORTRANUNDERSCORE -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF  -I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include topology.cmpif90 -c -I/opt/intel/impi/4.1.3.048/include  -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_SIZEOF -I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include pio_kinds.F90pio_kinds.F90:19.45:    use mpi, only : MPI_OFFSET_KIND !_EXTERNAL                                             1Fatal Error: File 'mpi.mod' opened at (1) is not a GFORTRAN module file gmake[1]: *** [pio_kinds.o] Error 1 gmake[1]: Leaving directory `/storage/home/aketh/scr_root/test1/pio' gmake: *** [all] Error 2 
 
after adding mpiifort instead of mpif90 i got the following error is this a progress or is the original setting right. Have a nice day!make[1]: Entering directory `/storage/home/aketh/scr_root/test1/mct/mpeu'mpicc -c -DSYSLINUX -DCPRINTEL  -g -O2  -I/opt/intel/impi/4.1.3.048/include  -I. -I../ get_zeits.cmpif90 -c -I/opt/intel/impi/4.1.3.048/include  -I. -I../ -DSYSLINUX -DCPRINTEL -O2  -w -ftz   m_mpif.F90f951: error: unrecognized command line option "-ftz"make[1]: *** [m_mpif.o] Error 1make[1]: Leaving directory `/storage/home/aketh/scr_root/test1/mct/mpeu'make: *** [subdirs] Error 2
 

jedwards

CSEG and Liaisons
Staff member
Have you tried compiling and running something simple like the mpi hello world program that you can find in the CESM users manual?
 
the hello world MPI program seems to be running without any issues.  however i noticed something strangempif90 -f90=ifort -c -I/opt/intel/impi/4.1.3.048/include  -I. -I../ -DSYSLINUX -DCPRINTEL -O2  -w -ftz hello works perfectly and produces an output file with a .o extention. while mpif90 -c -I/opt/intel/impi/4.1.3.048/include  -I. -I../ -DSYSLINUX -DCPRINTEL -O2  -w -ftz hello  produces this error f951: error: unrecognized command line option "-ftz"  so i believe the problem is with to force mpif90 to use the fortran of intel rather than the GNU.  but i am unable to figure out how to do this. 
 
here is my error log after i did the following it does seem to remove the -ftz error. export I_MPI_CC=icc export I_MPI_CXX=icpc export I_MPI_F77=ifort export I_MPI_F90=ifortafter adding these to the .bashrc and source ~/.bashrc i stumbled upon another new error    mpicc -c -g -O2 -DFORTRAN_UNDERSCORE_ -DFORTRANUNDERSCORE -DSYSLINUX -DLINUX -DCPRINTEL -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX  -I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include topology.c    mpif90 -c -r8 -convert big_endian  -I/opt/intel/impi/4.1.3.048/include -w -ftz -assume byterecl -DSYSLINUX -DLINUX -DCPRINTEL -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include pio_kinds.F90    pio_kinds.F90(19): error #7881: This module file was generated for a different platform or by an incompatible compiler or compiler release. It cannot be read.   [MPI]   use mpi, only : MPI_OFFSET_KIND !_EXTERNAL-------^pio_kinds.F90(40): error #6592: This symbol must be a defined parameter, an enumerator, or an argument of an inquiry function that evaluates to a compile-time constant.   [MPI_OFFSET_KIND]      PIO_OFFSET = MPI_OFFSET_KIND-------------------^pio_kinds.F90(19): error #6580: Name in only-list does not exist.   [MPI_OFFSET_KIND]   use mpi, only : MPI_OFFSET_KIND !_EXTERNAL  
 
that is something i am unable to do.CPPDEFS += -DLINUX -DSEQ_$(FRAMEWORK) -DFORTRANUNDERSCORE -DNO_R16 -DNO_SHR_VMATH -DNO_MPIMOD-DNO_MPIMOD is already added to the CPPDEFS. i use 1.0.6 version of CESM i also performed a cleanbuild before a build and then build still the issue persists.  
 

jedwards

CSEG and Liaisons
Staff member
I think that in 1_0_6 the clean build may not always clean everything - try completely removing your build directory and starting over: rm -fr /storage/home/aketh/scr_root/test1
 
i tried with deleting a creating a fresh case it still fails with the same error.checking the error log it isnt using the _DNO_MPIMOD flag which means there must be something thats stopping the compiler to set the flag which i am unable to figure out.
 
i performed a cd to /storage/home/aketh/scr_root/test1/pioand tried this   mpif90 -c -I/opt/intel/impi/4.1.3.048/include  -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include pio_kinds.F90 and encountered the same error while with this  mpif90 -c -I/opt/intel/impi/4.1.3.048/include  -DSYSLINUX -DLINUX -DCPRUNKNOWNCPR -DSPMD -DHAVE_MPI -DUSEMPIIO -D_NETCDF -D_NOPNETCDF -D_NOUSEMCT -D_USEBOX -DNO_MPIMOD -I/opt/intel/impi/4.1.3.048/include -I/storage/softwares/installedsoftware/netcdf/include pio_kinds.F90there is a successful compilation i feel there is a way to add to CPPDEFS to take up userdefined flags which i am unable to figure out.
 
i managed a successful build and run.but while performing the submir i got the follwing output is this something to do with the dead component set../test1.generic_linux_intel.submit check_case OKUNSET: Command not found.
 

jedwards

CSEG and Liaisons
Staff member
> i feel there is a way to add to CPPDEFS to take up userdefined flags which i am unable to figure out.You should have a file in your case directory called Macros.machine  The first line of that file should be CPPDEFS.
 
all i got after fixing the UNSET problen was ./test1.generic_linux_intel.run CCSM_COMPSET=X_PRESENT_DAY (X)COMP_ATM=xatmCOMP_LND=xlndCOMP_ICE=xiceCOMP_GLC=xglcCOMP_OCN=xocnCOMP_CPL=cplCCSM_LCOMPSET=X_PRESENT_DAYCCSM_SCOMPSET=XCOMP_RUN_BARRIERS=FALSECOMP_INTERFACE=MCTBUILD_COMPLETE=TRUESMP_BUILD=a0l0i0o0g0c0SMP_VALUE=a0l0i0o0g0c0------------------------------------------------------------------------- CCSM BUILDNML SCRIPT STARTING - To prestage restarts, untar a restart.tar file into /home/aketh/scr_root/test1/run - Create modelio namelist input files CCSM BUILDNML SCRIPT HAS FINISHED SUCCESSFULLY------------------------------------------------------------------------- CCSM PRESTAGE SCRIPT STARTING - CCSM input data directory, DIN_LOC_ROOT_CSMDATA, is /home/aketh/inputdata - Case input data directory, DIN_LOC_ROOT, is /home/aketh/inputdata - Checking the existence of input datasets in DIN_LOC_ROOT CCSM PRESTAGE SCRIPT HAS FINISHED SUCCESSFULLYFri Dec 26 12:09:24 IST 2014 -- CSM EXECUTION BEGINS HERE  is this right. i am using the dead component set.
 
Hi,I've been working on porting the cesm-1.0.6 version to a new platform, that uses Intel compilers and Intel MPI.  I have set FC=mpiifort in the Macros.theia file in ccsm_utils/Machines, which should set the compiler at a high level, and should then be used for the value of FC throughout.  My initial compile generated the exact same error reported above here, namely that mpif90 does not understand the -ftz option.  It appears that the mct package does *not* inherit the FC value set in Macros.theia, and is setting FC=mpif90.  For use with Intel MPI, it is required to use the wrapper scripts mpiifort and mpiicc.To me, this is an error in the coding of the Makefile.conf.in and associated files in the mct package.  I can get around it by pre-pending to my path, a directory in which I create a soft link for "mpif90", that points to the "mpiifort" in the appropriate directory for the version of Intel MPI used to compile.
 
Top