INTERFACE
SUBROUTINE RADTR_ML(KSAT,KSENSOR,KDPROF,KPROF,KMXCH,KNCH,PRCH,&
 & LDCLOUD,&
 & PZENANG,PAZIANG,PSOLZENANG,PSOLAZIANG,PLAT,POROG,&
 & PPRESF5,PTF5,PQF5,PO3F5,PCLWF5,PCIWF5,PCCF5,YDGEMSPROF,&
 & PPSSAT,PTSSAT,PLSSAT,PT2SAT,PH2SAT,PCTOP,PCAMT,&
 & PUSSAT,PVSSAT,PEMIS,PTBCLR,PTBTOT,PTAU,PRADCLDLEV,PCLDLEV,POBS,PVAROUT,PTAUSFC) 
USE PARKIND1 ,ONLY : JPIM ,JPRB
USE YOMDIM , ONLY : NFLEVG
USE YOMTVRAD , ONLY :NJPPF , MSENSOR_AIRS, MSENSOR_IASI,&
 & AIRSCHAN_BACK, IASICHAN_BACK, LABORT_RTTOV_FAILURE 
USE TYPE_GEMS_PROFILES
INTEGER(KIND=JPIM),INTENT(IN) :: KDPROF
INTEGER(KIND=JPIM),INTENT(IN) :: KPROF
INTEGER(KIND=JPIM),INTENT(IN) :: KSAT
INTEGER(KIND=JPIM),INTENT(IN) :: KSENSOR
INTEGER(KIND=JPIM),INTENT(IN) :: KMXCH
INTEGER(KIND=JPIM),INTENT(IN) :: KNCH(KDPROF)
LOGICAL, INTENT(IN) :: LDCLOUD
REAL(KIND=JPRB) ,INTENT(IN) :: PZENANG(KDPROF),PCTOP(KDPROF),PCAMT(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PAZIANG(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PSOLZENANG(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PSOLAZIANG(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PLAT(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: POROG(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PRCH(KDPROF,KMXCH)
REAL(KIND=JPRB) ,INTENT(IN) :: PPRESF5(KDPROF,NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PTF5(KDPROF,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PQF5(KDPROF,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PO3F5(KDPROF,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PCLWF5(KDPROF,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PCIWF5(KDPROF,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PCCF5(KDPROF,0:NFLEVG)
REAL(KIND=JPRB) ,INTENT(IN) :: PPSSAT(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PTSSAT(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PLSSAT(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PT2SAT(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PH2SAT(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PUSSAT(KDPROF)
REAL(KIND=JPRB) ,INTENT(IN) :: PVSSAT(KDPROF)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PEMIS(KDPROF,KMXCH)
TYPE (TYPE_GEMSPROF) ,INTENT(IN) :: YDGEMSPROF(KDPROF,NGEMS)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTBCLR(KDPROF,KMXCH)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTBTOT(KDPROF,KMXCH)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTAU(KDPROF,KMXCH,NFLEVG+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PRADCLDLEV(KDPROF,KMXCH,NFLEVG+1)
REAL(KIND=JPRB) ,INTENT(OUT), OPTIONAL :: PTAUSFC(KDPROF,KMXCH)
REAL(KIND=JPRB) ,INTENT(OUT), OPTIONAL :: PCLDLEV(KDPROF,KMXCH)
REAL(KIND=JPRB) ,INTENT(IN), OPTIONAL :: POBS(KDPROF,KMXCH)
REAL(KIND=JPRB) ,INTENT(OUT), OPTIONAL :: PVAROUT(KDPROF,KMXCH,4)
END SUBROUTINE RADTR_ML
END INTERFACE
