INTERFACE
SUBROUTINE SRTM_SRTM_224GP_MCICA&
 & ( KIDIA, KFDIA, KLON , KLEV , KSW , KCOLS , KCLDLY ,&
 & PAER , PALBD, PALBP, PAPH , PAP ,&
 & PTS , PTH , PT ,&
 & PQ , PCO2 , PCH4 , PN2O , PNO2 , POZN , PRMU0 ,&
 & PFRCL,  PTAUC,  PASYC, POMGC,&
 & PFSUX,  PFSUC,  PFUVF, PFUVC, PPARF, PPARCF, PSUDU ,&
 & PFDIR,  PCDIR,  PFDIF, PCDIF,&
 & PAODSTRAT, PAAODSTRAT, PREFAODSTRAT, &
 & PAODTM, PSSATM, PASFTM,&
 & PAODPI, PSSAPI, PASFPI,&
 & PMAC2SPAOD, PMAC2SPSSA, PMAC2SPASY)
USE PARKIND1 ,ONLY : JPIM ,JPRB
USE PARSRTM , ONLY : JPLAY
INTEGER(KIND=JPIM),INTENT(IN) :: KLON
INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
INTEGER(KIND=JPIM),INTENT(IN) :: KSW
INTEGER(KIND=JPIM),INTENT(IN) :: KIDIA
INTEGER(KIND=JPIM),INTENT(IN) :: KFDIA
INTEGER(KIND=JPIM),INTENT(IN) :: KCOLS
INTEGER(KIND=JPIM),INTENT(IN) :: KCLDLY(KCOLS)
REAL(KIND=JPRB) ,INTENT(IN) :: PAER(KLON,6,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PALBD(KLON,KSW)
REAL(KIND=JPRB) ,INTENT(IN) :: PALBP(KLON,KSW)
REAL(KIND=JPRB) ,INTENT(IN) :: PAPH(KLON,KLEV+1)
REAL(KIND=JPRB) ,INTENT(IN) :: PAP(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PTS(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTH(KLON,KLEV+1)
REAL(KIND=JPRB) ,INTENT(IN) :: PT(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PQ(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PCO2(KLON,KLEV), PCH4(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PN2O(KLON,KLEV), PNO2(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: POZN(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PRMU0(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PFRCL(KLON,KCOLS,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PTAUC(KLON,KCOLS,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PASYC(KLON,KCOLS,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: POMGC(KLON,KCOLS,KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFSUX(KLON,2,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFSUC(KLON,2,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFUVF(KLON), PFUVC(KLON), PPARF(KLON), PPARCF(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSUDU(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFDIF(KLON,KLEV+1), PCDIF(KLON,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFDIR(KLON,KLEV+1), PCDIR(KLON,KLEV+1)
!-- CMIP6 prescribed stratospheric aerosols
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PAODSTRAT(KLON,KLEV,KSW)
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PAAODSTRAT(KLON,KLEV,KSW)
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PREFAODSTRAT(KLON,KLEV,KSW)
!
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PAODTM(KLON,KLEV,KSW)
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PSSATM(KLON,KLEV,KSW)
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PASFTM(KLON,KLEV,KSW)
!-- from MAC2SP anthropogenic aerosol
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PMAC2SPAOD(KLON,KLEV,KSW)
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PMAC2SPSSA(KLON,KLEV,KSW)
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PMAC2SPASY(KLON,KLEV,KSW)
!REAL(KIND=JPRB),OPTIONAL, INTENT(IN):: PMAC2SPXRE(KLON)

!-- from CMIP6 prescribed pre-industrial aerosol from TM5 climatology
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PAODPI(KLON,KLEV,KSW)
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PSSAPI(KLON,KLEV,KSW)
REAL(KIND=JPRB),OPTIONAL, INTENT(IN) :: PASFPI(KLON,KLEV,KSW)
END SUBROUTINE SRTM_SRTM_224GP_MCICA
END INTERFACE
