SUBROUTINE HT(dl_v,Z,S,itime) 11,2

      IMPLICIT NONE
      include 'champ.cdk'
      include 'chobs.cdk'


      COMPLEX Z(IKTX,IKTY),S(IKTX,IKTY)
      REAL    U(N,N),W(N,N)
      REAL    dl_v(2*N*N)
      REAL    KX,KY,KW,JX
      INTEGER IR 

      INTEGER    itime

      IR = 0
      DO IW = 1,N
       DO JW=1,N
        U(IW,JW) = dl_v(IR+1)*PZ(IW,JW,itime)
        W(IW,JW) = dl_v(IR+2)*PZ(IW,JW,itime)
        IR = IR +2
       END DO
      END DO


      CALL RK(U,UK,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
     .                  FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
      CALL RK(W,WK,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
     .                  FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)


      DO IKX=1,IKTX
       KX = FLOAT(IKX-1) 
       DO IKY=1,IKTY
         KY = FLOAT(IKY - KTY - 1)
         KW = MAX(KX*KX+KY*KY ,0.001 )
         Z(IKX,IKY)=-ZI*L(IKX+KTX,IKY)*KY*UK(IKX,IKY)/KW
     .                +ZI*L(IKX+KTX,IKY)*KX*WK(IKX,IKY)/KW
C++++
c         Z(IKX,IKY)=Z(IKX,IKY)*KW
c          Z(IKX,IKY)=Z(IKX,IKY)*sqrt(KW)
C++++
         S(IKX,IKY) = CMPLX(0.,0.)
       ENDDO
      ENDDO


      RETURN
      END