SUBROUTINE DISCO COMMON/DATA/DATA(2,600),NDATA,IFLAG,NDIMAX LOGICAL*1 ICH(18),FILNAM(32),IAA(6),ID(10),IT(8) DIMENSION COL(8),A(6) C DO 73 I=1,600 DATA(1,I)=0.0 DATA(2,I)=0.0 73 CONTINUE 53 WRITE (5,101) 101 FORMAT (1X,'FILE NAME:',$) READ (5,103) (FILNAM(I), I=1,32) 103 FORMAT (32A1) OPEN (UNIT=2, TYPE='OLD', NAME=FILNAM, ERR=14) C 35 READ (2,40,END=55) (ICH(I), I=1,16) IKY=MATCH(' DATA BEGINS NEX',ICH) IF (IKY.EQ.1) GOTO 45 IKY=MATCH('DATA BEGINS NEXT',ICH) IF (IKY.EQ.0) GOTO 35 40 FORMAT (16A1) C 45 WRITE (5,60) 60 FORMAT (1X,'X IS COLUMN:',$) READ (5,75) KX WRITE (5,70) 70 FORMAT (1X,'Y IS COLUMN:',$) READ (5,75) KY 75 FORMAT (I1) NDATA=0 DO 90 I=1,600 READ (2,88,END=50) (COL(J), J=1,8) DATA(1,I)=COL(KX) DATA(2,I)=COL(KY) NDATA=NDATA+1 88 FORMAT (1X,8(1X,E12.3)) 90 CONTINUE 50 GOTO 160 55 TYPE*,'HOPE OR FAITH FILE' NSN=0 TYPE *, 'INPUT SCAN NUMBER: ' READ (5,7)NNSN 7 FORMAT (I4) REWIND 2 10 READ (2,11,END=14) (ICH(I),I=1,16) 11 FORMAT (16A1) IKY=CMPS('SCAN',ICH,18) IF (IKY.EQ.0) GO TO 12 GO TO 10 12 BACKSPACE 2 READ (2,1)NSN,(ID(I),I=1,9),(IT(I),I=1,8) 2 FORMAT (3X,4A1,4X,6(F7.3,3X),I2) 1 FORMAT (5X,5X,I4,10X,9A1,10X,8A1) IF (NSN.NE.NNSN) GO TO 10 21 WRITE (5,1) NSN,(ID(I),I=1,9),(IT(I),I=1,8) READ (2,2) (IAA(I),I=1,4),(A(I),I=1,6),IA NDATA=((A(2)-A(1))/A(3))-1. 68 DO 80 I=1,NDATA READ (2,4) OM,TTH,CTS 4 FORMAT (1X,2(F7.3,3X),F7.0) 204 FORMAT (7F10.4) DATA(1,I)=TTH DATA(2,I)=CTS 80 CONTINUE 160 PMAX=0.0 PMIN=0.0 DO 180 I=1,NDATA 167 PMAX=AMAX1(PMAX,DATA(2,I)) PMIN=AMIN1(PMIN,DATA(2,I)) 180 CONTINUE CALL CLOSE(2) 202 WRITE (5,22) NDATA 22 FORMAT (1X,'FILE HAS ',I4,'POINTS TO PLOT') WRITE (5,81) PMAX,PMIN 81 FORMAT (' MAX VALUE =', F7.0,' MIN VALUE = ',F7.0) RETURN 14 TYPE*,'OPEN ERROR; TRY AGAIN!' RETURN END