INTERFACE
SUBROUTINE PPOBSA(KDLEN,KLEN,KDCOUNT,CDPAR,KOBSTYPE,KCOUNT,PRESO,POROG,&
 & PRESH5,PRESF5,PXP5,PXPD5,&
 & PUF5,PVF5,PTF5,PQF5,PO3F5,&
 & PCLWF5,PCIWF5,PCCF5,PTSTAR5,PT05,PLNPR5,PALPH5,&
 & KDPP,PXPP,YDGEMSPROF5,PNO25) 
USE PARKIND1 ,ONLY : JPIM ,JPRB
USE YOMDIM , ONLY : NFLEVG ,NPPM
USE TYPE_GEMS_PROFILES
INTEGER(KIND=JPIM),INTENT(IN) :: KDLEN
INTEGER(KIND=JPIM),INTENT(IN) :: KLEN
INTEGER(KIND=JPIM),INTENT(IN) :: KDCOUNT
CHARACTER(LEN=*) ,INTENT(IN) :: CDPAR
INTEGER(KIND=JPIM),INTENT(IN) :: KOBSTYPE
INTEGER(KIND=JPIM),INTENT(IN) :: KCOUNT(KDLEN)
REAL(KIND=JPRB) ,INTENT(IN) :: PRESO(KDLEN,KDCOUNT)
REAL(KIND=JPRB) ,INTENT(IN) :: POROG(KDLEN)
REAL(KIND=JPRB) ,INTENT(IN) :: PRESH5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PRESF5(KDLEN,NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PXP5(KDLEN,0:NFLEVG,NPPM)
REAL(KIND=JPRB) ,INTENT(IN) :: PXPD5(KDLEN,0:NFLEVG,NPPM)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PUF5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PVF5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PTF5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PQF5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PO3F5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PCLWF5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PCIWF5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PCCF5(KDLEN,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PTSTAR5(KDLEN)
REAL(KIND=JPRB) ,INTENT(IN) :: PT05(KDLEN)
REAL(KIND=JPRB) ,INTENT(IN) :: PLNPR5(KDLEN,NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PALPH5(KDLEN,NFLEVG)
INTEGER(KIND=JPIM),INTENT(IN) :: KDPP
REAL(KIND=JPRB) ,INTENT(INOUT) :: PXPP(KDLEN,KDCOUNT,KDPP)
REAL(KIND=JPRB) ,INTENT(IN), OPTIONAL:: PNO25(KDLEN,0:NFLEVG)
TYPE (TYPE_GEMSPROF), INTENT(INOUT), OPTIONAL :: YDGEMSPROF5(KDLEN,NGEMS)
END SUBROUTINE PPOBSA
END INTERFACE
