SUBROUTINE WRTLBL(MODE,ISEQ) CHANGES MADE 21-JAN-1980 *** C C SUBROUTINE TO WRITE STANDARD IBM TAPE LABELS. C IMPLICIT INTEGER*2 (I-N,O) COMMON /GHCITP/ IRC,IBC,LUNMT,LUNTT,ILRECL,IBLKSZ,IOSTAT(5), 1 IFN(17),IVOL(6),TRAN,LAB,IEOF COMMON /GHCOTP/ ORC,OBC,OLRECL,OBLKSZ,OSTAT(4),OFN(17), 1 VNAME(6),OTRAN,OLAB,CC,ODEN,OEOF LOGICAL*1 IFN,TRAN,LAB,IEOF,OFN,OTRAN,OLAB,CC,ODEN,OEOF,VNAME,IVOL LOGICAL*1 OWRT(80),BL,ZER,NULL,HDT(9),V,A,R,PNAM(15) INTEGER*2 IMLS(12),LPNAM REAL RMNTHS(12) EQUIVALENCE (RMON,HDT(3)) DATA IMLS/31,28,31,30,31,30,31,31,30,31,30,31/, 1 RMNTHS/'-JAN','-FEB','-MAR','-APR','-MAY','-JUN','-JUL', 2 '-AUG','-SEP','-OCT','-NOV','-DEC'/ DATA HDR1/'HDR1'/,HDR2/'HDR2'/,EOF1/'EOF1'/,EOF2/'EOF2'/ DATA BL/"40/,IOEOF/'28'X/,ZER/"60/,NULL/0/,V/"126/,A/"101/,R/"122/ 1 FORMAT ('VOL1',6A1,'0',30X,'NIH-2/219 ',29X) 2 FORMAT (A4,17A1,6A1,'0001'I4,7X,5A1,' 000000',I6,'LMB:MOL_STRUC', 1 7X) 3 FORMAT (A4,'F',2I5,I1,'0',8X'/'12X,'B',41X) 4 FORMAT (I2,5X,I2) 5 FORMAT (2X,I3) C OEOF = .FALSE. ILRECL = OLRECL IBLKSZ = OBLKSZ OLRECL = 80 OBLKSZ = 80 ORC = 0 CALL DATE(HDT) DECODE (9,4,HDT) ID,IY IF (IY-IY/4*4 .EQ. 0) IMLS(2) = 29 !IF LEAP YEAR COMPUTE DAY OF YEAR DO 20 I = 1,12 IF (RMON .EQ. RMNTHS(I)) GO TO 25 20 ID = ID + IMLS(I) 25 ENCODE (5,5,HDT) ID HDT(1) = HDT(8) HDT(2) = HDT(9) DO 30 I = 1,5 IF (HDT(I) .EQ. BL) HDT(I) = ZER 30 CONTINUE CALL PROCNM(PNAM,LPNAM) IF (MODE - 1) 35,40,55 35 ENCODE (80,1,OWRT) VNAME CALL WRT370(OWRT) C 40 ISHOLD = MAX0(1,ISEQ) ENCODE (80,2,OWRT) HDR1,OFN,VNAME,ISHOLD,(HDT(I),I=1,5),NULL GO TO 60 45 ENCODE (80,3,OWRT) HDR2,IBLKSZ,ILRECL,ODEN ILHOLD = ILRECL GO TO 80 50 OLRECL = ILRECL OBLKSZ = IBLKSZ OBC = 0 RETURN C 55 ENCODE (80,2,OWRT) EOF1,OFN,VNAME,ISHOLD,(HDT(I),I=1,5),OBC 60 DO 65 I = 32,34 IF (OWRT(I) .EQ. BL) OWRT(I) = ZER 65 CONTINUE DO 70 I = 55,60 IF (OWRT(I) .EQ. BL) OWRT(I) = ZER 70 CONTINUE CALL WRT370(OWRT) ! WRITE HDR1/EOF1 IF (MODE .LE. 1) GO TO 45 ENCODE (80,3,OWRT) EOF2,IBLKSZ,ILHOLD,ODEN 80 DO 81 I=18,25 81 OWRT(I) = BL DO 82 I=1,LPNAM 82 OWRT(17+I) = PNAM(I) DO 85 I = 6,15 IF (OWRT(I) .EQ. BL) OWRT(I) = ZER 85 CONTINUE IF (CC .EQ. V) GO TO 90 IF (CC .EQ. A) OWRT(37) = A GO TO 95 90 OWRT(5) = V OWRT(39) = R 95 CALL WRT370(OWRT) ! WRITE HDR2/EOF2 CALL SYS$QIOW(,%VAL(LUNMT),%VAL(IOEOF),,,,,,,,,) ! WRITE EOF IF (MODE .LE. 1) GO TO 50 RETURN C END