I have a CFS code which was developed at NCEP. Code was able to compile with intel 13, when I was trying to compile the same code with Intel 17.0, I am getting error #7068: The characteristics of a dummy argument (https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/472080 ). Is there any FLAG/OPTION in intel 17.0 to over come this problem. Because CFS code is complicated and it will take much time to revise.
链接已复制
Please show at least one instance of mismatched subroutine call - subroutine declaration that caused the error message to be issued. One must have some assurance that the mismatch is benign before hiding it from the compiler.
Be sure to list all the arguments, their declarations and attributes.
I am trying to compile using below command and I am getting the following error I have attached the fortran codes FYI
mpif90 -auto -align dcommon -Zp16 -g -O2 -r8 -fpconstant -I/work/04110/nagaraju/cfs_v2_KNL/esmf_3_1_0rp2/mod/modO/Linux.intel.64.intelmpi.default -I/work/04110/nagaraju/cfs_v2_KNL/esmf_3_1_0rp2/src/include -free -c GFS_GridComp_ESMFMod.f
GFS_GridComp_ESMFMod.f(88): error #7061: The characteristics of dummy argument 1 of the associated actual procedure differ from the characteristics of dummy argument 1 of the dummy procedure. [INITIALIZE]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETINIT, Initialize, &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(88): error #7062: The characteristics of dummy argument 2 of the associated actual procedure differ from the characteristics of dummy argument 2 of the dummy procedure. [INITIALIZE]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETINIT, Initialize, &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(88): error #7063: The characteristics of dummy argument 3 of the associated actual procedure differ from the characteristics of dummy argument 3 of the dummy procedure. [INITIALIZE]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETINIT, Initialize, &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(98): error #7061: The characteristics of dummy argument 1 of the associated actual procedure differ from the characteristics of dummy argument 1 of the dummy procedure. [RUN]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETRUN, Run, &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(98): error #7062: The characteristics of dummy argument 2 of the associated actual procedure differ from the characteristics of dummy argument 2 of the dummy procedure. [RUN]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETRUN, Run, &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(98): error #7063: The characteristics of dummy argument 3 of the associated actual procedure differ from the characteristics of dummy argument 3 of the dummy procedure. [RUN]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETRUN, Run, &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(108): error #7061: The characteristics of dummy argument 1 of the associated actual procedure differ from the characteristics of dummy argument 1 of the dummy procedure. [FINALIZE]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETFINAL, Finalize, &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(108): error #7062: The characteristics of dummy argument 2 of the associated actual procedure differ from the characteristics of dummy argument 2 of the dummy procedure. [FINALIZE]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETFINAL, Finalize, &
--------------------------------------------------------^
GFS_GridComp_ESMFMod.f(108): error #7063: The characteristics of dummy argument 3 of the associated actual procedure differ from the characteristics of dummy argument 3 of the dummy procedure. [FINALIZE]
CALL ESMF_GridCompSetEntryPoint (gcGFS, ESMF_SETFINAL, Finalize, &
--------------------------------------------------------^
compilation aborted for GFS_GridComp_ESMFMod.f (code 1)
make: *** [GFS_GridComp_ESMFMod.o] Error 1
>>...the characteristics of dummy argument 1 of the dummy procedure...
What may be happening is an argument in the call is a procedure (function or subroutine) who's interface is not defined .OR. defined incorrectly. The newer versions of the compiler, in Debug build, default to checking interfaces for inconsistencies.
Check (or add/correct) interfaces for INITIALIZE, FINALIZE and RUN.
The caller(s) and called routines must have the same interface. If you do not use interfaces, and exclude interface checking to avoid error message, you run at your own peril.
Jim Dempsey
NAGARAJU C. wrote:
I have tried the intel 13.0.2.146 version. without this error it is compiling
Yes, we understand that your program is not in compliance with the Fortran standard. A compiler is not required to diagnose and report all such errors; these are the programmer's responsibility. The 13.0.2 compiler did not diagnose the error. The 17.0.x compiler detects the error and reported it. You may use the older compiler and be responsible for any erroneous results, or, better, pinpoint and fix the error regardless of which compiler version you end up using.
