INTERFACE
SUBROUTINE VDFMAINS (KIDIA,KFDIA,KLON,KLEV,KLEVS,KSTEP,KTILES,&
 & KTRAC,PTSPHY,KTVL,KTVH,PCVL,PCVH,&
 & PLAIL, PLAIH,PSIGFLT,&
 & PUM1 ,PVM1 ,PTM1 ,PQM1 ,PCM1 ,PAPHM1 ,PGEOM1, PGEOH ,&
 & PTSKM1M,PTSAM1M,PWSAM1M,&
 & PSSRFL,PSLRFL ,PEMIS ,&
 & PTHKICE, PSNTICE,&
 & PTSNOW, PTICE,&
 & PSST ,KSOTY ,PFRTI ,PALBTI ,PWLMX ,&
 & PCHAR ,PTSKRAD, PCFLX,&
 & PZ0M ,PZ0H ,&
 & PU10M , PV10M , PT2M , PD2M , PQ2M ,&
 & P10NU , P10NV ,&
 & PTE ,PQE ,PVOM ,PVOL ,PTENC ,PTSKE1,&
 & PUSTRTI,PVSTRTI,PAHFSTI,PEVAPTI,PTSKTI,&
 & PDIFTS,PDIFTQ,PSTRTU,PSTRTV) 
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) :: 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) :: 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) :: PCM1(KLON,KLEV,KTRAC)
REAL(KIND=JPRB) ,INTENT(IN) :: PAPHM1(KLON,0: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) :: PTHKICE(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PSNTICE(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTSNOW(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTICE(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) :: PTSKRAD(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PCFLX(KLON,KTRAC)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PZ0M(KLON)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PZ0H(KLON)
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) :: PT2M(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PD2M(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQ2M(KLON)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PTE(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PQE(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) :: PDIFTS(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDIFTQ(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PSTRTU(KLON,0:KLEV)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PSTRTV(KLON,0:KLEV)
END SUBROUTINE VDFMAINS
END INTERFACE
