c***********************************************************************
c Filename: dj_res_test.f                                              *
c DJ_RES function test client                                          *
c                                                                      *
c Gets some data from DJ_RES function and saves it to file             *
c***********************************************************************

C-----------------------------------------------------------------
      IMPLICIT NONE
      INTEGER I1,I2
      REAL*8 X,Y,XMIN,YMIN,XMAX,YMAX
      INTEGER N
      REAL*8 DELTA,ERR
      INTEGER NFILE
      PARAMETER(NFILE=30)

C...DJ_RES function settings block
      INTEGER NLOG,LOGUNIT
      REAL*8 DJ_RES_UNKNOWN,DJ_RES_ERRUNKNOWN
      COMMON/DJRES_SETS/NLOG,LOGUNIT,DJ_RES_UNKNOWN,DJ_RES_ERRUNKNOWN
      SAVE/DJRES_SETS/
      
C... Function used
      INTEGER IDJRES_INITOK
      
C-----------------------------------------------------------------
C... Init
      NLOG=10
      
      XMIN=1D-3
      YMIN=1D-3
      XMAX=1D0
      YMAX=1D0
      
      N=40

C... Test DJ_RES initialization
      CALL DJ_RES(1D-1,1D-1,DELTA,ERR)
      I1=IDJRES_INITOK()
      IF(I1.NE.1)THEN
        PRINT *,'ERROR DJ_RES INITIALIZATION'
C        STOP 8
      ENDIF

C... Get few data and save to NFILE file
      OPEN(NFILE,FILE='delta_res.txt',STATUS='REPLACE')
      WRITE(NFILE,*) 'X    Y    DELTA   +/-ERROR'
      DO 11 I1=1,N
        X=XMIN+(XMAX-XMIN)*(I1-1)/(N-1)
        DO 12 I2=1,N
          Y=YMIN+(YMAX-YMIN)*(I2-1)/(N-1)
          CALL DJ_RES(X,Y,DELTA,ERR)
          IF(DELTA.NE.DJ_RES_UNKNOWN)THEN
            WRITE(NFILE,1001) X,Y,DELTA,ERR
          ENDIF
   12   CONTINUE
   11 CONTINUE
      CLOSE(NFILE)
      
1001  FORMAT(F10.6,' ',F10.6,' ',F10.6,' ',F10.6)
      END

