mpif90 -c -fconvert=swap -fno-second-underscore -fbacktrace -m64 -fopenmp -ffree-line-length-none -fno-sign-zero -fno-range-check -fpi c -fallow-argument-mismatch -g -pipe -ffree-form -DLINUX -DLITTLE_ENDIAN -DLITTLE -DADDRESS64 -O1 -I/home/celaleddin/model_kurulum/packs/46t1bf07_MAIN.01.MPIGNU.x/src/local/.include/algor/headers -I/home/celaleddin/model_kurulum/packs/ 46t1bf07_MAIN.01.MPIGNU.x/src/local/.include/ifsaux/modules -I/home/celaleddin/model_kurulum/packs/46t1bf07_MAIN.01.MPIGNU.x/src/local/.include/arpifs/modules -I/home/celaleddin/model_kurulum/packs/46t1bf07_MAIN.01.MPIGNU.x/src/local/if sobs/src/dbase m1qn3a.F90
I’m getting this error.
m1qn3a.F90:217:49:
217 | & YDTCV,YDTCV_BGC,YDGOM5,YDODB)
| 1
Error: Explicit interface required for polymorphic argument at (1)
m1qn3a.F90 file
`
SUBROUTINE M1QN3A (YDGEOMETRY,YDFIELDS,YDMTRAJ,YDMODEL,SIMUL, &
& PROSCA,CTONB,CTCAB,N,X,F,G,DXMIN,DF1, &
& EPSG,IMPRES,IO,MODE,NITER,NSIM,INMEMO,M,JMIN, &
& JMAX,D,GG,DIAG,AUX,ALPHA,YBAR,SBAR,YDJOT, &
& YDVARBC,YDTCV5,YDGOM, &
& YDTCV,YDTCV_BGC,YDGOM5,YDODB)
!AUTOPROMOTE
USE PARKIND1, ONLY : JPIM, JPRB
USE YOMHOOK , ONLY : LHOOK, DR_HOOK
!----
!
! Code d’optimisation proprement dit.
!
!----
USE GEOMETRY_MOD , ONLY : GEOMETRY
USE FIELDS_MOD , ONLY : FIELDS
USE MTRAJ_MOD , ONLY : MTRAJ
USE VARBC_CLASS,ONLY: CLASS_VARBC
USE TYPE_MODEL , ONLY : MODEL
USE TOVSCV_MOD , ONLY : TOVSCV
USE TOVSCV_BGC_MOD , ONLY : TOVSCV_BGC
USE JO_TABLE_MOD , ONLY : JO_TABLE
USE SUPERGOM_CLASS , ONLY : CLASS_SUPERGOM
USE DBASE_MOD , ONLY : DBASE
USE CONTROL_VECTORS_MOD
!
IMPLICIT NONE
!
! arguments
!
LOGICAL :: INMEMO
INTEGER(KIND=JPIM) :: N
INTEGER(KIND=JPIM) :: IMPRES
INTEGER(KIND=JPIM) :: IO
INTEGER(KIND=JPIM) :: MODE
INTEGER(KIND=JPIM) :: NITER
INTEGER(KIND=JPIM) :: NSIM
INTEGER(KIND=JPIM) :: M
INTEGER(KIND=JPIM) :: JMIN
INTEGER(KIND=JPIM) :: JMAX
INTEGER(KIND=JPIM) :: IPRINT
REAL(KIND=JPRB) :: F
REAL(KIND=JPRB) :: DXMIN
REAL(KIND=JPRB) :: DF1
REAL(KIND=JPRB) :: EPSG
REAL(KIND=JPRB) :: ALPHA(M)
EXTERNAL :: SIMUL,PROSCA,CTONB,CTCAB
TYPE(GEOMETRY), INTENT(INOUT) :: YDGEOMETRY
TYPE(FIELDS), INTENT(INOUT) :: YDFIELDS
TYPE(MTRAJ), INTENT(INOUT) :: YDMTRAJ
TYPE(MODEL) ,INTENT(INOUT) :: YDMODEL
TYPE(JO_TABLE) ,INTENT(INOUT) :: YDJOT
TYPE(CLASS_VARBC), INTENT(INOUT) :: YDVARBC
TYPE(CLASS_SUPERGOM),INTENT(INOUT) :: YDGOM, YDGOM5
TYPE(TOVSCV) , INTENT(INOUT) :: YDTCV5
TYPE(TOVSCV) , INTENT(INOUT) :: YDTCV
TYPE(TOVSCV_BGC) , INTENT(INOUT) :: YDTCV_BGC
CLASS(DBASE) , INTENT(INOUT) :: YDODB
TYPE (CONTROL_VECTOR) :: X
TYPE (CONTROL_VECTOR) :: G
TYPE (CONTROL_VECTOR) :: D
TYPE (CONTROL_VECTOR) :: GG
TYPE (CONTROL_VECTOR) :: DIAG
TYPE (CONTROL_VECTOR) :: AUX
TYPE (CONTROL_VECTOR),DIMENSION(M) :: YBAR
TYPE (CONTROL_VECTOR),DIMENSION(M) :: SBAR
it is the part of code. and here is the m1qn3.h include file
INTERFACE
SUBROUTINE M1QN3A (YDGEOMETRY,YDFIELDS,YDMTRAJ,YDMODEL,SIMUL, &
& PROSCA,CTONB,CTCAB,N,X,F,G,DXMIN,DF1, &
& EPSG,IMPRES,IO,MODE,NITER,NSIM,INMEMO,M,JMIN, &
& JMAX,D,GG,DIAG,AUX,ALPHA,YBAR,SBAR,YDJOT, &
& YDVARBC,YDTCV5,YDGOM, &
& YDTCV,YDTCV_BGC,YDGOM5,YDODB)
USE PARKIND1, ONLY : JPIM, JPRB
USE YOMHOOK , ONLY : LHOOK, DR_HOOK
USE GEOMETRY_MOD , ONLY : GEOMETRY
USE FIELDS_MOD , ONLY : FIELDS
USE MTRAJ_MOD , ONLY : MTRAJ
USE VARBC_CLASS,ONLY: CLASS_VARBC
USE TYPE_MODEL , ONLY : MODEL
USE TOVSCV_MOD , ONLY : TOVSCV
USE TOVSCV_BGC_MOD , ONLY : TOVSCV_BGC
USE JO_TABLE_MOD , ONLY : JO_TABLE
USE SUPERGOM_CLASS , ONLY : CLASS_SUPERGOM
USE DBASE_MOD , ONLY : DBASE
USE CONTROL_VECTORS_MOD
LOGICAL :: INMEMO
INTEGER(KIND=JPIM) :: N
INTEGER(KIND=JPIM) :: IMPRES
INTEGER(KIND=JPIM) :: IO
INTEGER(KIND=JPIM) :: MODE
INTEGER(KIND=JPIM) :: NITER
INTEGER(KIND=JPIM) :: NSIM
INTEGER(KIND=JPIM) :: M
INTEGER(KIND=JPIM) :: JMIN
INTEGER(KIND=JPIM) :: JMAX
INTEGER(KIND=JPIM) :: IPRINT
REAL(KIND=JPRB) :: F
REAL(KIND=JPRB) :: DXMIN
REAL(KIND=JPRB) :: DF1
REAL(KIND=JPRB) :: EPSG
REAL(KIND=JPRB) :: ALPHA(M)
EXTERNAL :: SIMUL,PROSCA,CTONB,CTCAB
TYPE(GEOMETRY), INTENT(INOUT) :: YDGEOMETRY
TYPE(FIELDS), INTENT(INOUT) :: YDFIELDS
TYPE(MTRAJ), INTENT(INOUT) :: YDMTRAJ
TYPE(MODEL) ,INTENT(INOUT) :: YDMODEL
TYPE(JO_TABLE) ,INTENT(INOUT) :: YDJOT
TYPE(CLASS_VARBC), INTENT(INOUT) :: YDVARBC
TYPE(CLASS_SUPERGOM),INTENT(INOUT) :: YDGOM, YDGOM5
TYPE(TOVSCV) , INTENT(INOUT) :: YDTCV5
TYPE(TOVSCV) , INTENT(INOUT) :: YDTCV
TYPE(TOVSCV_BGC) , INTENT(INOUT) :: YDTCV_BGC
CLASS(DBASE) , INTENT(INOUT) :: YDODB
…
`
I couldn’t compile this file. What can i do?