      SUBROUTINE GRATSI(DIX,DIY)
C
C          ------------------------------------------------
C          ROUTINE NO. ( 221)   VERSION (A8.6)    24:NOV:86
C          ------------------------------------------------
C
C          THIS DRAWS A GRATICULE WITH NO ANNOTATION,
C          WITH INTERVALS SET BY <DIX> AND <DIY>.
C
C
C          [X-LINEAR, Y-LINEAR MARKING].
C
C
      REAL    EDGE(2)
      REAL    RDATA(1)
      INTEGER IDATA(1)
C
      COMMON /T0ADIX/ DIVLX,NTIKLX,NTIKHX
      COMMON /T0ADIY/ DIVLY,NTIKLY,NTIKHY
      COMMON /T0NOTA/ NOTATA
      COMMON /T0PPOS/ XPLOT0,YPLOT0
      COMMON /T0TRAC/ IPRINT
      COMMON /T0TRAR/ RTRAC1,RTRAC2,RTRAC3,RTRAC4
      COMMON /T0WNDO/ X1WND0,X2WND0,Y1WND0,Y2WND0
      COMMON /T3LIMS/ IMAXI,RMAXI,RMINI
C
      DATA RDATA /0.0/
C
C
      RTRAC1= DIX
      RTRAC2= DIY
      IF (IPRINT.EQ.1) CALL G0MESG(99,2)
C
C          IF THE WINDOW AREA IS WRONG, NOTHING MORE IS DONE.
C          THE ANNOTATION MARKER IS SAVED AND THEN SET = 0
C          SO THAT ANNOTATION IS NOT DONE WITH A GRATICULE.
C          THE CURRENT PLOTTING POSITION IS THEN SAVED.
C
      IF (ABS(X1WND0-X2WND0).LT.RMINI.OR.
     &    ABS(Y1WND0-Y2WND0).LT.RMINI) RETURN
C
      NTATSV= NOTATA
      NOTATA= 0
      XHERE= XPLOT0
      YHERE= YPLOT0
C
C          THE X-AXIS AND Y-AXIS GRATICULE LINES ARE DRAWN.
C
      IDATA(1)= 1
      CALL G3LINK(0,14,-1,IDATA,RDATA)
      CALL G0DIVS(1,DIX)
      NTICKS= NTIKHX-NTIKLX+1
      IF (NTICKS.LE.0) GO TO 1
C
      EDGE(1)= Y1WND0
      EDGE(2)= Y2WND0
      INDEDG= 1
C
      DO 100 ITICK= 1,NTICKS
        XPOS= DIVLX*(NTIKLX+ITICK-1)
        CALL POSITN(XPOS,EDGE(INDEDG))
        INDEDG= 3-INDEDG
        CALL JOIN(XPOS,EDGE(INDEDG))
  100 CONTINUE
C
    1 CALL G0DIVS(2,DIY)
      NTICKS= NTIKHY-NTIKLY+1
      IF (NTICKS.LE.0) GO TO 2
C
      EDGE(1)= X1WND0
      EDGE(2)= X2WND0
      INDEDG= 1
C
      DO 200 ITICK= 1,NTICKS
        YPOS= DIVLY*(NTIKLY+ITICK-1)
        CALL POSITN(EDGE(INDEDG),YPOS)
        INDEDG= 3-INDEDG
        CALL JOIN(EDGE(INDEDG),YPOS)
  200 CONTINUE
C
    2 IDATA(1)= 0
      CALL G3LINK(0,14,-1,IDATA,RDATA)
C
C          THE ANNOTATION MARKER AND THE CURRENT
C          PLOTTING POSITION ARE THEN RESTORED.
C
      NOTATA= NTATSV
      CALL POSITN(XHERE,YHERE)
C
      RETURN
      END
