INTERFACE
SUBROUTINE CPPHDDHE(KPROMA, KSTART, KPROF, KFLEV,&
 & KDDHI,PDHSF,PNORDL, PNORDM, PUZGEO, PVMGEO,&
 & PSLAT, PCLAT, PLON, PLSM, PVFCI, PRSAH,&
 & PDIFCQ, PDIFCS, PDIFTQ, PDIFTS, PFCQNG,&
 & PFPLCL, PFPLCN, PFPLSL, PFPLSN,&
 & PFRSO , PFRTH ,&
 & PFHPCL, PFHPCN, PFHPSL, PFHPSN,&
 & PSTRCU, PSTRCV, PSTRDU, PSTRDV, PSTRTU, PSTRTV,&
 & PFCQLNG,PFCQNNG,&
 & PFCQLF,PFCQIF,PFSQLF,PFSQIF,&
 & PDHTLS ,PDHTSS ,PDHTTS ,PDHTIS ,&
 & PDHSSS ,PDHIIS ,PDHWLS ,PDHFSS ,&
 & PDHCV, PDHCS) 
USE PARKIND1 ,ONLY : JPIM ,JPRB
USE YOMDIM , ONLY : NPROMDLR
USE YOMMDDH , ONLY : NDHCVSU ,NDHCSSU ,NDHVS ,NDHFSD ,&
 & NDHFSP ,NDHVFS ,NDHAVP ,NDHVTLS ,NDHFTLS ,&
 & NDHVTSS ,NDHFTSS ,NDHVTTS ,NDHFTTS ,NDHVTIS ,&
 & NDHFTIS ,NDHVSSS ,NDHFSSS ,NDHVIIS ,NDHFIIS ,&
 & NDHVWLS ,NDHFWLS ,NDHFFS 
USE YOMDPHY , ONLY : NCSI ,NCSNEC ,NTILES
USE SURFACE_FIELDS_MIX , ONLY : YSP_SBD
INTEGER(KIND=JPIM),INTENT(IN) :: KPROMA
INTEGER(KIND=JPIM),INTENT(IN) :: KFLEV
INTEGER(KIND=JPIM),INTENT(IN) :: KSTART
INTEGER(KIND=JPIM),INTENT(IN) :: KPROF
INTEGER(KIND=JPIM) :: KDDHI(KPROMA)
REAL(KIND=JPRB) :: PDHSF(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PNORDL(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PNORDM(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PUZGEO(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PVMGEO(KPROMA,KFLEV)
REAL(KIND=JPRB) :: PSLAT(KPROMA)
REAL(KIND=JPRB) :: PCLAT(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PLON(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PLSM(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PVFCI(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PRSAH(NPROMDLR,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PDIFCQ(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PDIFCS(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PDIFTQ(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PDIFTS(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFCQNG(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFPLCL(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFPLCN(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFPLSL(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFPLSN(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFRSO(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFRTH(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFHPCL(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFHPCN(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFHPSL(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFHPSN(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSTRCU(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSTRCV(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSTRDU(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSTRDV(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSTRTU(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSTRTV(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFCQLNG(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFCQNNG(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFCQLF(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFCQIF(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFSQLF(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PFSQIF(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PDHTLS(KPROMA,NTILES,NDHVTLS+NDHFTLS)
REAL(KIND=JPRB) ,INTENT(IN) :: PDHTSS(KPROMA,NCSNEC,NDHVTSS+NDHFTSS)
REAL(KIND=JPRB) ,INTENT(IN) :: PDHTTS(KPROMA,YSP_SBD%NLEVS,NDHVTTS+NDHFTTS)
REAL(KIND=JPRB) ,INTENT(IN) :: PDHTIS(KPROMA,NCSI,NDHVTIS+NDHFTIS)
REAL(KIND=JPRB) ,INTENT(IN) :: PDHSSS(KPROMA,NCSNEC,NDHVSSS+NDHFSSS)
REAL(KIND=JPRB) ,INTENT(IN) :: PDHIIS(KPROMA,NDHVIIS+NDHFIIS)
REAL(KIND=JPRB) ,INTENT(IN) :: PDHWLS(KPROMA,YSP_SBD%NLEVS,NDHVWLS+NDHFWLS)
REAL(KIND=JPRB) ,INTENT(IN) :: PDHFSS(KPROMA,NDHVFS+NDHFFS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDHCV(KPROMA,0:KFLEV,NDHCVSU)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDHCS(KPROMA,NDHCSSU)
END SUBROUTINE CPPHDDHE
END INTERFACE
