INTERFACE
 subroutine hlconds(&
 & kcall, khor, klev,&
 & kstart, kstop, kstep,&
 & pdtime, pconacc, pdtheta,&
 & ldstat, ldupd,&
 & pu, pv, pt,&
 & pq, pcw, pcice,&
 & pqampli, ptke,&
 & pomf, ptotcov, pfrland,&
 & pdtdtin, pdtdt, pdqdtin,&
 & pdqdt, pdcwdin, pdcwdt,&
 & pdicedin, pdicedt,&
 & ppf, pdpf, pps,&
 & pdpsdin, pahyb, pbhyb,&
 & pcov2d, pcwpath, pdraindt,&
 & pdsnowdt, preta, prcpst,&
 & prcpcu, pstsnow, pcusnow,&
 & pstcon,&
 & pstdcon, pstcov, pstdcov,&
 & pstccov, pstscov, pstcw,&
 & pstcpnt, psttpnt, pstscal,&
 & pdifcq, pdifcqn, pdifcql,&
 & pdifcs, pfccql, pfccqn,&
 & pfplcl, pfplcn, pfplsl,&
 & pfplsn, pfcsql, pfcsqn ) 
use parkind1 ,only : jpim ,jprb
integer(kind=jpim),intent(in) :: kcall
integer(kind=jpim),intent(in) :: khor
integer(kind=jpim),intent(in) :: klev
integer(kind=jpim),intent(in) :: kstart
integer(kind=jpim),intent(in) :: kstop
integer(kind=jpim),intent(in) :: kstep
real(kind=jprb), intent(in) :: pdtime
real(kind=jprb), intent(in) :: pconacc
real(kind=jprb), intent(in) :: pdtheta
logical, intent(in) :: ldstat
logical, intent(in) :: ldupd
real(kind=jprb), intent(in) :: pu(khor,klev)
real(kind=jprb), intent(in) :: pv(khor,klev)
real(kind=jprb), intent(in) :: pt(khor,klev)
real(kind=jprb), intent(in) :: pq(khor,klev)
real(kind=jprb), intent(inout) :: pcw(khor,klev)
real(kind=jprb), intent(inout) :: pcice(khor,klev)
real(kind=jprb), intent(inout) :: pqampli(khor,klev)
real(kind=jprb), intent(inout) :: ptke(khor,klev)
real(kind=jprb), intent(in) :: pomf(khor,klev)
real(kind=jprb), intent(inout) :: ptotcov(khor,klev)
real(kind=jprb), intent(in) :: pfrland(khor)
real(kind=jprb), intent(inout) :: pdqdtin(khor,klev)
real(kind=jprb), intent(inout) :: pdqdt(khor,klev)
real(kind=jprb), intent(inout) :: pdcwdin(khor,klev)
real(kind=jprb), intent(inout) :: pdcwdt(khor,klev)
real(kind=jprb), intent(inout) :: pdicedin(khor,klev)
real(kind=jprb), intent(inout) :: pdicedt(khor,klev)
real(kind=jprb), intent(inout) :: pdtdtin(khor,klev)
real(kind=jprb), intent(inout) :: pdtdt(khor,klev)
real(kind=jprb), intent(in) :: ppf(khor,klev)
real(kind=jprb), intent(in) :: pdpf(khor,klev)
real(kind=jprb), intent(in) :: pps(khor)
real(kind=jprb), intent(in) :: pdpsdin(khor)
real(kind=jprb), intent(in) :: pahyb(khor,klev+1)
real(kind=jprb), intent(in) :: pbhyb(khor,klev+1)
real(kind=jprb), intent(inout) :: pcov2d(khor)
real(kind=jprb), intent(inout) :: pcwpath(khor)
real(kind=jprb), intent(inout) :: pdraindt(khor)
real(kind=jprb), intent(inout) :: pdsnowdt(khor)
real(kind=jprb), intent(inout) :: preta(khor,klev)
real(kind=jprb), intent(inout) :: prcpst(khor)
real(kind=jprb), intent(inout) :: prcpcu(khor)
real(kind=jprb), intent(inout) :: pstsnow(khor)
real(kind=jprb), intent(inout) :: pcusnow(khor)
real(kind=jprb), intent(inout) :: pstcon(klev)
real(kind=jprb), intent(inout) :: pstdcon(klev)
real(kind=jprb), intent(inout) :: pstcov(klev)
real(kind=jprb), intent(inout) :: pstdcov(klev)
real(kind=jprb), intent(inout) :: pstccov(klev)
real(kind=jprb), intent(inout) :: pstscov(klev)
real(kind=jprb), intent(inout) :: pstcw(klev)
real(kind=jprb), intent(inout) :: pstcpnt(klev)
real(kind=jprb), intent(inout) :: psttpnt(klev)
real(kind=jprb), intent(inout) :: pstscal(klev)
real(kind=jprb), intent(inout) :: pdifcq(khor,0:klev)
real(kind=jprb), intent(inout) :: pdifcql(khor,0:klev)
real(kind=jprb), intent(inout) :: pdifcqn(khor,0:klev)
real(kind=jprb), intent(inout) :: pdifcs(khor,0:klev)
real(kind=jprb), intent(inout) :: pfccql(khor,0:klev)
real(kind=jprb), intent(inout) :: pfccqn(khor,0:klev)
real(kind=jprb), intent(inout) :: pfcsql(khor,0:klev)
real(kind=jprb), intent(inout) :: pfcsqn(khor,0:klev)
real(kind=jprb), intent(inout) :: pfplcl(khor,0:klev)
real(kind=jprb), intent(inout) :: pfplcn(khor,0:klev)
real(kind=jprb), intent(inout) :: pfplsl(khor,0:klev)
real(kind=jprb), intent(inout) :: pfplsn(khor,0:klev)
end subroutine hlconds
END INTERFACE
