INTERFACE
SUBROUTINE GNHGRPRE(&
 & KPROMA,KFLEV,KSTART,KEND,PRTGR,PREL,PREM,PNHPREF,PSPDL,PSPDM,&
 & PNHPREFL,PNHPREFM,PLNNHPREFL,PLNNHPREFM,PQCHAL,PQCHAM,&
 & PSPD,PLNPR,PLNPRL,PLNPRM,PRT,PRTL,PRTM,POROG,POROGL,POROGM,&
 & PHIHYD,PHIHYDL,PHIHYDM&
 & ) 
USE PARKIND1 , ONLY : JPIM ,JPRB
INTEGER(KIND=JPIM),INTENT(IN) :: KPROMA
INTEGER(KIND=JPIM),INTENT(IN) :: KFLEV
INTEGER(KIND=JPIM),INTENT(IN) :: KSTART
INTEGER(KIND=JPIM),INTENT(IN) :: KEND
REAL(KIND=JPRB) ,INTENT(IN) :: PRTGR(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PREL(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PREM(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: PNHPREF(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSPDL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSPDM(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PNHPREFL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PNHPREFM(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PLNNHPREFL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PLNNHPREFM(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQCHAL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PQCHAM(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PSPD(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PLNPR(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PLNPRL(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PLNPRM(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PRT(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PRTL(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PRTM(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: POROG(KPROMA)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: POROGL(KPROMA)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: POROGM(KPROMA)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PHIHYD(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PHIHYDL(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(IN) :: PHIHYDM(KPROMA,KFLEV)
END SUBROUTINE GNHGRPRE
END INTERFACE
