INTERFACE
SUBROUTINE RADINTG ( KLEV , KMODE,&
 & PALBD , PALBP , PCCNL , PCCNO,&
 & PGEOH , PAPRS , PAPRSF, PCCO2 , PCLFR,&
 & PQO3 , PAER , PAERO,&
 & PCLON , PSLON,&
 & PDP , PEMIS , PEMIW ,&
 & PGELAM, PGEMU , PMU0 , PQ,&
 & PQS , PQIWP , PQSWP , PQLWP , PQRAIN, PRAINT, PSLM , PT,&
 & PECPO3, PTS,&
 & PEMTD , PEMTU , PTRSO , PTRSC , PEMTC , PNTOP , PNBAS,&
 & PEMIT , PTH , PTRSOD, PSUDU , PUVDF , PPARF , PPARCF, PTINCF,&
 & PFDIR , PCDIR,& 
 & KLEVX , PEXTRA , PEXTR2, &
 & PCDNC, PICNC, PRE_LIQ, PRE_ICE, &
 & LZEROAERO)  
USE PARKIND1 ,ONLY : JPIM ,JPRB
USE YOERAD , ONLY : NAER ,NOZOCL ,&
 & NSW ,NTSW ,NRADRES ,NRADINT ,NRPROMA ,NGHGRAD ,&
 & LEPO3RA ,LHVOLCA ,LSRTM ,NPERTAER, NPERTOZ ,LNOTROAER
USE YOMGEM , ONLY : NLOENG ,NGPTOT ,R4JP
USE YOM_YGFL , ONLY : YO3 , NAERO , NACTAERO
USE PHY_DIAG_MOD , ONLY : NRAD2D, NRAD3D
INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
INTEGER(KIND=JPIM),INTENT(IN) :: KMODE
REAL(KIND=JPRB) ,INTENT(IN) :: PALBD(NGPTOT,NTSW)
REAL(KIND=JPRB) ,INTENT(IN) :: PALBP(NGPTOT,NTSW)
REAL(KIND=JPRB) ,INTENT(IN) :: PCCNL(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PCCNO(NGPTOT)
REAL(KIND=JPRB)   ,INTENT(IN)    :: PGEOH(NGPTOT,KLEV+1) 
REAL(KIND=JPRB) ,INTENT(IN) :: PAPRS(NGPTOT,KLEV+1)
REAL(KIND=JPRB) ,INTENT(IN) :: PAPRSF(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PCCO2
REAL(KIND=JPRB) ,INTENT(IN) :: PCLFR(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQO3(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PAER(NGPTOT,6,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PAERO(NGPTOT,KLEV,NAERO)
REAL(KIND=JPRB) ,INTENT(IN) :: PCLON(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PSLON(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PDP(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PEMIS(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PEMIW(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PGELAM(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PGEMU(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PMU0(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PQ(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQS(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQIWP(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQSWP(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQLWP(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQRAIN(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PRAINT(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PSLM(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PT(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PECPO3(NGPTOT,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PTS(NGPTOT)
REAL(KIND=JPRB) ,INTENT(OUT) :: PEMTD(NGPTOT,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PEMTU(NGPTOT,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTRSO(NGPTOT,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTRSC(NGPTOT,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PEMTC(NGPTOT,KLEV+1)
REAL(KIND=JPRB) ,INTENT(IN) :: PNTOP(NGPTOT)
REAL(KIND=JPRB) ,INTENT(IN) :: PNBAS(NGPTOT)
REAL(KIND=JPRB) ,INTENT(OUT) :: PEMIT(NGPTOT)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTH(NGPTOT,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PTRSOD(NGPTOT)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSUDU(NGPTOT)
REAL(KIND=JPRB) ,INTENT(OUT) :: PUVDF(NGPTOT)
REAL(KIND=JPRB) ,INTENT(OUT) :: PPARF(NGPTOT)
REAL(KIND=JPRB) ,INTENT(OUT) :: PPARCF(NGPTOT),PTINCF(NGPTOT)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFDIR(NGPTOT) ,PCDIR(NGPTOT)
INTEGER(KIND=JPIM) , INTENT(IN) :: KLEVX
REAL(KIND=JPRB) ,INTENT(INOUT) ::PEXTRA(NGPTOT, KLEVX, NRAD3D)
REAL(KIND=JPRB) ,INTENT(INOUT) :: PEXTR2(NGPTOT,NRAD2D) 
REAL(KIND=JPRB) ,INTENT(IN)  :: PCDNC(NGPTOT,KLEV) 
REAL(KIND=JPRB) ,INTENT(IN)  :: PICNC(NGPTOT,KLEV) 
REAL(KIND=JPRB) ,INTENT(IN)  :: PRE_LIQ(NGPTOT,KLEV) 
REAL(KIND=JPRB) ,INTENT(IN)  :: PRE_ICE(NGPTOT,KLEV) 
LOGICAL, OPTIONAL, INTENT(IN) :: LZEROAERO
END SUBROUTINE RADINTG
END INTERFACE
