CTITLECSTIME -- PRINT TIMING SUMMARY 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR R. MCMILLAN 00020000 CA DESIGNER R. MCMILLAN 00030000 CA LANGUAGE FORTRAN 00040000 CA SYSTEM IBM AND CRAY 00050000 CA WRITTEN 3-10-75 00060000 C REVISED 6-01-78 BY REM. CHANGE ABANDON CHECK TO <= -1 AND 00070000 C ADD AND ADD NOTATION FOR WARNING MESSAGES. 00080000 C REVISED 10-09-78 REM. ADD CODE TO WRITE TIMES TO A DISK FILE.00090000 C REVISED 12-19-78 REM. CORRECT MISSPELLED VARIABLE - MCTOT TO 00100000 C MCCTOT. 00110000 C REVISED 04-03-80 HHL. ADDED ACCUMULATION AND PRINTING OF I/O 00120000 C COUNTS TO THE DISK WORKFILES FOR EACH 00130000 C PROCESS. 00140000 C REVISED 11-30-81 SAS. REMOVED TEMPORARY FOTIME DISABLE PATCH.00150000 C REVISED 01-12-82 DJP. RETURN TIME IN CENTISECONDS TO CALLING 00160000 C PROGRAM. 00170000 C REVISED 09-07-82 PKC. REMOVED TEMPORARY FOTIME DISABLE PATCH.00180000 C REVISED 11-15-82 PKC. REMOVED TEMPORARY FOTIME DISABLE PATCH.00190000 C REVISED 11-17-82 ESN. ALLOW DISK FILE WRITES IN PREP STEPS 00200000 C AND ADD IN STEP NAME AND SYSTEM ID. 00210000 C REVISED 03-30-83 REM. ADD KPTRIO AND PTTBLK TO RECORDS 00220000 C WRITTEN TO DISK FILE. 00230000 C REVISED 02-14-84 REM. ADD KPETIM - ELAPSED(WALL-CLOCK) TIME 00240000 C TO RECORDS WRITTEN TO DISK FILE. 00250000 C REVISED 09-24-84 LBL. DUAL PATH FOR IBM AND CRAY 00260000 C REVISED 03-25-85 PKC. ADDED CODE TO DYNAMICALLY ALLOCATE 00270000 C FILES. 00280000 C REVISED 03-29-85 MJM. CORRECTED WARNING SO IT WOULD BE ISSUED00290000 C ONLY FOR THE APPROPRIATE PREPS. 00300000 C REVISED 04-08-85 PKC. ADDED BLANK COMMON SIZE TO JOB CARD. 00310000 C REVISED 04-23-85 PKC. CHANGED DYNAMIC ALLOCATION CODE TO USE 00320000 C UGASEQ INSTEAD OF USAMOD TO ALLOCATE SHR. 00330000 C REVISED 09-16-85 ESN. ADDED WARNING/ABANDONED FLAG TO THE 00340000 C INDIVIDUAL TIME RECORDS. 00350000 C REVISED 06-25-86 ESN. SET DYNFLG ONLY AFTER TIME FILE HAS 00360000 C BEEN ALLOCATED. 00370000 C REVISED 09-08-86 REM. IF KPRTF=-100, RESET TO 0 BEFORE 00380000 C WRITING A TIME RECORD TO THE OUTPUT FILE. 00390000 C REVISED 10-17-86 ESN. ADD JOBNAME AND KPRTF TO TIME FILE 00400000 C RECORD, AND CHECK FOR (KPRTF .LT. 0 AND 00410000 C .NE. -100) FOR ABANDONED PROCESSES. 00420000 C REVISED 03-25-87 DJP. REPLACED UGASEQ WITH UGASMT 00430000 C REVISED 06-03-87 DJP. ADDED THE PRINT UNIT TO THE PARAMETER 00440000 C LIST 00450000 C REVISED 07-13-87 ESN. REMOVED FORC READ OF 'PARM' CARD. 00460000 C REVISED 09-16-87 ESN. ADD IN ULIB'S AS PROCESS RECORDS FOR 00470000 C THE TIME FILE. 00480000 C REVISED 03-07-89 ESN. ADD IN SECOND PRINT UNIT NUMBER FOR 00490000 C SPARC SUMMARY PRINTOUT. 00500000 C REVISED 10-22-90 ESN. ENSURE THAT ALL ULIBS ARE SAVED. 00510000 C REVISED 01-31-91 ESN. MOVE ALLOCATION FLAG DYNFLG TO AFTER 00520000 C ERROR CHECK. 00530000 CA 00540000 CA 00550000 CA CALL CSTIME (TIME, JTIME, IPR, JPR) 00560000 CA OUTPUT TIME = TOTAL TIME IN HR:MI:SC R8 00570000 CA OUTPUT JTIME = TOTAL TIME IN CENTISECONDS I4 00580000 CA INPUT IPR = PRINT UNIT NUMBER I4 00590000 CA INPUT JPR = SECOND PRINT UNIT NUMBER I4 00600000 CA 00610000 CA 00620000 CA THIS ROUTINE PRINTS A SUMMARY OF THE TIME SPENT IN EACH 00630000 CA PROCESS ALONG WITH THE I/O COUNT TO THE DISK WORKFILES FOR EACH 00640000 CA PROCESS. ALL REPITITIONS OF A PROCESS ARE GROUPED TOGETHER AND 00650000 CA THE TIME AND WORKFILE I/O COUNT FOR EACH REPITITION AND THE 00660000 CA TOTAL TIME AND WORKFILE I/O COUNT FOR THAT PROCESS ARE PRINTED. 00670000 CA IF A PROCESS IS ABANDONED ( KPRTF < 0 ), THEN THE 00680000 CA WORD "ABANDONED" IS PRINTED TO THE RIGHT OF THAT PROCESS. 00690000 CA IF A PROCESS ISSUES A WARNING MESSAGE (KPWARN < 0), THE WORDS 00700000 CA "WARNING MESSAGE ISSUED" IS PRINTED TO THE RIGHT OF THE PROCESS. 00710000 CA THE PROGRAM SCANS THROUGH PROTAB AND FINDS KPNA, KPRNO, 00720000 CA KPTIME, KPRTF AND KPWKIO. AFTER THE TIME HAS BEEN SAVED IT IS SET 00730000 CA TO -1 IN PROTAB. SINCE THIS IS THE LAST PROGRAM THAT NEEDS 00740000 CA THE TABLES, IT IS ALL RIGHT TO DESTROY PART OF PROTAB. 00750000 CA 00760000 CA 00770000 CA PRINT FORMAT 00780000 CA ------------------------------------------------ 00790000 CA 00800000 CA PROC0 TIME I/O 00810000 CA 00820000 CA PROC0 TIME I WARNING MESSAGE ISSUED I/O 00830000 CA PROC1 TIME ABANDONED I/O 00840000 CA PROC2 TIME I/O 00850000 CA TOTAL PROC TIME I/O 00860000 CA 00870000 CA TOTAL TIME TIME 00880000 CA ------------------------------------------------- 00890000 C EJECT 00900000 C 00910000 C 00920000 C INTERNAL VARIABLES AND CONSTANTS 00930000 C I = DO LOOP VARIABLE 00940000 C II = DO LOOP INDEX 00950000 C IDETIM = INDEX IN PROTAB ENTRY FOR KPETIM 00960000 C IDIOC = INDEX IN PROTAB ENTRY FOR KPWKIO 00970000 C IDRTF = INDEX IN PROTAB ENTRY FOR KPRTF 00980000 C IDTIME = INDEX IN PROTAB ENTRY FOR KPTIME 00990000 C IDTRIO = INDEX IN PROTAB ENTRY FOR KPTRIO 01000000 C IDWARN = INDEX IN PROTAB ENTRY FOR KPWARN 01010000 C J = DO LOOP VARIABLE 01020000 C JTIME = JOB TIME 01030000 C LAST = INDEX OF LAST PROTAB ENTRY 01040000 C LINECT = LINE COUNTER 01050000 C MAXLN = MAXIMUM NUMBER OF LINES PER PAGE 01060000 C OTIME = OVERHEAD TIME 01070000 C PEND = CHARACTER STRING "PEND" 01080000 C TIME = TIME IN HR:MI:SC FORMAT 01090000 C TPNA = TEMPORARY STORAGE FOR KPNA 01100000 C TPRNO = TEMPORARY STORAGE FOR KPRNO 01110000 C TPROC = TOTAL PROCESS TIME 01120000 C TPRTF = TEMPORARY STORAGE FOR KPRTF 01130000 C TPTIME = TEMPORARY STORAGE FOR KPTIME 01140000 C TPWARN = TEMPORARY STORAGE FOR KPWARN 01150000 C TPWKIO = TEMPORARY STORAGE FOR KPWKIO 01160000 C TPWKTP = TOTAL I/O COUNT TO DISK WORKFILES FOR PROCESS 01170000 C TTIME = TOTAL TIME 01180000 C 01190000 C EJECT 01200000 C 01210000 SUBROUTINE CSTIME (TIME, JTIME, IPR, JPR) 01220000 C 01230000 IMPLICIT INTEGER (A-Z) 01240000 C 01250000 C 01260000 C COMMON /P/ STATEMENTS GENERATED BY UTCGI4 2/14/84 01270000 COMMON /P/ STARTP ( 2) , M00000( 29) 01280000 COMMON /P/ ACLNAM ( 5) , M00124( 68) 01290000 COMMON /P/ KPNA 01300000 COMMON /P/ KPRNO , M00420( 16) 01310000 COMMON /P/ KPTIME 01320000 COMMON /P/ KPRTF , M00492( 12) 01330000 COMMON /P/ KPWARN 01340000 COMMON /P/ KPTRIO 01350000 COMMON /P/ KPWKIO , M00552( 2) 01360000 COMMON /P/ KPETIM , M00564( 18) 01370000 COMMON /P/ MCJOB ( 2) 01380000 COMMON /P/ MCSTEP ( 2) , M00648 01390000 COMMON /P/ MCCTOT , M00660( 3) 01400000 COMMON /P/ MCBTEM ( 2) , M00676( 2) 01410000 COMMON /P/ MCBDAT ( 2) , M00692( 12) 01420000 COMMON /P/ MCNKP , M00748( 134) 01430000 COMMON /P/ PTNCW 01440000 COMMON /P/ PTTBLK , M01292( 36) 01450000 COMMON /P/ PROTAB ( 2) 01460000 COMMON /P/ ENDP 01470000 C 01480000 C REAL VARIABLES IN PARAMETER LIST. 01490000 C 01500000 CHARACTER*8 TIME 01510000 C 01520000 C REAL VARIABLES AND CONSTANTS--LOCAL 01530000 C 01540000 CHARACTER*8 DDNAME 01550000 CHARACTER*8 DDNM 01560000 CHARACTER*8 PRSNT 01570000 CHARACTER*44 DSIBMP 01580000 CHARACTER*44 DSNIBM 01590000 C 01600000 C INTEGER VARIABLES AND CONSTANTS--LOCAL 01610000 C 01620000 INTEGER LINE(20) 01630000 INTEGER CARD(20) 01640000 DATA ABAND /'A '/ 01650000 DATA BLNK /' '/ 01660000 C DATA CRAY /'CRAY'/ 01670000 DATA DYNFLG / 0 / 01680000 C DATA IBM /'IBM '/ 01690000 DATA LINE /20*' '/ 01700000 DATA MAXLN / 56/ 01710000 DATA PEND /'PEND'/ 01720000 DATA WARN /'W '/ 01730000 DATA DDNAME /'SPARCTIM'/ 01740000 DATA PRSNT /'PRESENT '/ 01750000 DATA DSIBMP /'DBG.SPARC.TIMEPREP '/ 01760000 DATA DSNIBM /'DBG.SPARC.TIME '/ 01770000 C 01780000 C 01790000 C--------- DUAL PATH FOR IBM AND CRAY 01800000 C 01810000 COMMON /SYSTEM/ SYSTEM 01820000 COMMON /SYSTEM/ SYBYPW 01830000 COMMON /SYSTEM/ SYLOCF 01840000 C 01850000 C 01860000 C 01870000 C 01880000 C PRINT HEADING 01890000 C 01900000 CALL USPHD (2, ACLNAM,'EXEC', 0, 'COMPUTER TIMES', 14, IPR) 01910000 IF (JPR .GT. 0) 01920000 * CALL USPHD (2, ACLNAM,'EXEC', 0, 'COMPUTER TIMES', 14, JPR) 01930000 C 01940000 WRITE (IPR, 9000) 01950000 IF (JPR .GT. 0) WRITE (JPR, 9000) 01960000 LINECT = 8 01970000 TTIME = 0 01980000 IDTIME = (LOC(KPTIME) - LOC(KPNA)) / SYLOCF 01990000 IDRTF = (LOC(KPRTF) - LOC(KPNA)) / SYLOCF 02000000 IDWARN = (LOC(KPWARN) - LOC(KPNA)) / SYLOCF 02010000 IDIOC = (LOC(KPWKIO) - LOC(KPNA)) / SYLOCF 02020000 IDTRIO = (LOC(KPTRIO) - LOC(KPNA)) / SYLOCF 02030000 IDETIM = (LOC(KPETIM) - LOC(KPNA)) / SYLOCF 02040000 LAST = PTNCW * MCNKP 02050000 C 02060000 C WRITE TIMES TO DATA FILE IF DD CARD IS PRESENT AND 02070000 C IT IS THE PROC STEP 02080000 C 02090000 DDNM = DDNAME 02100000 CALL CKDD (DDNM) 02110000 IF (DDNM .EQ. PRSNT) GO TO 3 02120000 C CRAY ALWAYS IS PRESENT SO DOES NOT DO DYNAMIC ALLOCATION 02130000 C 02140000 C CHECK FOR WHICH STEP IS EXECUTING 02150000 C 02160000 IF (S1CPCH (MCSTEP, 1, 'PROC', 1, 4) .NE. 0) GO TO 2 02170000 CALL UGASMT (DSNIBM, DDNAME, DCBADR, ERR, ERIN) 02180000 IF (ERR .NE. 1) THEN 02190000 WRITE (IPR, 9110) ERR, ERIN 02200000 IF (JPR .GT. 0) WRITE (JPR, 9110) ERR, ERIN 02210000 GO TO 9 02220000 ENDIF 02230000 DYNFLG = 1 02240000 GO TO 3 02250000 C 02260000 2 IF (S1CPCH (MCSTEP, 1, 'PREP', 1, 4) .NE. 0) GO TO 9 02270000 CALL UGASMT (DSIBMP, DDNAME, DCBADR, ERR, ERIN) 02280000 IF (ERR .NE. 1) THEN 02290000 WRITE (IPR, 9110) ERR, ERIN 02300000 IF (JPR .GT. 0) WRITE (JPR, 9110) ERR, ERIN 02310000 GO TO 9 02320000 ENDIF 02330000 DYNFLG = 1 02340000 C 02350000 C IF (DDNM .EQ. PRSNT) GO TO 9 02360000 C IF (S1CPCH (MCSTEP, 1, 'PROC', 1, 4) .NE. 0) GO TO 9 02370000 3 CALL S1MVCH ('JOB ', 1, LINE(1), 1, 4) 02380000 LINE(3) = MCJOB(1) 02390000 LINE(4) = MCJOB(2) 02400000 LINE(6) = MCBDAT(1) 02410000 LINE(7) = MCBDAT(2) 02420000 LINE(9) = MCBTEM(1) 02430000 LINE(10) = MCBTEM(2) 02440000 LINE(12) = MCSTEP(1) 02450000 LINE(13) = MCSTEP(2) 02460000 CALL USRDID (LINE(15)) 02470000 DA = 1 02480000 C CALL FORC ('PARM', 0, DA, CARD, * 9 )02490000 C CALL S1MVCH (CARD, 17, LINE(18), 1, 4) 02500000 CALL FOTIME (LINE) 02510000 DA = 1 02520000 CALL FORC ('ACCT', 0, DA, LINE, * 9 )02530000 CALL FOTIME (LINE) 02540000 DA = 1 02550000 CALL FORC ('LINE', 0, DA, LINE, * 9 )02560000 CALL FOTIME (LINE) 02570000 C 02580000 DO 4 02590000 * I = 1, 20 02600000 4 LINE(I) = BLNK 02610000 C 02620000 CALL S1MVCH ('ULIB', 1, LINE, 1, 4) 02630000 LINE(2) = 1 02640000 LINE(3) = 0 02650000 LINE(4) = 0 02660000 LINE(5) = 0 02670000 LINE(7) = 0 02680000 LINE(8) = MCJOB(1) 02690000 LINE(9) = MCJOB(2) 02700000 DO 5 02710000 * I = 0, 9 02720000 DA = 1 02730000 54 CALL FORC ('ULIB', I, DA, CARD, * 5 )02740000 CALL S1MVCH (CARD, 16, LINE(10), 1, 44) 02750000 CALL FOTIME (LINE) 02760000 GO TO 54 02770000 5 CONTINUE 02780000 C 02790000 DO 7 02800000 * I = 1, 20 02810000 7 LINE(I) = BLNK 02820000 C 02830000 DO 8 02840000 * I = 1, LAST, PTNCW 02850000 IF (PROTAB(I) .EQ. PEND) GO TO 8 02860000 LINE(1) = PROTAB(I) 02870000 LINE(2) = PROTAB(I+IDTIME) 02880000 LINE(3) = PROTAB(I+IDIOC) 02890000 LINE(4) = PROTAB(I+IDTRIO) 02900000 LINE(5) = PROTAB(I+IDETIM) 02910000 LINE(6) = BLNK 02920000 IF (PROTAB(I+IDWARN) .LT. 0) LINE(6) = WARN 02930000 IF (PROTAB(I+IDRTF) .LT. 0 .AND. 02940000 * PROTAB(I+IDRTF) .NE. -100) LINE(6) = ABAND 02950000 LINE(7) = 0 02960000 IF (PROTAB(I+IDRTF) .LT. 0 .AND. 02970000 * PROTAB(I+IDRTF) .NE. -100) LINE(7) = PROTAB(I+IDRTF) 02980000 LINE(8) = MCJOB(1) 02990000 LINE(9) = MCJOB(2) 03000000 CALL FOTIME (LINE) 03010000 8 CONTINUE 03020000 C 03030000 9 DO 160 03040000 * I = 1, LAST, PTNCW 03050000 IF (PROTAB(I) .EQ. PEND) GO TO 160 03060000 IF (PROTAB(I+IDTIME) .LT. 0) GO TO 160 03070000 TPTIME = 100 * ((PROTAB(I+IDTIME) + 100) / 100) 03080000 TPROC = TPTIME 03090000 PROTAB(I+IDTIME) = -1 03100000 TPNA = PROTAB(I) 03110000 TPRNO = PROTAB(I+1) 03120000 TPRTF = PROTAB(I+IDRTF) 03130000 TPWARN = PROTAB(I+IDWARN) 03140000 TPWKIO = PROTAB(I+IDIOC) 03150000 TPWKTP = TPWKIO 03160000 II = I + PTNCW 03170000 IF (II .GT. LAST) GO TO 20 03180000 C 03190000 C CHECK REST OF PROTAB FOR THIS SAME PROCESS 03200000 C 03210000 DO 10 03220000 * J = II, LAST, PTNCW 03230000 IF (PROTAB(J) .EQ. TPNA) GO TO 60 03240000 C 03250000 10 CONTINUE 03260000 C 03270000 C THERE IS ONLY ONE OCCURRENCE OF THIS PROCESS 03280000 C 03290000 20 CALL EBCTIM (TIME, TPTIME) 03300000 TTIME = TTIME + TPTIME 03310000 C 03320000 IF (LINECT .LT. MAXLN) GO TO 30 03330000 WRITE (IPR, 9010) 03340000 IF (JPR .GT. 0) WRITE (JPR, 9010) 03350000 LINECT = 0 03360000 C 03370000 30 LINECT = LINECT + 2 03380000 C 03390000 IF (TPRTF .LE. -1) GO TO 50 03400000 IF (TPWARN .LT. 0) GO TO 40 03410000 C 03420000 WRITE (IPR, 9020) TPNA, TPRNO, TIME, TPWKIO 03430000 IF (JPR .GT. 0) 03440000 * WRITE (JPR, 9020) TPNA, TPRNO, TIME, TPWKIO 03450000 GO TO 160 03460000 C 03470000 40 WRITE (IPR, 9030) TPNA, TPRNO, TIME, TPWKIO 03480000 IF (JPR .GT. 0) 03490000 * WRITE (JPR, 9030) TPNA, TPRNO, TIME, TPWKIO 03500000 GO TO 160 03510000 C 03520000 50 WRITE (IPR, 9040) TPNA, TPRNO, TIME, TPWKIO 03530000 IF (JPR .GT. 0) 03540000 * WRITE (JPR, 9040) TPNA, TPRNO, TIME, TPWKIO 03550000 GO TO 160 03560000 C 03570000 C MORE THAN ONE SUCH PROCESS 03580000 C 03590000 60 IF (LINECT + 5 .LT. MAXLN) GO TO 70 03600000 WRITE (IPR, 9010) 03610000 IF (JPR .GT. 0) WRITE (JPR, 9010) 03620000 LINECT = 0 03630000 C 03640000 70 CALL EBCTIM (TIME, TPTIME) 03650000 IF (TPRTF .LE. -1) GO TO 90 03660000 IF (TPWARN .LT. 0) GO TO 80 03670000 C 03680000 WRITE (IPR, 9050) TPNA, TPRNO, TIME, TPWKIO 03690000 IF (JPR .GT. 0) 03700000 * WRITE (JPR, 9050) TPNA, TPRNO, TIME, TPWKIO 03710000 GO TO 100 03720000 C 03730000 80 WRITE (IPR, 9060) TPNA, TPRNO, TIME, TPWKIO 03740000 IF (JPR .GT. 0) 03750000 * WRITE (JPR, 9060) TPNA, TPRNO, TIME, TPWKIO 03760000 GO TO 100 03770000 C 03780000 90 WRITE (IPR, 9070) TPNA, TPRNO, TIME, TPWKIO 03790000 IF (JPR .GT. 0) 03800000 * WRITE (JPR, 9070) TPNA, TPRNO, TIME, TPWKIO 03810000 C 03820000 100 LINECT = LINECT + 1 03830000 TPRNO = PROTAB(J+1) 03840000 TPTIME = 100 * ((PROTAB(J+IDTIME) + 100) / 100) 03850000 TPRTF = PROTAB(J+IDRTF) 03860000 CMJM 03870000 TPWARN = PROTAB(J+IDWARN) 03880000 CMJM 03890000 TPWKIO = PROTAB(J+IDIOC) 03900000 TPWKTP = TPWKTP + TPWKIO 03910000 TPROC = TPROC + TPTIME 03920000 PROTAB(J+IDTIME) = -1 03930000 II = J + PTNCW 03940000 IF (II .GT. LAST) GO TO 120 03950000 C 03960000 C NOW LOOK FOR THE NEXT OCCURRENCE OF THIS PROCESS 03970000 C 03980000 DO 110 03990000 * J = II, LAST, PTNCW 04000000 IF (PROTAB(J) .EQ. TPNA) GO TO 70 04010000 C 04020000 110 CONTINUE 04030000 C 04040000 C NO MORE OCCURRENCES OF THIS PROCESS. 04050000 C PRINT TIME FOR LAST OCCURRENCE. 04060000 C 04070000 120 CALL EBCTIM (TIME, TPTIME) 04080000 IF (TPRTF .LE. -1) GO TO 140 04090000 IF (TPWARN .LT. 0) GO TO 130 04100000 C 04110000 WRITE (IPR, 9050) TPNA, TPRNO, TIME, TPWKIO 04120000 IF (JPR .GT. 0) 04130000 * WRITE (JPR, 9050) TPNA, TPRNO, TIME, TPWKIO 04140000 GO TO 150 04150000 C 04160000 130 WRITE (IPR, 9060) TPNA, TPRNO, TIME, TPWKIO 04170000 IF (JPR .GT. 0) 04180000 * WRITE (JPR, 9060) TPNA, TPRNO, TIME, TPWKIO 04190000 GO TO 150 04200000 C 04210000 140 WRITE (IPR, 9070) TPNA, TPRNO, TIME, TPWKIO 04220000 IF (JPR .GT. 0) 04230000 * WRITE (JPR, 9070) TPNA, TPRNO, TIME, TPWKIO 04240000 C 04250000 C 04260000 C PRINT TOTAL TIME FOR PROCESS 04270000 C 04280000 150 CALL EBCTIM (TIME, TPROC) 04290000 C 04300000 WRITE (IPR, 9080) TPNA, TIME, TPWKTP 04310000 IF (JPR .GT. 0) 04320000 * WRITE (JPR, 9080) TPNA, TIME, TPWKTP 04330000 C 04340000 TTIME = TTIME + TPROC 04350000 LINECT = LINECT + 3 04360000 IF (LINECT .GE. MAXLN) LINECT = 0 04370000 C 04380000 160 CONTINUE 04390000 C 04400000 C GET OVERHEAD TIME 04410000 C 04420000 CTOT = MCCTOT 04430000 C CALL CLOCK (JTIME, CTOT) 04440000 CALL USCLOK (JTIME, CTOT) 04450000 OTIME = 100 * ((JTIME + 100) / 100) - TTIME 04460000 IF (OTIME .LT. 100) OTIME = 100 04470000 CALL EBCTIM (TIME, OTIME) 04480000 C 04490000 WRITE (IPR, 9090) TIME 04500000 IF (JPR .GT. 0) WRITE (JPR, 9090) TIME 04510000 C 04520000 C 04530000 C PRINT TOTAL RUN TIME AND RETURN IT TO CALLING 04540000 C PROGRAM IN HR:MI:SC FORMAT 04550000 C 04560000 JTIME = TTIME + OTIME 04570000 CALL EBCTIM (TIME, JTIME) 04580000 C 04590000 WRITE (IPR, 9100) TIME 04600000 IF (JPR .GT. 0) WRITE (JPR, 9100) TIME 04610000 C RELEASE DCB FROM DYNAMIC TIME FILE ALLOCATION 04620000 IF (DYNFLG .EQ. 1) CALL UGUNAL (DCBADR, ERR, ERIN) 04630000 C 04640000 RETURN 04650000 C 04660000 9000 FORMAT (29X,'TIME',31X,'WORKFILE'/6X,'PROCESS',15X,'MI:SC', 04670000 * 33X,'I/O'/) 04680000 C 04690000 9010 FORMAT ('1') 04700000 C 04710000 9020 FORMAT (7X,A4,I1,13X, A8,28X,I10/) 04720000 C 04730000 9030 FORMAT (7X,A4,I1,13X, A8,3X,'WARNING MESSAGE ISSUED',3X,I10/) 04740000 C 04750000 9040 FORMAT (7X,A4,I1,13X, A8,3X,'ABANDONED',16X,I10/) 04760000 C 04770000 9050 FORMAT (7X,A4,I1,2X, A8,39X,I10/) 04780000 C 04790000 9060 FORMAT (7X,A4,I1,2X, A8,14X,'WARNING MESSAGE ISSUED',3X,I10/) 04800000 C 04810000 9070 FORMAT (7X,A4,I1,2X, A8,14X,'ABANDONED',16X,I10/) 04820000 C 04830000 9080 FORMAT (8X,'TOTAL ',A4,7X, A8,28X,I10/) 04840000 C 04850000 9090 FORMAT (7X,'OVERHEAD ',8X, A8/) 04860000 C 04870000 9100 FORMAT (7X,'TOTAL TIME',8X, A8) 04880000 C 04890000 9110 FORMAT(' ERROR IN ALLOCATING TIME FILE ERR=',I5,' ERRIN ',Z8) 04900000 END 04910000