Hi Guys,
I tried to compile CMAQ on Cheyenne in NCAR.
My ioapi version is 3.1, the compiler is intel, and the related environment settings in config_cmaq.csh (line 80-105) is:
case intel:
#> I/O API, netCDF, and MPI library locations
setenv IOAPI_INCL_DIR /glade/scratch/chengpin/ioapi_3_1/Linux2_x86_64ifort #ioapi_inc_intel #> I/O API include header files
setenv IOAPI_LIB_DIR /glade/scratch/chengpin/ioapi_3_1/Linux2_x86_64ifort #> I/O API libraries
setenv NETCDF_LIB_DIR /glade/u/apps/ch/opt/netcdf/4.7.4/intel/19.0.5/lib #netcdf_lib_intel #> netCDF C directory path
setenv NETCDF_INCL_DIR /glade/u/apps/ch/opt/netcdf/4.7.4/intel/19.0.5/include #> netCDF C directory path
setenv NETCDFF_LIB_DIR /glade/u/apps/ch/opt/netcdf/4.7.4/intel/19.0.5/lib #> netCDF Fortran directory path
setenv NETCDFF_INCL_DIR /glade/u/apps/ch/opt/netcdf/4.7.4/intel/19.0.5/include #> netCDF Fortran directory path
setenv MPI_LIB_DIR /glade/u/apps/ch/opt/mpt/2.22 #> MPI directory path
#> Compiler Aliases and Flags
#> set the compiler flag -qopt-report=5 to get a model optimization report in the build directory with the optrpt extension
setenv myFC ifort
setenv myCC icc
setenv myFSTD "-O3 -fno-alias -mp1 -fp-model source -ftz -simd -align all -xHost -vec-guard-write -unroll-aggressive"
setenv myDBG "-O0 -g -check bounds -check uninit -fpe0 -fno-alias -ftrapuv -traceback"
setenv myLINK_FLAG #"-qopenmp-simd" openMP not supported w/ CMAQ
setenv myFFLAGS "-fixed -132"
setenv myFRFLAGS "-free"
setenv myCFLAGS "-O2"
setenv extra_lib "-lcurl"
#chsetenv extra_lib ""
setenv mpi_lib "-lmpich" #> No Library specification needed for mpiifort
#> -lmpich for mvapich
#> -lmpi for openmpi
And I ./bldit_cctm.csh under /CCTM/scripts, some error messages occurred, which is:
ptrwrite3.f(65): error #5102: Cannot open include file ‘STATE3.EXT’
INCLUDE ‘STATE3.EXT’
--------------^
ptrwrite3.f(116): error #6404: This name does not have a type, and must have an explicit type. [FINIT3]
IF ( .NOT. FINIT3 ) THEN
-----------------^
ptrwrite3.f(118): error #6404: This name does not have a type, and must have an explicit type. [LOGDEV]
WRITE( LOGDEV,91010 ) ‘WRITE3(): I/O API not yet initialized.’
----------------^
ptrwrite3.f(141): error #6404: This name does not have a type, and must have an explicit type. [COUNT3]
FID = INDEX1 ( FIL16, COUNT3, FLIST3 )
------------------------------^
ptrwrite3.f(141): error #6404: This name does not have a type, and must have an explicit type. [FLIST3]
FID = INDEX1 ( FIL16, COUNT3, FLIST3 )
--------------------------------------^
ptrwrite3.f(151): error #6404: This name does not have a type, and must have an explicit type. [SDATE3]
STEP = JSTEP3 ( JDATE, JTIME, SDATE3( FID ), STIME3( FID ),
---------------------------------------^
ptrwrite3.f(151): error #6404: This name does not have a type, and must have an explicit type. [STIME3]
STEP = JSTEP3 ( JDATE, JTIME, SDATE3( FID ), STIME3( FID ),
------------------------------------------------------^
ptrwrite3.f(152): error #6404: This name does not have a type, and must have an explicit type. [TSTEP3]
& ABS( TSTEP3( FID ) ) )
------------------------------^
ptrwrite3.f(152): warning #7319: This argument’s data type is incompatible with this intrinsic procedure; procedure assumed EXTERNAL. [ABS]
& ABS( TSTEP3( FID ) ) )
------------------------------^
ptrwrite3.f(152): error #6404: This name does not have a type, and must have an explicit type. [ABS]
& ABS( TSTEP3( FID ) ) )
-------------------------^
ptrwrite3.f(288): error #6410: This name has not been declared as an array or a function. [MXREC3]
MXREC3( FID ) = MAX( MXREC3( FID ), ABS( STEP ) )
---------^
ptrwrite3.f(288): warning #7319: This argument’s data type is incompatible with this intrinsic procedure; procedure assumed EXTERNAL. [MAX]
MXREC3( FID ) = MAX( MXREC3( FID ), ABS( STEP ) )
------------------------------^
ptrwrite3.f(288): error #6404: This name does not have a type, and must have an explicit type. [MAX]
MXREC3( FID ) = MAX( MXREC3( FID ), ABS( STEP ) )
-------------------------^
compilation aborted for ptrwrite3.f (code 1)
Makefile:448: recipe for target ‘ptrwrite3.o’ failed
make: *** [ptrwrite3.o] Error 1
make: *** Waiting for unfinished jobs…
pshut3.F(53): error #5102: Cannot open include file ‘STATE3.EXT’
INCLUDE ‘STATE3.EXT’
----------------^
pshut3.F(72): error #6404: This name does not have a type, and must have an explicit type. [FINIT3]
IF (.NOT. FINIT3) THEN
------------------^
pshut3.F(82): error #6404: This name does not have a type, and must have an explicit type. [COUNT3]
DO FILE = 1, COUNT3
---------------------^
pshut3.F(84): error #6404: This name does not have a type, and must have an explicit type. [CDFID3]
FID = CDFID3(FILE)
-----------------^
pshut3.F(86): error #6404: This name does not have a type, and must have an explicit type. [FLIST3]
IF ((FID .GE. 0) .AND. (FLIST3(FILE) .NE. CMISS3)) THEN
-----------------------------------^
pshut3.F(86): warning #6043: This Hollerith or character constant is too long and cannot be used in the current numeric context. [’???’]
IF ((FID .GE. 0) .AND. (FLIST3(FILE) .NE. CMISS3)) THEN
-----------------------------------------------------^
pshut3.F(99): error #6404: This name does not have a type, and must have an explicit type. [FTYPE3]
IF( FTYPE3( FILE ) .EQ. LOC_MPIGRD3 ) THEN
------------------^
pshut3.F(118): error #6404: This name does not have a type, and must have an explicit type. [LOGDEV]
WRITE( LOGDEV,91010 )
------------------------------^
pshut3.F(120): error #6054: A CHARACTER data type is required in this context. [FLIST3]
& ‘File name: ’ // FLIST3( FILE ) ,
-----------------------------------------^
pshut3.F(128): error #6410: This name has not been declared as an array or a function. [FLIST3]
FLIST3(FILE) = CMISS3
-----------^
pshut3.F(129): error #6404: This name does not have a type, and must have an explicit type. [NVARS3]
DO V = 1, NVARS3( FILE )
---------------------^
pshut3.F(130): error #6410: This name has not been declared as an array or a function. [ILAST3]
ILAST3(V,FILE) = IMISS3
--------------^
pshut3.F(131): error #6410: This name has not been declared as an array or a function. [LDATE3]
LDATE3(V,FILE) = IMISS3
--------------^
pshut3.F(132): error #6410: This name has not been declared as an array or a function. [LTIME3]
LTIME3(V,FILE) = IMISS3
--------------^
pshut3.F(133): error #6410: This name has not been declared as an array or a function. [NDATE3]
NDATE3(V,FILE) = IMISS3
--------------^
pshut3.F(134): error #6410: This name has not been declared as an array or a function. [NTIME3]
NTIME3(V,FILE) = IMISS3
--------------^
pshut3.F(140): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands.
FINIT3 = .FALSE.
-----------------^
compilation aborted for pshut3.F (code 1)
Makefile:445: recipe for target ‘pshut3.o’ failed
make: *** [pshut3.o] Error 1
pwrite3.f(62): error #5102: Cannot open include file ‘STATE3.EXT’
INCLUDE ‘STATE3.EXT’
--------------^
pwrite3.f(114): error #6404: This name does not have a type, and must have an explicit type. [FINIT3]
IF ( .NOT. FINIT3 ) THEN
-----------------^
pwrite3.f(116): error #6404: This name does not have a type, and must have an explicit type. [LOGDEV]
WRITE( LOGDEV,91010 ) ‘WRITE3(): I/O API not yet initialized.’
----------------^
pwrite3.f(142): error #6404: This name does not have a type, and must have an explicit type. [COUNT3]
FID = INDEX1 ( FIL16, COUNT3, FLIST3 )
------------------------------^
pwrite3.f(142): error #6404: This name does not have a type, and must have an explicit type. [FLIST3]
FID = INDEX1 ( FIL16, COUNT3, FLIST3 )
--------------------------------------^
pwrite3.f(152): error #6404: This name does not have a type, and must have an explicit type. [SDATE3]
STEP = JSTEP3 ( JDATE, JTIME, SDATE3( FID ), STIME3( FID ),
---------------------------------------^
pwrite3.f(152): error #6404: This name does not have a type, and must have an explicit type. [STIME3]
STEP = JSTEP3 ( JDATE, JTIME, SDATE3( FID ), STIME3( FID ),
------------------------------------------------------^
pwrite3.f(153): error #6404: This name does not have a type, and must have an explicit type. [TSTEP3]
& ABS( TSTEP3( FID ) ) )
------------------------------^
pwrite3.f(153): warning #7319: This argument’s data type is incompatible with this intrinsic procedure; procedure assumed EXTERNAL. [ABS]
& ABS( TSTEP3( FID ) ) )
------------------------------^
pwrite3.f(153): error #6404: This name does not have a type, and must have an explicit type. [ABS]
& ABS( TSTEP3( FID ) ) )
-------------------------^
pwrite3.f(300): error #6410: This name has not been declared as an array or a function. [MXREC3]
MXREC3( FID ) = MAX( MXREC3( FID ), ABS( STEP ) )
---------^
pwrite3.f(300): warning #7319: This argument’s data type is incompatible with this intrinsic procedure; procedure assumed EXTERNAL. [MAX]
MXREC3( FID ) = MAX( MXREC3( FID ), ABS( STEP ) )
------------------------------^
pwrite3.f(300): error #6404: This name does not have a type, and must have an explicit type. [MAX]
MXREC3( FID ) = MAX( MXREC3( FID ), ABS( STEP ) )
-------------------------^
compilation aborted for pwrite3.f (code 1)
Makefile:448: recipe for target ‘pwrite3.o’ failed
make: *** [pwrite3.o] Error 1
CSQY_DATA.F(524): remark #8291: Recommended relationship between field width ‘W’ and the number of fractional digits ‘D’ in this edit descriptor is ‘W>=D+7’.
READ( PHOTAB_UNIT,’(A16,7X,F8.3,1X,40(1PE12.6,2X))’ )
-----------------------------------------------------^
CSQY_DATA.F(540): remark #8291: Recommended relationship between field width ‘W’ and the number of fractional digits ‘D’ in this edit descriptor is ‘W>=D+7’.
READ( PHOTAB_UNIT,’(A16,7X,F8.3,1X,40(1PE12.6,2X))’ )
-----------------------------------------------------^
CSQY_DATA.F(577): remark #8291: Recommended relationship between field width ‘W’ and the number of fractional digits ‘D’ in this edit descriptor is ‘W>=D+7’.
READ( PHOTAB_UNIT,’(A16,7X,F8.3,1X,40(1PE12.6,2X))’ )
--------------------------------------------------^
CSQY_DATA.F(1247): remark #8291: Recommended relationship between field width ‘W’ and the number of fractional digits ‘D’ in this edit descriptor is ‘W>=D+7’.
READ( OPTICS_UNIT,’(A30,1X,40(1PE12.6,2X))’ ) LAND_EXPECT,
------------------------------------------^
ERROR while running make command
I think some command was missing for ptrwrite3.o & pshut3.o, but I am not sure.
Did anyone have the same issue with Cheyenne?
Thanks.