INTERFACE
SUBROUTINE VDFMAIN ( CDCONF,&
 & KIDIA , KFDIA , KLON , KLEV , KLEVS , KSTEP , KTILES ,&
 & KTRAC , KLEVSN , KLEVI , KDHVTLS, KDHFTLS, KDHVTSS, KDHFTSS,&
 & KDHVTTS, KDHFTTS, KDHVTIS, KDHFTIS,&
 & PTSPHY , KTVL , KTVH , KCNT , PCVL , PCVH,&
 & PLAIL , PLAIH , PSIGFLT,&
 & PUM1 , PVM1 , PTM1 , PQM1 , PLM1 , PIM1 , PAM1 , PCM1 ,&
 & PAPHM1 , PAPM1 , PGEOM1 , PGEOH , PTSKM1M, PTSAM1M, PWSAM1M,&
 & PSSRFL , PSLRFL , PEMIS , PHRLW , PHRSW ,&
 & PTSNOW , PTICE ,&
 & PHLICE , PTLICE , PTLWML ,&
 & PSST , KSOTY , PLIT, PMELTSUM, PFRTI , PALBTI , PWLMX ,&
 & PCHAR , PUCURR , PVCURR ,PUSTOKES,PVSTOKES, PTSKRAD, PCFLX ,&
 & PSOTEU , PSOTEV , PSOBETA,&
 & PTHKICE, PSNTICE,&
 & PZ0M , PZ0H ,&
 & PVDIS , PVDISG , PDISGW3D, PAHFLEV, PAHFLSB, PFWSB , PBIR , PVAR ,&
 & PU10M , PV10M , PT2M , PD2M , PQ2M , PZINV , PBLH , KHPBLN ,&
 & P10NU , P10NV , PUST,&
 & PSSRFLTI,PEVAPSNW,PGUST , PWUAVG , LDNODECP,KPBLTYPE,&
 & PTE , PQE , PLE , PIE , PAE , PVOM , PVOL ,&
 & PTENC , PTSKE1 ,&
 & PUSTRTI, PVSTRTI, PAHFSTI, PEVAPTI, PTSKTI ,&
 & PFLTRTI,&
 & PDIFTS , PDIFTQ , PDIFTL , PDIFTI , PSTRTU , PSTRTV , PTOFDU , PTOFDV,&
 & PSTRSOU, PSTRSOV, PKH ,&
 & PDHTLS , PDHTSS , PDHTTS , PDHTIS) 
USE PARKIND1 ,ONLY : JPIM ,JPRB
INTEGER(KIND=JPIM),INTENT(IN) :: KLON
INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
INTEGER(KIND=JPIM),INTENT(IN) :: KLEVS
INTEGER(KIND=JPIM),INTENT(IN) :: KTILES
INTEGER(KIND=JPIM),INTENT(IN) :: KTRAC
INTEGER(KIND=JPIM),INTENT(IN) :: KLEVSN
INTEGER(KIND=JPIM),INTENT(IN) :: KLEVI
INTEGER(KIND=JPIM),INTENT(IN) :: KDHVTLS
INTEGER(KIND=JPIM),INTENT(IN) :: KDHFTLS
INTEGER(KIND=JPIM),INTENT(IN) :: KDHVTSS
INTEGER(KIND=JPIM),INTENT(IN) :: KDHFTSS
INTEGER(KIND=JPIM),INTENT(IN) :: KDHVTTS
INTEGER(KIND=JPIM),INTENT(IN) :: KDHFTTS
INTEGER(KIND=JPIM),INTENT(IN) :: KDHVTIS
INTEGER(KIND=JPIM),INTENT(IN) :: KDHFTIS
CHARACTER(LEN=1) ,INTENT(IN) :: CDCONF
INTEGER(KIND=JPIM),INTENT(IN) :: KIDIA
INTEGER(KIND=JPIM),INTENT(IN) :: KFDIA
INTEGER(KIND=JPIM),INTENT(IN) :: KSTEP
REAL(KIND=JPRB) ,INTENT(IN) :: PTSPHY
INTEGER(KIND=JPIM),INTENT(IN) :: KTVL(KLON)
INTEGER(KIND=JPIM),INTENT(IN) :: KTVH(KLON)
INTEGER(KIND=JPIM),INTENT(IN) :: KSOTY(KLON)
REAL(KIND=JPRB) ,INTENT(IN)   :: PLIT(KLON)
REAL(KIND=JPRB) ,INTENT(INOUT)    :: PMELTSUM(KLON)
INTEGER(KIND=JPIM),INTENT(IN) :: KCNT
REAL(KIND=JPRB) ,INTENT(IN) :: PCVL(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PCVH(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PLAIL(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PLAIH(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PSIGFLT(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PUM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PVM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PTM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PLM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PIM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PAM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PCM1(KLON,KLEV,KTRAC)
REAL(KIND=JPRB) ,INTENT(IN) :: PAPHM1(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PAPM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PGEOM1(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PGEOH(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PTSKM1M(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTSAM1M(KLON,KLEVS)
REAL(KIND=JPRB) ,INTENT(IN) :: PWSAM1M(KLON,KLEVS)
REAL(KIND=JPRB) ,INTENT(IN) :: PSSRFL(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PSLRFL(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PEMIS(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PHRLW(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PHRSW(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PTSNOW(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTICE(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PHLICE(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTLICE(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTLWML(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PSST(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PFRTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(IN) :: PALBTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(IN) :: PWLMX(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PCHAR(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PUCURR(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PVCURR(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PUSTOKES(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PVSTOKES(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTSKRAD(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PCFLX(KLON,KTRAC)
REAL(KIND=JPRB) ,INTENT(IN) :: PSOTEU(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSOTEV(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSOBETA(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PTHKICE(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PSNTICE(KLON)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PZ0M(KLON)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PZ0H(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVDIS(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVDISG(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDISGW3D(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PAHFLEV(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PAHFLSB(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFWSB(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PBIR(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PVAR(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PU10M(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PV10M(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: P10NU(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: P10NV(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PUST(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PT2M(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PD2M(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQ2M(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PZINV(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PBLH(KLON)
INTEGER(KIND=JPIM),INTENT(OUT) :: KHPBLN(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSSRFLTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(OUT) :: PEVAPSNW(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PGUST(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PWUAVG(KLON)
LOGICAL ,INTENT(IN) :: LDNODECP(KLON)
INTEGER(KIND=JPIM),INTENT(OUT) :: KPBLTYPE(KLON)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PTE(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PQE(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PLE(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PIE(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PAE(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PVOM(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PVOL(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PTENC(KLON,KLEV,KTRAC)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PTSKE1(KLON)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PUSTRTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PVSTRTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PAHFSTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PEVAPTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PTSKTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFLTRTI(KLON,KTILES)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDIFTS(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDIFTQ(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDIFTL(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDIFTI(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PSTRTU(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PSTRTV(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PTOFDU(KLON)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PTOFDV(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSTRSOU(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSTRSOV(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PKH(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDHTLS(KLON,KTILES,KDHVTLS+KDHFTLS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDHTSS(KLON,KLEVSN,KDHVTSS+KDHFTSS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDHTTS(KLON,KLEVS,KDHVTTS+KDHFTTS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDHTIS(KLON,KLEVI,KDHVTIS+KDHFTIS)
INTEGER(KIND=JPIM), PARAMETER :: IDRAFT = 2
END SUBROUTINE VDFMAIN
END INTERFACE
