CTITLECSSJOBID - DETERMINE SPARC JOB CLASS FOR CRAY 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR BOB KELLY 00020000 CA DESIGNER BOB KELLY 00030000 CA LANGUAGE FORTRAN (PREVIOUSLY ASSEMBLER BEFORE 3/89) 00040000 CA SYSTEM IBM 00050000 CA WRITTEN 5-03-85 00060000 CA REVISED 05-30-85 RGW. CHANGE TO ALLOW CRAYCL00 FILE TO CONTAIN 00070000 CA RECORDS WITHOUT CRAY AND IBM CLASSES. (THE 00080000 CA JCRQ PARAMETER) 00090000 CA REVISED 06-22-87 REM. MOVE JOBNAME/NUM FROM PARM CARD TO NEW 00100000 CA JOBC CARD. 00110000 CA REVISED 01-13-87 REP. CHANGED TO CALL JCLASS TO GET CRAY JOB 00120000 CA CLASS INSTEAD OF READING 'CRAYCL00' FILE. 00130000 CA REVISED 03-31-89 RDK. CHANGED TO ACCOMMODATE THE NEW CRAY 00140000 CA CLASSES EFFECTIVE 4/2/89. CONVERTED TO 00150000 CA FORTRAN 77. 00160000 CA REVISED 04-15-90 RDK. INSTALL NEW CLASSES FOR YMP. 00170000 CA REVISED 06-22-90 RDK. INSERT batprq1 FOR UNICOS HOTSP CLASS. 00180000 CA REVISED 10-29-90 ESN. TWEAK THE LOGIC FOR HOTSP. 00190004 CA 00200000 CA 00210000 CA THIS PROGRAM WAS DESIGNED TO BE USED TO DETERMINE THE 00220000 CA APPROPRIATE CRAY SPARC JOB CLASS FROM THE CLASS OF THE IBM 00230000 CA JOB WHICH INITIATES IT. ITS FUNCTION IS TWOFOLD: 00240000 CA 00250000 CA 1. INSERT THE JOBNAME AND JOBNUMBER OF THE CURRENTLY RUNNING 00260000 CA JOB (THE CRAY SHADOW) INTO THE 'JOBC' CARD OF THE SPARC 00270000 CA DECK GOING TO THE CRAY. THE CRAY JOB WILL USE THAT INFORMA- 00280000 CA TION IS TERMINATING THE SHADOW JOB. 00290000 CA 2. ALTER THE JOBCLASS OF THE CRAY JOB BEING SUBMITTED TO 00300000 CA CORRESPOND TO THE CLASS THE JOB IS CURRENTLY RUNNING IN. 00310000 CA THIS INFORMATION IS WAS OBTAINED FROM THE ROUTINE JCLASS 00320000 CA IN PRIOR VERSIONS OF THIS PROGRAM. UNDER THE NEW CRAY 00330000 CA JOB CLASS STRUCTURE EFFECTIVE 4/2/89, JCLASS NO LONGER 00340000 CA CONTAINS SUFFICIENT INFORMATION FOR DETERMINING THE CRAY 00350000 CA CLASS FOR NOTAPE JOBS, AND SO THIS DETERMINATION IS NOW 00360000 CA DONE HERE BY READING THE CRAY JOBCARD FROM FT08. 00370000 CA 00380000 CA NOTE: THIS PROGRAM DOES NOT RECONCILE THE SPTAPE PARA- 00390000 CA METER ON THE CRAY JOB CARD WITH THE CURRENT IBM CLASS 00400000 CA (NEITHER DID ANY PREVIOUS VERSION). 00410000 C 00420000 PROGRAM CSSJOBID 00430000 C 00440000 IMPLICIT INTEGER (A-Z) 00450000 C 00460000 C INPUT PARAMETER DEFINITIONS 00470000 C 00480000 CHARACTER*80 CARD 00490000 CHARACTER*7 CCLASS 00500000 CHARACTER*5 CTIME 00510000 INTEGER ERR 00520000 CHARACTER*1 IBMCLS 00530000 CHARACTER*1 ICLASS 00540000 CHARACTER*8 JNAME 00550000 CHARACTER*8 JOBID 00560000 C 00570000 C INTERNAL VARIABLE DEFINITIONS 00580000 C 00590000 CHARACTER*1 ISHADO(6) / '6', '7', '8', '9', '0', 'Z'/ 00600000 CHARACTER*7 CRAYCL(10) / 'batntq1', 00610000 * 'batntq2', 00620000 * 'batntq3', 00630000 * 'batntq4', 00640000 * 'batntq5', 00650000 * 'battpq1', 00660000 * 'battpq2', 00670000 * 'battpq3', 00680000 * 'battpq4', 00690000 * 'batprq1'/ 00700004 INTEGER CRAYTM(10) / 119, 599, 1799, 3599, 99999, 00710000 * 119, 599, 1799, 99999, 00720000 * 99999 / 00730000 CHARACTER*7 BATCH /'batch '/ 00740000 CHARACTER*7 BLANK /' '/ 00750000 CHARACTER*80 JOBC /'JOBC '/ 00760000 C 00770000 CALL JOBINF ( JNAME, JOBID, ICLASS ) 00780000 C 00790000 IBMCLS = ICLASS 00800000 CCLASS = BLANK 00810000 ERR = 0 00820000 TIME = 59 00830000 C 00840000 C IF (IBMCLS .EQ. ISHADO(1)) GO TO 100 00850002 IF (IBMCLS .EQ. ISHADO(2)) CCLASS = CRAYCL(06) 00860000 IF (IBMCLS .EQ. ISHADO(3)) CCLASS = CRAYCL(07) 00870000 IF (IBMCLS .EQ. ISHADO(4)) CCLASS = CRAYCL(08) 00880000 IF (IBMCLS .EQ. ISHADO(5)) CCLASS = CRAYCL(09) 00890000 IF (IBMCLS .EQ. ISHADO(6)) CCLASS = CRAYCL(10) 00900000 IF (CCLASS .NE. CRAYCL(10)) ERR = 1 00910000 C 00920000 100 CONTINUE 00930000 110 READ (8,9000,END=999) CARD 00940000 C 00950000 C IF IBM NOT RUNNING IN SHADOW CLASS, CLASS INTERVENTION MUST 00960000 C HAVE OCCURRED. KEEP ORIGINAL JOBGEN ASSIGNED CRAY CLASS. 00970000 C 00980000 IF (CARD(1:10) .EQ. '# QSUB -lt') GO TO 115 00990000 IF (CARD(1:10) .EQ. '# QSUB -q ') GO TO 120 01000000 IF (CARD(1: 4) .EQ. 'LINE' ) GO TO 300 01010000 114 WRITE (9,9000) CARD 01020000 GO TO 100 01030000 C 01040000 C FOR NON-TAPE JOBS, CRAY TIME IS NEEDED FOR CLASS ASSIGNMENT 01050000 C 01060000 115 NBYT = 5 01070000 CTIME(1:5) = CARD(14:18) 01080000 TIME = S1CVBN(CTIME,1,NBYT) 01090000 IF (TIME .LE. 0) TIME = 59 01100000 GO TO 114 01110000 C 01120000 C NOW ASSIGN THE CRAY CLASS 01130000 C 01140000 120 IF (ERR .NE. 0) GO TO 100 01150000 C IF (IBMCLS .NE. ISHADO(1)) GO TO 125 01160000 C CCLASS = CRAYCL(5) 01170000 C IF (TIME .LE. CRAYTM(4)) CCLASS = CRAYCL(4) 01180000 C IF (TIME .LE. CRAYTM(3)) CCLASS = CRAYCL(3) 01190000 C IF (TIME .LE. CRAYTM(2)) CCLASS = CRAYCL(2) 01200000 C IF (TIME .LE. CRAYTM(1)) CCLASS = CRAYCL(1) 01210000 C 125 CONTINUE 01220000 CARD(14:20) = CCLASS 01230000 GO TO 114 01240000 C 01250000 C BUILD JOBC CARD IN CRAY DECK 01260000 C 01270000 300 WRITE (9,9000) CARD 01280000 C 01290000 CARD(01:80) = JOBC(01:80) 01300000 CARD(61:68) = JNAME(01:8) 01310000 CARD(69:76) = JOBID(01:8) 01320000 GO TO 114 01330000 C 01340000 999 STOP 01350000 C 01360000 9000 FORMAT (A80) 01370000 C 01380000 END 01390000