- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You did not include the source codes of all the modules used by the three files that you attached to #3. For example, the source code of module ESMF_Mod.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>...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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is evident is that the newer compiler is detecting a coding error that the older one did not.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have tried the intel 13.0.2.146 version. without this error it is compiling
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page