INTERFACE
SUBROUTINE SW1S&
 & ( KIDIA , KFDIA , KLON , KLEV , KAER , KNU,&
 & PAER , PALBD , PALBP, PCG , PCLD , PCLEAR,&
 & PDSIG , POMEGA, POZ , PRMU , PSEC , PTAU , PUD,&
 & PFD , PFU , PCD , PCU , PSUDU1,PDIFF , PDIRF,&
 & LRDUST,PPIZA_DST,PCGA_DST,PTAUREL_DST&
 & ) 
USE PARKIND1 ,ONLY : JPIM ,JPRB
! Temporary fix waiting for cleaner interface (or not)
USE clesphys_mod_h, ONLY: NSW
!!include "clesphys.h"
INTEGER(KIND=JPIM),INTENT(IN) :: KLON
INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
INTEGER(KIND=JPIM),INTENT(IN) :: KIDIA
INTEGER(KIND=JPIM),INTENT(IN) :: KFDIA
INTEGER(KIND=JPIM),INTENT(IN) :: KAER
INTEGER(KIND=JPIM),INTENT(IN) :: KNU
REAL(KIND=JPRB) ,INTENT(IN) :: PAER(KLON,6,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PALBD(KLON,NSW)
REAL(KIND=JPRB) ,INTENT(IN) :: PALBP(KLON,NSW)
REAL(KIND=JPRB) ,INTENT(IN) :: PCG(KLON,NSW,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PCLD(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PCLEAR(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PDSIG(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: POMEGA(KLON,NSW,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: POZ(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PRMU(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PSEC(KLON)
REAL(KIND=JPRB) ,INTENT(IN) :: PTAU(KLON,NSW,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PUD(KLON,5,KLEV+1)
LOGICAL ,INTENT(IN) :: LRDUST
REAL(KIND=JPRB) ,INTENT(IN) :: PPIZA_DST(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PCGA_DST(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(IN) :: PTAUREL_DST(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFD(KLON,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PFU(KLON,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PCD(KLON,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PCU(KLON,KLEV+1)
REAL(KIND=JPRB) ,INTENT(OUT) :: PSUDU1(KLON)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDIFF(KLON,KLEV)
REAL(KIND=JPRB) ,INTENT(OUT) :: PDIRF(KLON,KLEV)
END SUBROUTINE SW1S
END INTERFACE
