CTITLEJSAVOP - JOBGEN REGION & BLANK COMMMON ALGORITHM FOR AVOP 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR C.A. DAMLE 00020000 CA DESIGNER C.A. DAMLE 00030000 CA SYSTEM IBM 3090 00040000 CA LANGUAGE VS FORTRAN 00050000 CA WRITTEN 12-08-88 00060000 C REVISED 04-26-89 JJC - CHANGED TO READ CARD CORRECTLY. 00070000 C REVISED 08-25-89 JJC - INCREASED THE SPACE FOR IDIVNT. 00080000 C REVISED 09-10-89 JJC - CHANGED PROCESS NAME TO AVOP. 00090000 C REVISED 11-06-90 ESN - DEFINED AMX AS REAL. 00100000 CA 00110000 CA CALL JSAVOP (KPNA, KPRNO, OCCUR, PSIZE, CSIZE, UCSIZE, 00120000 CA ERCODE) 00130000 CA 00140000 CA INPUT KPNA = PROCESS NAME A4 00150000 CA INPUT KPRNO = PROCESS NUMBER I4 00160000 CA INPUT OCCUR = OCCURRENCE NUMBER FOR PROCESS KPNA WITH I4 00170000 CA KPRNO 00180000 CA OUTPUT PSIZE = REGION SIZE OF PROGRAM IN K-BYTES I4 00190000 CA OUTPUT CSIZE = RESERVED BLANK COMMON SIZE IN WORDS I4 00200000 CA OUTPUT UCSIZE = UNRESERVED BLANK COMMON SIZE IN WORDS I4 00210000 CA OUTPUT ERCODE = ERROR CODE (=16 IF NOT ABLE TO COMPUTE I4 00220000 CA THE REQUIRED PARAMETERS) 00230000 CA 00240000 CA 00250000 CA COMPUTES THE PROGRAM SIZE (PSIZE) AND AMOUNT OF BLANK COMMON 00260000 CA (CSIZE) NEEDED BY SPARC DEVELOPMENT PROCESS AVOP REQUIRING 00270000 CA SPECIAL CALCULATIONS. 00280000 C 00290000 C EJECT 00300000 C 00310000 SUBROUTINE JSAVOP (KPNA, KPRNO, OCCUR, PSIZE, CSIZE, UCSIZE, 00320000 + ERCODE) 00330000 C 00340000 IMPLICIT INTEGER (A-Z) 00350000 C 00360000 C 00370000 CHARACTER*4 KPNA 00380000 CHARACTER*80 DATA 00390000 CHARACTER*5 IPT 00400000 CHARACTER*5 NMOCI 00410000 CHARACTER*5 NRMS 00420000 CHARACTER*5 TRCSN 00430000 CHARACTER*5 DBS 00440000 CHARACTER*4 PLCODE 00450000 CHARACTER*70 PLOTID 00460000 C 00470000 C INTEGER CONSTANTS -- LOCAL 00480000 C 00490000 INTEGER THL 00500000 C 00510000 C 00520000 C REAL VARIABLES -- LOCAL 00530000 C 00540000 REAL AMX 00550000 REAL FSR 00560000 C 00570000 DATA IPR / 98 / 00580000 DATA THL / 190 / 00590000 C 00600000 C 00610000 C ==================================================== 00620000 C BEGIN COMPUTATION OF REGION AND COMMON SIZE FOR AVOP 00630000 C (INSERT REGION SIZE & BLANK COMMON SIZE CALCULATIONS HERE) 00640000 C =========================================== 00650000 C 00660000 C 00670000 C 00680000 C PART 1. SET PROGRAM SIZE IN K-BYTES (PSIZE) 00690000 C 00700000 C 00710000 PSIZE = 30 00720000 C 00730000 C 00740000 C PART 2. COMPUTE RESERVED BLANK COMMON SIZE IN WORDS (ICC) 00750000 C 00760000 C 00770000 ICC = 0 00780000 C 00790000 C GET LINE CARD PARAMETERS 00800000 C 00810000 LA = 1 00820000 CALL FORC ('LINE', 0, LA, CARD, * 9200 )00830000 C 00840000 LCRLEN = S1CVBN (CARD, 41, 5) 00850000 LCSI = S1CVBN (CARD, 46, 5) 00860000 LCPI = S1CVBN (CARD, 51, 5) 00870000 IF (LCPI .EQ. 0) LCPI = LCSI 00880000 NOSAMP = LCRLEN / LCPI 00890000 LCNSP = S1CVBN (CARD, 31, 5) 00900000 C 00910000 IF (LCSI .EQ. 0) LCSI = LCPI 00920000 FSR = FLOAT(LCSI)*1.E-6 00930000 C 00940000 C READ INPUT CARDS 00950000 C 00960000 LA = 1 00970000 100 CALL FORC(KPNA,KPRNO,LA,DATA,*9110) 00980000 IF (S1CPCH(DATA,8,' ',1,3) .NE. 0) GO TO 100 00990000 READ(DATA,9030) IXBEG,IXEND,IPT 01000000 9030 FORMAT(10X,2I5,55X,A5) 01010000 C 01020000 LA = 1 01030000 200 CALL FORC(KPNA,KPRNO,LA,DATA,*9110) 01040000 IF (S1CPCH(DATA,8,'ANA',1,3) .NE. 0) GO TO 200 01050000 READ(DATA,9040) NX,NTS,IWIN,NSIN,IPOLY,NMOCI,NRMS,NWNT,AMX 01060000 9040 FORMAT(20X,I5,5X,4I5,2A5,I5,G10.0) 01070000 C 01080000 IF ( IPT .NE. 'ONCOL' .AND. IPT .NE. ' META' ) IPT='NOPLT' 01090000 IF ( IPT .EQ. 'ONCOL' ) PLCODE = 'VERC' 01100000 IF ( IPT .EQ. ' META' ) PLCODE = 'META' 01110000 IF ( NMOCI .EQ. ' ') NMOCI = ' NMOC' 01120000 IF ( NWNT .LE. 0 ) NWNT = 1 01130000 IF ( IXEND .LE. 0 ) IXEND = IXBEG 01140000 IF ( NSIN .LE. 0 ) NSIN = 2 01150000 IF ( IWIN .LE. 0 ) IWIN = 40 01160000 IF ( NTS .LE. 0 ) NTS = 1 01170000 NWN = NWNT 01180000 NX2 = NX/2 01190000 IF ( NWNT .LE. 0 ) NWN = 1 01200000 NS = LCNSP/LCSI 01210000 NS3 = FLOAT(IWIN)/1000./FSR+1 01220000 WTS = 0.0 01230000 MH = 0 01240000 KCDP = IXEND - IXBEG +1 01250000 NTS = MAX0(KCDP, NTS) 01260000 C 01270000 C SET UP INDICES FOR STORAGE IN RA 01280000 C 01290000 IC = 1 01300000 C 01310000 NDX = IC + NS*4 01320000 C RESERVE SPACE FOR INCIDENCE ANGLES 01330000 JP = NDX + NX 01340000 C RESERVE SPACE FOR CDP TRACE NO. 01350000 JTN0 = JP + NX * NWN 01360000 NV = JTN0 + NX * NWN * 2 01370000 NZ = NV + NS 01380000 NMX = NZ + NS 01390000 IDT = NMX + NX * 10 01400000 IDTSQ = IDT + KCDP * NWN 01410000 IDIVNT = IDTSQ + NX * NWN 01420000 IDZ = IDIVNT + NTS * NWN 01430000 IDICDP = IDZ + NS 01440000 IDXCDP = IDICDP + NTS 01450000 IDTVNT = IDXCDP + NTS * NWN 01460000 IDIHIN = IDTVNT + NTS * NWN 01470000 PLTLST = IDIHIN + NWN 01480000 ICC = PLTLST + 4 01490000 C 01500000 C ALLOCATE RA AREA THAT IS USED IN SDAVOP 01510000 C 01520000 ICC = ICC + 513 01530000 ICC = ICC + THL + NOSAMP 01540000 ICC = ICC + NOSAMP + 1 01550000 ICC = ICC + 4 01560000 ICC = ICC + NOSAMP + 1 01570000 ICC = ICC + NOSAMP + 1 01580000 ICC = ICC + 96 01590000 ICC = ICC + 48 01600000 C 01610000 C SET RESERVED COMMON IN WORDS 01620000 C 01630000 CSIZE = ICC 01640000 C 01650000 C COMPUTE UNRESERVED BLANK COMMON SIZE IN WORDS 01660000 C 01670000 NX4 = 3 * NX 01680000 NX5 = NX4 + NX 01690000 NXPLT = NX5 + NX 01700000 C ALLOW 16384 HALF WORDS FOR ROUTINE SACENDP 01710000 MAXSA = NXPLT + 16384/2 01720000 C 01730000 C ALLOWING FOR 15 PERCENT SLOP 01740000 C 01750000 UCSIZE = FLOAT(MAXSA) * 1.15 01760000 C 01770000 C 01780000 C********************************************************************** 01790000 C 01800000 ERCODE = 0 01810000 C 01820000 C 01830000 C WRITE(IPR,9000) PSIZE,CSIZE,UCSIZE 01840000 9000 FORMAT(/5X,'JSAVOP COMPLETED PSIZE = ',I5,' CSIZE = ',I10, 01850000 + ' UCSIZE = ',I10) 01860000 GO TO 9500 01870000 C 01880000 9110 ERCODE = 16 01890000 WRITE(IPR,9900) KPNA,KPRNO 01900000 GO TO 9500 01910000 C 01920000 9200 ERCODE = 16 01930000 WRITE(IPR,9920) KPNA,KPRNO 01940000 GO TO 9500 01950000 C 01960000 9500 RETURN 01970000 C 01980000 C ERROR MESSAGES 01990000 C 02000000 9900 FORMAT (/' *** FROM JSAVOP ERROR IN CORE CALCULATION') 02010000 C 02020000 9910 FORMAT (/' *** ERROR IN JSAVOP NO CARDS FOUND FOR ',A4,I1) 02030000 9920 FORMAT (/' *** ERROR IN JSAVOP NO LINE CARD FOUND FOR ',A4,I1) 02040000 C 02050000 C 02060000 END 02070000