SUBROUTINE SIM4DI(KDIM,XX,JX,GX) 1,2
IMPLICIT NONE
INTEGER KDIM
INCLUDE 'champ.cdk'
INCLUDE 'chinc.cdk'
REAL JZ,JS,XX(KDIM),GX(KDIM),JX
COMPLEX ZD,SD
EXTERNAL LININC,ADJINC
NCO=-1
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
NCO = NCO + 2
ZO(IKX,IKY) = CMPLX(XX(NCO),XX(NCO+1))
ELSE
ZO(IKX,IKY) = CMPLX(0.,0.)
ENDIF
ENDDO
ENDDO
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
NCO = NCO + 2
SO(IKX,IKY) = CMPLX(XX(NCO),XX(NCO+1))
ELSE
SO(IKX,IKY) = CMPLX(0.,0.)
ENDIF
ENDDO
ENDDO
JZ = 0.
JS = 0.
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
ZD = ZO(IKX,IKY)+ZTRAJ(IKX,IKY,1)-ZM(IKX,IKY)
SD = SO(IKX,IKY)+STRAJ(IKX,IKY,1)-SM(IKX,IKY)
JZ = JZ + REAL(ZD*CONJG(ZD))
JS = JS + REAL(SD*CONJG(SD))
ENDIF
ENDDO
ENDDO
WRITE(22,101) JZ,JS
101 FORMAT(2E12.4)
GRFLAG = 0
OBFLAG = 0
JXFLAG = 1
CALL LININC
(JX)
CALL ADJINC
NCO=0
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
NCO = NCO + 1
GX(NCO) = REAL(ZO(IKX,IKY))
NCO = NCO + 1
GX(NCO) = AIMAG(ZO(IKX,IKY))
ENDIF
ENDDO
ENDDO
DO IKX=1,IKTX
DO IKY=1,IKTY
IF (L(IKX+KTX,IKY).EQ.1) THEN
NCO = NCO + 1
GX(NCO) = REAL(SO(IKX,IKY))
NCO = NCO + 1
GX(NCO) = AIMAG(SO(IKX,IKY))
ENDIF
ENDDO
ENDDO
RETURN
END