INTERFACE
SUBROUTINE GPGRGEO(LDNHDYN,&
 & KPROMA,KD,KF,KFLEV,&
 & PREHYDSPRE,PT,PR,PRTL,PRTM,&
 & PLNPR,PLNPRL,PLNPRM,PALPH,PALPHL,PALPHM,&
 & PQCHAL,PQCHAM,&
 & POROGL,POROGM,&
 & PHIFL,PHIFM,PHIHL,PHIHM,&
 & PNH1L,PNH1M&
 & ) 
USE PARKIND1 ,ONLY : JPIM ,JPRB
INTEGER(KIND=JPIM),INTENT(IN) :: KPROMA
INTEGER(KIND=JPIM),INTENT(IN) :: KFLEV
LOGICAL ,INTENT(IN) :: LDNHDYN
INTEGER(KIND=JPIM),INTENT(IN) :: KD
INTEGER(KIND=JPIM),INTENT(IN) :: KF
REAL(KIND=JPRB) ,INTENT(IN) :: PREHYDSPRE(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PT(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PR(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PRTL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PRTM(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PLNPR(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PLNPRL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PLNPRM(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PALPH(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PALPHL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PALPHM(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQCHAL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQCHAM(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: POROGL(KPROMA)
REAL(KIND=JPRB) ,INTENT(IN) :: POROGM(KPROMA)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHIFL(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHIFM(KPROMA,KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHIHL(KPROMA,0:KFLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PHIHM(KPROMA,0:KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(OUT) :: PNH1L(KPROMA,KFLEV)
REAL(KIND=JPRB),OPTIONAL,INTENT(OUT) :: PNH1M(KPROMA,KFLEV)
END SUBROUTINE GPGRGEO
END INTERFACE
