CTITLEJSVCFK - JOBGEN REGION & BLANK COMMMON FOR PROCESSES VCFK C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR JAMES SUN CA DESIGNER JAMES SUN CA LANGUAGE VS FORTRAN CA WRITTEN 01-08-87 C REVISED 02-29-88 WRF TO PROPERLY ALLOCATE CORE SIZE FOR C EXPANDED VELOCITY ARRAYS AS WELL AS C SPACE USED BY THE DRIVER SDVCFK C REVISED 06-15-88 FAC CHANGED LCGRPI FROM INTEGER TO REAL C REVISED 08-30-88 JJC ADDED TO GET LINE CARD PARAMETERS. C REVISED 01-30-90 PJF ADDED MORE SPACE FOR INTERPOLATOR. C REVISED 05-24-90 JJC DELETED LINCOM COMMON AREA. C C REVISED 07-18-90 CLJ R&TS UPGRADE RELEASE CA CA CA CALL JSVCFK (KPNA, KPRNO, OCCUR, PSIZE, CSIZE, UCSIZE, ERCODE) CA CA INPUT KPNA = PROCESS NAME A4 CA INPUT KPRNO = PROCESS NUMBER I4 CA INPUT OCCUR = OCCURRENCE NUMBER FOR PROCESS KPNA WITH I4 CA KPRNO CA OUTPUT PSIZE = REGION SIZE OF PROGRAM IN -KBYTES I4 CA OUTPUT CSIZE = RESERVED BLANK COMMON SIZE IN WORDS I4 CA OUTPUT UCSIZE = UNRESERVED BLANK COMMON SIZE IN WORDS I4 CA OUTPUT ERCODE = ERROR CODE (=16 IF NOT ABLE TO COMPUTE I4 CA THE REQUIRED PARAMETERS) CA CA CA COMPUTES THE PROGRAM SIZE (PSIZE) AND AMOUNT OF BLANK COMMON CA (CSIZE) NEEDED BY SPARC DEVELOPMENT PROCESS VCFK REQUIRING CA SPECIAL CALCULATIONS. CA JSVCFK IS AN EXTENSION OF SUBROUTINE JSRND. C C C C EJECT C SUBROUTINE JSVCFK (KPNA, KPRNO, OCCUR, PSIZE, CSIZE, UCSIZE, * ERCODE) C IMPLICIT INTEGER (A-Z) C C C SET UP PARAMETER STATEMENT FOR THE LOCAL STORAGE ALLOWED AND C THE MAXIMUM NUMBER OF 'VEL' CARDS ALLOWED IN THE PROCESS C PARAMETER (LLOCAL = 250 , MAXVEL = 600) C C CHARACTER*4 KPNA CHARACTER*80 CARD C REAL LCGRPI C C DATA FCF / 1 / DATA IPR / 98 / DATA THL / 190 / C 01730000 C GET LINE CARD PARAMETERS 01740000 C 01750000 DA = 1 01760000 CALL FORC ('LINE', 0, DA, CARD, * 9200 )01770000 C 01780000 LCTPSP = S1CVBN (CARD, 36, 5) 01790000 LCMXFD = S1CVBN (CARD, 61, 5) 01800000 IF (LCMXFD .EQ. 0) LCMXFD = LCTPSP 01810000 CALL S1MVCH ('LS', 1, PMODE, 1, 2) 01820000 IF (S1CPCH (CARD, 6, ' ', 1, 1) .NE. 0) 01830000 * CALL S1MVCH (CARD, 6, PMODE, 1, 1) 01840000 IF (S1CPCH (CARD, 7, ' ', 1, 1) .NE. 0) 01850000 * CALL S1MVCH (CARD, 7, PMODE, 2, 1) 01860000 C 01870000 LCBGSP = S1CVBN (CARD, 11, 5) 01880000 LCENSP = S1CVBN (CARD, 16, 5) 01890000 LCNSP = S1CVBN (CARD, 31, 5) 01900000 LCRLEN = S1CVBN (CARD, 41, 5) 01910000 LCSI = S1CVBN (CARD, 46, 5) 01920000 LCPI = S1CVBN (CARD, 51, 5) 01930000 C 01940000 IF (LCPI .EQ. 0) LCPI = LCSI 01950000 C 01970000 CALL USCHFT (CARD, 56, 5, LCGRPI) 01990000 02000000 NOSAMP = LCRLEN / LCPI 02010000 NS = NOSAMP LCANSP = S1CVBN (CARD, 66, 5) 02020000 LCMXLN = S1CVBN (CARD, 71, 5) 02030000 IF (LCMXLN .EQ. 0) LCMXLN = 1 02040000 C C SET PROGRAM CODE SIZE TO 100 KILOBYTES C PSIZE = 100 C C INITIALIZE START OF RESERVED COMMON SIZE C IC = 1 C C ALLOCATE STORAGE FOR REEL INFORMATION USED BY SHELL DRIVER C WHETHER OUTPUT PROCESS OR NOT C ICC = IC + 513 C C ALLOCATE STORAGE USED FOR THE LOCAL STORAGE AREA C ICC = ICC + LLOCAL C C ALLOCATE STORAGE FOR INPUT HEADER AND TRACE C ICC = ICC + THL + NS C C ALLOCATE STORAGE USED BY THE DRIVER FOR THE TWO VELOCITY ARRAYS C ICC = ICC + 2 * NS + 2 C C ALLOCATE STORAGE REQUIRED TO STORE THE RANGE INFORMATION FROM THE C 'VEL' DATA CARDS UP TO MAXVEL VELOCITIES C ICC = ICC + 2 * MAXVEL C C ALLOCATE STORAGE REQUIRED FOR THE 'VELF' IDENTIFIERS TO GO WITH C THE 'VEL' DATA CARDS UP TO MAXVEL IDENTIFIERS C ICC = ICC + MAXVEL C C ALLOCATE STORAGE REQUIRED BY THE ZERO ENTRY OF THE PROCESS C CPJF ADDED NS MORE STORAGE SPACE FOR DELTA ARRAY CPJF NOTE THAT THE VALUE 7 USED HERE IS FOR A CPJF 4-POINT (CUBIC) INTERPOLATOR AND MUST BE CPJF CHANGED IF A DIFFERENT INTERPOLATOR IS USED C ICC = ICC + THL + 7*NS C C ADD A FACTOR OF FIVE WORDS SO AS TO MAKE SURE THE ROUND UP C OF THE SHELL DRIVER TO NEXT COMPLEX DOUBLE WORD BOUNDARY HAS C ENOUGH SPACE C IF(ICC.EQ.0) GO TO 9100 C C CSIZE = ICC + 5 C C C C C PART 3. COMPUTE UNRESERVED BLANK COMMON SIZE IN WORDS (UCSIZE) C C THIS VALUE IS THE TOTAL NUMBER OF WORDS USED IN UNRESERVED BLANK C COMMON I.E. SCRATCH AREA OR 'SA' FOR SPARC 'SHELLS'. C UCSIZE = 0 C C C C C WRITE(IPR,9000) PSIZE,CSIZE,UCSIZE 9000 FORMAT(/5X,'JSVCFK COMPLETED PSIZE = ',I5,' CSIZE = ',I10, + ' UCSIZE = ',I5) GO TO 9500 C C C 9100 ERCODE = 16 WRITE(IPR,9900) GO TO 9500 C 9200 WRITE( IPR, 9910 ) ERCODE = 16 C 9500 RETURN C C ERROR MESSAGES C 9900 FORMAT (/' *** FROM JSVCFK ERROR IN CORE CALCULATION') C 9910 FORMAT(2(/1X,130('*'))/' *****',120X,'*****'/ * ' *****',45X,'FATAL ERROR: MISSING LINE CARD',45X, * '*****'/' *****',120X,'*****',2(/1X,130('*'))) C C END