C MAGLINE.FTN - FOR EXTRACTING LINES OF AIRMAG DATA C ASSUMES THAT THE DATA HAS BEEN PUT ONTO DISK USING COPY32 C THE DATA MAY BE RETRIEVED SELECTIVELY BY LINE NUMBER OR COMPLETELY C BY GIVING NO LINE NUMBERS. LINE NUMBER INPUT IS TERMINATED BY C NEGATIVE LINE NUMBER. C INPUT IS LU 4 C CONSOLE IS LU 5 C OUTPUT IS LU 7 INTEGER LINE(100),FLINE,FID,EAST,NORTH,RAD,BARO, . LINEFOUND(10000),NFOUND CHARACTER*6 CLINE CHARACTER*12 BUFF CHARACTER*12 TTLE,ITOC CHARACTER*80 TXTLINE C USED TO READ A LINE OF TEXT 80 CHARS LONG C LLAST=0 C TO REMEMBER LAST LINE NUMBER OPEN(UNIT=4,FILE='../magold.pt1', . STATUS='OLD',READONLY) C OPEN THE INPUT FILE NLINE=0 NFOUND=0 WRITE(*,90) 90 FORMAT(' ENTER LINE NUMBERS - TERMINATE BY A NEGATIVE NUMBER'/ . ' IF ALL LINES ARE NEEDED TERMINATE IMMEDIATELY') DO 10 I=1,100 READ(*,*) J IF (J .LT. 0) GOTO 6 C TERMINATE NLINE=NLINE+1 LINE(NLINE)=J 10 CONTINUE 6 CONTINUE 20 READ(4,100,END=50) TXTLINE 100 FORMAT(A80) IF (TXTLINE(1:6) .EQ. ' ') GOTO 20 C CHECK FOR BLANK LINES AT END READ(TXTLINE(26:30),*) FLINE C READ THE LINE NUMBER IF (NLINE .EQ. 0) GOTO 40 DO 21 J=1,NLINE IF (FLINE .EQ. LINE(J)) GOTO 40 21 CONTINUE GOTO 20 C NOT FOUND SO BACK ROUND C 40 CONTINUE IF (LLAST .NE. FLINE) THEN CLOSE(UNIT=7,STATUS='KEEP') C C NOW CHECK TO SEE IF HAVE HAD THIS LINE NUMBER BEFORE IF (NFOUND .NE. 0) THEN C HAVE ALREADY RAD ONE OR MORE LINES DO 41 J=1,NFOUND IF (FLINE .EQ. LINEFOUND(J)) GOTO 42 C ALREADY SEEN THIS LINE NUMBER 41 CONTINUE GOTO 45 C NEW LINE NUMBER 42 WRITE(*,103) FLINE 103 FORMAT(I7,' ALREADY FOUND - RENAME OLD FILE') PAUSE ENDIF C C 45 NFOUND=NFOUND+1 LINEFOUND(NFOUND)=FLINE C REMEMBER HAVE SEEN THIS TTLE(1:2)='FA' WRITE(BUFF,101) FLINE 101 FORMAT(I6) READ(BUFF,102) CLINE 102 FORMAT(A6) C CLINE=ITOC(FLINE,K) TTLE(3:8)=CLINE(1:6) TTLE(9:12)='.CRD' DO 11 I=3,8 IF (TTLE(I:I) .EQ. ' ') TTLE(I:I)='0' 11 CONTINUE OPEN(UNIT=7,FILE=TTLE,RECL=80) LLAST=FLINE ENDIF WRITE(7,200) TXTLINE 200 FORMAT(A80) GOTO 20 C 50 CLOSE(UNIT=4,STATUS='KEEP') CLOSE(UNIT=7,STATUS='KEEP') CALL XIT END INCLUDE '/data/pe/xit.f' C INCLUDE '/data/pe/itoc.f'