SUBROUTINE H(Z,S,dl_v,itime) 8,2
IMPLICIT NONE
include 'champ.cdk'
include 'chobs.cdk'
COMPLEX Z(IKTX,IKTY),S(IKTX,IKTY)
REAL dl_v(2*N*N)
REAL U(N,N),W(N,N)
REAL KX,KY,KW,JX,INKY
INTEGER IR
INTEGER itime
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 )
UK(IKX,IKY)= L(IKX+KTX,IKY)*ZI*KY*Z(IKX,IKY)/KW
WK(IKX,IKY)=-L(IKX+KTX,IKY)*ZI*KX*Z(IKX,IKY)/KW
ENDDO
ENDDO
DO 15 IKY=1,KTY
KY = IKY - KTY - 1
INKY = - KY + KTY + 1
UK(1,IKY) = CONJG(UK(1,INKY))
WK(1,IKY) = CONJG(WK(1,INKY))
15 CONTINUE
CALL KR
(UK,U,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
. FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
CALL KR
(WK,W,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
. FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
IR = 0
DO IW=1,N
DO JW = 1,N
dl_v(IR+1) = U(IW,JW)*PZ(IW,JW,itime)
dl_v(IR+2) = W(IW,JW)*PZ(IW,JW,itime)
IR = IR + 2
END DO
END DO
RETURN
END