CTITLECSSMRY -- PRINT PROCESSING SUMMARY 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR R. MCMILLAN 00020000 CA DESIGNER FRANCIS COLLINS 00030000 CA LANGUAGE FORTRAN 00040000 CA SYSTEM IBM AND CRAY 00050000 CA WRITTEN 08-20-75 00060000 C REVISED 10-29-76 BY R. MCMILLAN TO CHECK FOR MASS STORAGE DATA 00070000 C SETS. 00080000 C REVISED 03-17-77 BY REM. ADD CALL TO CSPMAP BEFORE RETURN FOR USE00090000 C BY OPERATORS. 00100000 C REVISED 07-23-79 BY SAS - CHANGED SECOND CALL TO CSPMAP TO CSDMAP00110000 C AS SECOND PRINTOUT HAS BEEN REFORMATED FOR 00120000 C OPERATOR USE. 00130000 C REVISED 11-26-79 REM. CHANGE CALL TO CSDMAP TO CSRECP. 00140000 C REVISED 12-10-79 REM. ADD EXTRA CSPMAP CALL JUST BEFORE CSRECP. 00150000 C REVISED 02-11-80 REP. REVISE MAP AND INCLUDE SPOOL MEMBER NUMBER.00160000 C REVISED 02-22-80 PKC. CHANGE USE OF LCSI TO LCPI. 00170000 C REVISED 12-19-80 JCR. CHANGED PARMS FOR SUB USDNFM (NOT USED). 00180000 C REVISED 01-12-82 DJP. ADDED PRINT FOR JOB COST AND LIMITED ALL 00190000 C PRINT TO 85 COLUMNS. 00200000 C REVISED 07-19-82 RSK. REMOVED RESTRICTION THAT 2ND FAT ENTRY FOR 00210000 C A PROCESS HAD TO BE 'READ' OR A PLOT FILE. THIS 00220000 C IS TO ACCOMODATE PERMANENT WORK FILES. 00230000 C REVISED 01-18-83 DWD. ADDED LOGIC TO PRINT MASS STORAGE DYNAMIC 00240000 C ALLOCATED DATA SET INFORMATION. 00250000 C REVISED 07-19-83 JBC. ADDED LOGIC TO PRINT LARGE MASS STORAGE 00260000 C DATA SETS SEPARATE. 00270000 C REVISED 11-28-83 NTS. MAKE THE LINE NAME FIELD ACLNAM 5A4. 00280000 C FORMAT # 9130 CHANGED. 00290000 C REVISED 10-04-84 REP. CONVERT TO VS FORTRAN. 00300000 C REVISED 12-05-84 RDK. DUAL PATH IBM/CRAY. 00310000 C REVISED 02-06-85 RDK. PRINT IBM CPU EQUIVALENT ON CRAY. 00320000 C REVISED 09-25-85 DCB. CORRECTED ERROR IN STATEMENT THAT WRITES 00330000 C VOLUME SEQUENCE NUMBER, USING FORMAT 9090, INTO 00340000 C CHARACTER*48 VARIABLE, MISC. 00350000 C REVISED 10-07-85 RDK. BRING IBM AND CRAY VERSIONS INTO ACCORD. 00360000 C REVISED 12-26-85 JMP. PUT IN A CHECK FOR NEW READ CARDS. 00370000 C REVISED 01-03-86 ESN. MODIFY PRINTOUT OF DYNAMICALLY ALLOCATED 00380000 C DATASETS FOR THE CRAY. 00390000 C REVISED 01-17-86 ESN. CHANGE TIME RATIO IBM:CRAY FROM 5:1 TO 00400000 C 2.5:1. 00410000 C REVISED 05-12-86 REM. PRINT AC64BC AS AN INTEGER. 00420000 C REVISED 10-07-86 CMP. MODIFY COST COMPUTATION. 00430000 C REVISED 06-03-87 DJP. CHANGED THE PRINT UNIT FROM 6 TO 99 AND 00440000 C MADE IT A PARAMETER TO CSPMAP AND CSTIME. 00450000 C REVISED 12-02-87 REM. DELETE USE OF FAT'S FOR DSN PRINT. 00460000 C REVISED 02-25-88 REP. REMOVE CALL TO CSRECP. 00470000 C REVISED 04-28-88 TJT. MADE LCGRPI FLOATING POINT. 00480000 C REVISED 06-24-88 TJT. MADE LCGRPI FLOATING PT. CHANGE PERMANENT 00490000 C REVISED 08-09-88 MCD. MODIFIED TO DISPLAY THE NUMBER OF TRACES 00500000 C READ AND WRITTEN DURING A JOB. 00510000 C REVISED 02-27-89 REM. PRINT # OF TRACES FOR CRDA 00520000 C REVISED 03-06-89 ESN. ADDED IN PRINT UNIT 97. 00530000 C REVISED 04-26-89 TJT. FIXED NUMBER OF TRACES WRITTEN DISPLAY TO 00540000 C HANDLE MULTIPLE OCCURANCES OF THE SAME RT. 00550000 C ALSO PRINT # OF TRACES FOR LA3D. 00560000 C ADDED ERROR MSG WHEN ENTRY NOT FOUND. 00570000 C REVISED 11-06-89 RDK. FOR CRAY CFT77 COMPATIBILITY. 00580000 C REVISED 11-30-89 ESN. ADD IN TR3D AND WT3D FOR OUTPUT TRACE 00590000 C SUMMARY. 00600000 C REVISED 12-23-91 ESN. DO NOT PRINT OUT JOB COST. 00610000 C REVISED 03-23-92 ESN. REDUCE WIDTH OF SUMMARY HEADER FROM 83 00620000 C COLS TO 80 COLS (FORMAT 9130). 00630000 CA 00640000 CA CALL CSSMRY 00650000 CA 00660000 CA 00670000 CA THIS ROUTINE PRINTS A SUMMARY OF ALL PROCESSING. 00680000 CA 00690000 C EJECT 00700000 C 00710000 C 00720000 C LOCAL ARRAYS (INTERNAL TO SUBROUTINE). 00730000 C 00740000 C PRECRD ( 2) = INPUT BUFFER TO PRINT MSS INFO 2I4 00750000 C PROCM ( 3) = USED TO PRINT PROCESSING MODE I4 00760000 C 00770000 C 00780000 C LOCAL VARIABLES AND CONSTANTS (INTERNAL TO SUBROUTINE). 00790000 C 00800000 C CTIME = PROCESSING TIME FROM CSTIME (IN CENTISECONDS) I4 00810000 C FILE = CHARACTERS 'FILE' I4 00820000 C IDTRIO = INDEX IN PROTAB ENTRY FOR KPTRIO I4 00830000 C MODE = PROCESSING MODE I4 00840000 C STATUS = STATUS OF FOWTDS CALL I4 00850000 C TIME = PROCESSING TIME FROM CSTIME (IN CHARACTERS) R8 00860000 C TIME2 = TIME OF DAY (IN CHARACTERS) R8 00870000 C TPNA = TEMP STORAGE FOR KPNA R8 00880000 C TPRNO = TEMP STORAGE FOR KPRNO R8 00890000 C 00900000 SUBROUTINE CSSMRY 00910000 C 00920000 IMPLICIT INTEGER (A-Z) 00930000 C 00940000 PARAMETER (IPR=99) 00950000 PARAMETER (JPR=97) 00960000 C 00970000 C 00980000 C COMMON /P/ STATEMENTS GENERATED BY UTCGI4 8/19/88 00990000 COMMON /P/ STARTP ( 2) , M00000( 3) 01000000 COMMON /P/ LCTYP , M00020 01010000 COMMON /P/ LCBGSP 01020000 COMMON /P/ LCENSP , M00032( 2) 01030000 COMMON /P/ LCNSP 01040000 COMMON /P/ LCTPSP 01050000 COMMON /P/ LCRL 01060000 COMMON /P/ LCSI 01070000 COMMON /P/ LCPI 01080000 COMMON /P/ LCGRPI 01090000 REAL LCGRPI 01100000 COMMON /P/ LCMXFD , M00068( 8) 01110000 COMMON /P/ AC64BC , M00104( 2) 01120000 COMMON /P/ ACDIST 01130000 COMMON /P/ ACPROJ 01140000 COMMON /P/ ACLNAM ( 5) 01150000 COMMON /P/ ACCOM ( 8) , M00144 01160000 COMMON /P/ ACTYPE 01170000 COMMON /P/ ACNSP 01180000 COMMON /P/ ACUSER ( 5) , M00188( 52) 01190000 COMMON /P/ KPNA 01200000 COMMON /P/ KPRNO , M00420( 3) 01210000 COMMON /P/ KPDBGA 01220000 COMMON /P/ KPDBGN , M00440( 23) 01230000 COMMON /P/ KPPLTA , M00536( 2) 01240000 COMMON /P/ KPTRIO , M00548( 45) 01250000 COMMON /P/ MCRTF , M00732( 3) 01260000 COMMON /P/ MCNKP , M00748( 134) 01270000 COMMON /P/ PTNCW , M01288( 2) 01280000 COMMON /P/ PTFATL , M01300( 34) 01290000 COMMON /P/ PROTAB ( 2) 01300000 COMMON /P/ ENDP 01310000 C 01320000 COMMON COM(1) 01330000 C 01340000 COMMON /SYSTEM/ SYSTEM 01350000 COMMON /SYSTEM/ SYBYPW 01360000 COMMON /SYSTEM/ SYLOCF 01370000 C 01380000 C 01390000 C================================================================== 01400000 C 01410000 C INTEGER ARRAYS--LOCAL 01420000 CHARACTER*12 DPOINT 01430000 CHARACTER*12 FILE 01440000 INTEGER PRECRD (20) 01450000 CHARACTER*12 PROCM 01460000 CHARACTER*12 SPOINT 01470000 INTEGER STATUS 01480000 C 01490000 C================================================================== 01500000 C 01510000 C REAL VARIABLES --LOCAL 01520000 REAL COST 01530000 REAL HOUR 01540000 REAL MINUTE 01550000 REAL RATE 01560000 CHARACTER*8 DATE 01570000 CHARACTER*8 JOBCLS 01580000 CHARACTER*8 JOBNAM 01590000 CHARACTER*8 JOBNUM 01600000 CHARACTER*8 TIME 01610000 CHARACTER*8 TIME2 01620000 CHARACTER*17 XCUSER 01630000 CHARACTER*32 XCCOM 01640000 CHARACTER*20 XCLNAM 01650000 CHARACTER*8 TDSNAM 01660000 CHARACTER*44 XDSNAM 01670000 CHARACTER*8 XIO 01680000 C 01690000 C================================================================== 01700000 C 01710000 C INTEGER VARIABLES--LOCAL 01720000 C 01730000 DATA TCRDA /'CRDA'/ 01740000 DATA TDUMM / 0 / 01750000 DATA TLA3D /'LA3D' / 01760000 DATA TREAD /'READ' / 01770000 DATA TTR3D /'TR3D'/ 01780000 DATA TWRIT /'WRIT'/ 01790000 DATA TWT3D /'WT3D'/ 01800000 C 01810000 DATA DPOINT /'DEPTH POINT '/ 01820000 DATA FILE /'FILE '/ 01830000 DATA PEND /'PEND'/ 01840000 DATA PROCM /' '/ 01850000 DATA SPOINT /'SHOTPOINT '/ 01860000 C 01870000 C 01880000 C================================================================== 01890000 C 01900000 CALL CSPMAP (IPR, JPR) 01910000 C 01920000 CALL CSTIME (TIME, CTIME, IPR, JPR) 01930000 C 01940000 READCNT = 0 01950000 IDTRIO = (LOC(KPTRIO) - LOC(KPNA))/SYLOCF 01960000 LAST = PTNCW * MCNKP 01970000 C 01980000 CALL S1MVCH (ACLNAM,1, XCLNAM,1, 20 ) 01990000 CALL S1MVCH (ACUSER,1, XCUSER,1, 17 ) 02000000 CALL S1MVCH (ACCOM ,1, XCCOM ,1, 32 ) 02010000 C 02020000 CALL DATIME (DATE, TIME2, TDUMM) 02030000 CALL JOBINF (JOBNAM, JOBNUM, JOBCLS) 02040000 WRITE (JPR, 9130) XCLNAM,DATE, TIME2, KPRNO, JOBNAM, JOBNUM 02050000 WRITE (IPR, 9130) XCLNAM,DATE, TIME2, KPRNO, JOBNAM, JOBNUM 02060000 C 02070000 C GET CHARACTERS FOR PROCESSING MODE 02080000 C 02090000 IF (S1CPCH(LCTYP,1, 'D',1, 1) .NE. 0) GO TO 40 02100000 PROCM = DPOINT 02110000 GO TO 60 02120000 C 02130000 40 IF (S1CPCH(LCTYP,1, 'F',1, 1) .NE. 0) GO TO 50 02140000 PROCM = FILE 02150000 GO TO 60 02160000 C 02170000 50 PROCM = SPOINT 02180000 C 02190000 60 CONTINUE 02200000 C 02210000 WRITE (JPR, 9000) XCUSER, XCCOM, ACTYPE, ACNSP, XCUSER 02220000 WRITE (IPR, 9000) XCUSER, XCCOM, ACTYPE, ACNSP, XCUSER 02230000 C 02240000 WRITE (JPR, 9010) PROCM, LCBGSP, LCTPSP, ACPROJ 02250000 WRITE (IPR, 9010) PROCM, LCBGSP, LCTPSP, ACPROJ 02260000 C 02270000 WRITE (JPR, 9020) PROCM, LCENSP, LCRL, ACDIST 02280000 WRITE (IPR, 9020) PROCM, LCENSP, LCRL, ACDIST 02290000 C 02300000 WRITE (JPR, 9030) LCNSP, LCPI, AC64BC 02310000 WRITE (IPR, 9030) LCNSP, LCPI, AC64BC 02320000 C 02330000 WRITE (JPR, 9035) LCGRPI, LCMXFD 02340000 WRITE (IPR, 9035) LCGRPI, LCMXFD 02350000 C 02360000 C READ DATA FROM TEMPORARY DATA SET 02370000 C 02380000 CALL FOWTDS (PRECRD, 2, STATUS) 02390000 IF (STATUS .EQ. 2) GO TO 1000 02400000 IF (STATUS .NE. 1) GO TO 700 02410000 WRITE (JPR, 9150) 02420000 WRITE (IPR, 9150) 02430000 NLOOP = 0 02440000 C 02450000 200 CONTINUE 02460000 NLOOP = NLOOP + 1 02470000 DO 900 I = 1, LAST, PTNCW 02480000 C 02490000 XNAME = PRECRD(1) 02500000 XNUM = PRECRD(2) 02510000 XUNIT = PRECRD(3) 02520000 CALL S1MVCH (PRECRD(4), 1, XIO, 1, 8) 02530000 CALL S1MVCH (PRECRD(6), 1, XDSNAM, 1, 44) 02540000 C 02550000 IF (PROTAB(I) .EQ. PEND) GO TO 900 02560000 TPNA = PROTAB(I) 02570000 TPRNO = PROTAB(I+1) 02580000 IF (XNAME .EQ. TREAD) READCNT = READCNT + 1 02590000 IF (TPNA .NE. XNAME) GO TO 900 02600000 IF (READCNT .GT. 1 .AND. XNAME .EQ. TREAD) THEN 02610000 WRITE (JPR, 9165) XNAME,XNUM,XUNIT,XIO,XDSNAM 02620000 WRITE (IPR, 9165) XNAME,XNUM,XUNIT,XIO,XDSNAM 02630000 ELSE IF (XNAME .EQ. TREAD .OR. XNAME .EQ. TWRIT .OR. 02640000 * XNAME .EQ. TCRDA .OR. XNAME .EQ. TLA3D .OR. 02650000 * XNAME .EQ. TTR3D .OR. XNAME .EQ. TWT3D ) THEN 02660000 IF (XNAME .NE. TREAD .AND. XIO .NE. 'INPUT') THEN 02670000 TPDSNS = PROTAB(I+IDTRIO+5) 02680000 CALL S1MVCH (COM(TPDSNS+2), 1, TDSNAM, 1, 8) 02690000 IF (TDSNAM .NE. XDSNAM(5:12)) GO TO 900 02700000 ENDIF 02710000 TPTRIO = PROTAB(I+IDTRIO) 02720000 WRITE (JPR, 9160) XNAME,XNUM,XUNIT,XIO,XDSNAM,TPTRIO 02730000 WRITE (IPR, 9160) XNAME,XNUM,XUNIT,XIO,XDSNAM,TPTRIO 02740000 ELSE 02750000 WRITE (JPR, 9180) XNAME,XNUM,XUNIT,XIO,XDSNAM 02760000 WRITE (IPR, 9180) XNAME,XNUM,XUNIT,XIO,XDSNAM 02770000 END IF 02780000 C 02790000 CALL FOWTDS (PRECRD, 2, STATUS) 02800000 IF (STATUS .EQ. 2) GO TO 1000 02810000 IF (STATUS .NE. 1) GO TO 700 02820000 C 02830000 900 CONTINUE 02840000 IF (NLOOP .EQ. 500) THEN 02850000 NLOOP = 0 02860000 WRITE (IPR, 9190) XNAME,XNUM,XUNIT,XIO,XDSNAM 02870000 CALL FOWTDS (PRECRD, 2, STATUS) 02880000 IF (STATUS .EQ. 2) GO TO 1000 02890000 IF (STATUS .NE. 1) GO TO 700 02900000 ENDIF 02910000 IF (STATUS .EQ. 1) GO TO 200 02920000 C 02930000 GO TO 1000 02940000 C 02950000 700 CONTINUE 02960000 WRITE (JPR, 9170) 02970000 WRITE (IPR, 9170) 02980000 C 02990000 1000 CONTINUE 03000000 C 03010000 C PRINT THE JOB TIME AND COST 03020000 C 03030000 WRITE (JPR, 9110) TIME 03040000 WRITE (IPR, 9110) TIME 03050000 IBMTIM = NINT((CTIME*2.5 + 5999.)/6000.) 03060000 IF (SYBYPW.EQ.8) THEN 03070000 WRITE(JPR, 9115) IBMTIM 03080000 WRITE(IPR, 9115) IBMTIM 03090000 ENDIF 03100000 C 03110000 MINUTE = FLOAT(CTIME) / 6000.0 03120000 HOUR = MINUTE / 60. 03130000 C COST = $508/HOUR ON IBM AND $800/HOUR ON CRAY 03140000 C OVERHEAD = 1.8*COST FOR LAND AND OTHER; 1.2*COST FOR MARINE 03150000 RATE = 508. 03160000 IF (SYBYPW .EQ. 8) RATE = 800. 03170000 IF (S1CPCH(ACTYPE,1,'MP',1,2) .EQ. 0) THEN 03180000 RATE = RATE*1.2 03190000 ELSE 03200000 RATE = RATE*1.8 03210000 ENDIF 03220000 C 03230000 COST = RATE * HOUR 03240000 C WRITE (JPR, 9140) COST 03250000 C WRITE (IPR, 9140) COST 03260000 C 03270000 IF (MCRTF.LT.-1) WRITE (JPR, 9060) MCRTF 03280000 IF (MCRTF.LT.-1) WRITE (IPR, 9060) MCRTF 03290000 CALL CSPMAP (IPR, JPR) 03300000 C 03310000 C 03320000 C 03330000 RETURN 03340000 C 03350000 9000 FORMAT ('0',1X, A17,2X,A32,2X,A2,1X,I4,T65, A17) 03360003 C 03370000 9010 FORMAT ('-',1X,'FIRST ',A12,I5, 03380000 * T30,'TRACES/SHOTPOINT ',I5, 03390000 * T59,'PROJECT ',7X,I5) 03400000 C 03410000 9020 FORMAT (2X,'LAST ',A12,I5, 03420000 * T30,'TRACE LENGTH, MS. ',I5, 03430000 * T59,'DISTRICT',7X,I5) 03440000 C 03450000 9030 FORMAT (2X,'NO. OF SHOTPOINTS ',I5, 03460000 * T30,'PROCESS SAMP. INT. ',I5, 03470000 * T59,'CHARGE ',7X,I5) 03480000 C 03490000 9035 FORMAT (T30,'GROUP INTERVAL ',F8.2, 03500000 * T59,'MAX. CDP FOLD ',I5) 03510000 C 03520000 9060 FORMAT ('-*** ABNORMAL CONDITION MCRTF = ',I5,' ***') 03530000 C 03540000 9110 FORMAT ('- TOTAL PROCESSING TIME (HR:MI:SC) ',A8) 03550000 C 03560000 9115 FORMAT ('- IBM EQUIVALENT ( MINUTES) ',I8) 03570000 C 03580000 C9120 FORMAT ('- *** ERROR *** CSSMRY DID NOT FIND READ DATA CARDS'//)03590000 C 03600000 9130 FORMAT ('1',80('=')/1X, A20, ' |',29X,'| DATE ',A8, 03610000 * ' TIME ',A8/1X,'EXEC',I1,' PROC',11X,'|',5X, 03620000 * 'PROCESSING SUMMARY',6X,'| JOB ',A8,'(',A8,')',/, 03630000 * 1X,80('=')) 03640000 C 03650000 9140 FORMAT (/6X,'TOTAL COST: $',F9.2) 03660000 C 03670000 9150 FORMAT (////,2X,'DYNAMICALLY ALLOCATED DATA SETS',/,2X,31('-'), 03680000 * //,2X,'PROG',3X,'UNIT',3X,'I/O MODE',3X,'DATA SET NAME', 03690000 * 21X,'NUMBER OF TRACES', 03700000 * /,2X,4('-'),3X,4('-'),3X,8('-'),3X,13('-'),21X,16('-')) 03710000 C 03720000 9160 FORMAT (/,2X,A4,I1,2X,A4,3X,A8,3X,A34,3X,I10) 03730000 C 03740000 9165 FORMAT (/,2X,A4,I1,2X,A4,3X,A8,3X,A34,3X,'TOTAL ABOVE') 03750000 C 03760000 9170 FORMAT (/,6X,'ERROR READING TEMPORARY DATA SET') 03770000 C 03780000 9180 FORMAT (/,2X,A4,I1,2X,A4,3X,A8,3X,A34,10X,'N/A') 03790000 C 03800000 9190 FORMAT (/,' NO MATCH FOUND FOR THIS DATASET (CSSMRY)', 03810000 * /,9X,A4,I1,2X,A4,3X,A8,3X,A34, 03820000 * /,' NOTIFY PROGRAMMING SUPPORT OF THIS ERROR',/) 03830000 C 03840000 END 03850000