CTITLEFJFT05 -- SUBROUTINE TO CREATE FT05 FOR USE BY FOIP 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR RALPH MCMILLAN 00020000 CA DESIGNER RALPH MCMILLAN 00030000 CA LANGUAGE VS FORTRAN 00040000 CA SYSTEM IBM AND CRAY 00050000 CA WRITTEN 09-30-87 (TAKEN OUT OF CPPREP) 00060000 C REVISED 11-04-87 REM. INCREASE DIMENSION OF PROCLI AND INDEX 00070000 C ARRAYS USING VARIABLE NAMES. 00080000 C REVISED 11-18-87 REM. MOVE JUST KEY TO CHAR*8 WORD BEFORE PASSING00090000 C TO FJJUST BECAUSE OF CRAY. 00100000 C REVISED 11-23-87 REM. CHANGE DLMTR FROM " " TO "@^" TO AVOID 00110000 C STOPPING ON A BLANK CARD. 00120000 C REVISED 12-01-87 REM. CHANGE CHECK FOR OCCURENCES TO 1 INSTEAD OF00130000 C 0. 00140000 C REVISED 12-21-87 REP. * FIX UP DEFAULTS IN THE LINE CARD 00150000 C * CHECK REQUIRED FIELDS IN LINE CARD 00160000 C * IF OUTPUT PROCESS CHECK PLOTTER CODE 00170000 C * SAVE GM3D CARDS IF SRVY IN PROC CARD 00180000 C REVISED 03-08-88 REP. REPLACE NON NUMBERIC/ALPHA CHARACTERS IN 00190000 C LINE NAME WITH "-". ("/" IS ACCEPTED) 00200000 C REVISED 04-04-88 REP. EXIT AS SOON AS BAD PLOTTER CODE IS FOUND. 00210000 C REVISED 06-30-88 ESN. SET DEBUG FLAG ON EACH REPETITION OF THE 00220000 C PROCESS INSTEAD OF JUST THE FIRST. 00230000 C REVISED 07-27-88 ESN. USE FOCDD TO CLOSE DIRECT FILE INSTEAD OF 00240000 C FOCSD. 00250000 C REVISED 03-07-90 Talian Change for open for unicos. 00260000 C REVISED 11-28-90 ESN. Comment out descending sort. 00270000 CA 00280000 CA CALL FJFT05 (PROCLC, PROCLI, MXPROC, NPROC, NCARDS, PROCCD, 00290000 CA NPROCC, INP, ITR, IPR, ERR) 00300000 CA 00310000 CA IN/OUT ARGUMENT TYPE DESCRIPTION 00320000 CA IN PROCLC CH4 PROCESSING LIST TABLE: CHARACTER VARIABLES00330000 CA IN PROCLI I4 PROCESSING LIST TABLE: INTEGER VARIABLES 00340000 CA IN MXPROC I4 MAXIMUM NUMBER OF PROCESSES ALLOWED 00350000 CA IN NPROC I4 TOTAL NUMBER OF ENTRIES PLACED IN THE 00360000 CA PROCESSING LIST TABLE 00370000 CA IN NCARDS I4 TOTAL NUMBER OF CARDS IN INPUT STREAM 00380000 CA IN PROCCD CH80 ARRAY CONTAINING PROC CARDS (MAX OF 10) 00390000 CA IN NPROCC I4 NUMBER OF PROC CARDS IN ARRAY PROCCD 00400000 CA IN INP I4 FORTRAN UNIT NUMBER FOR DATA CARDS 00410000 CA IN ITR I4 FORTRAN UNIT NUMBER TO PRINT MESSAGES. IF 00420000 CA 0 THEN NO MESSAGES WILL BE PRINTED 00430000 CA IN IPR I4 NORMAL FORTRAN PRINT UNIT FOR ERROR 00440000 CA MESSAGES 00450000 CA OUT ERR I4 0 = OK 00460000 CA 10 = LINE CARD REQUIRED FIELDS ERROR. 00470000 CA 11 = INVALID PLOTTER CODE FOUND. 00480000 CA 00490000 CA 00500000 CA THIS SUBROUTINE READS THE INPUT DATA CARDS ON UNIT "INP", 00510000 CA JUSTIFIES THEM, SORTS THEM, AND THEN WRITES THEM TO UNIT FT05 00520000 CA FOR INPUT TO FOIP. FT05 MUST BE ALLOCATED PRIOR TO CALLING THIS 00530000 CA ROUTINE. A TEMPORARY WORK FILE IS ALLOCATED AND UNALLOCATED. 00540000 CA A GETMAIN IS ISSUED TO PERFORM THE SORT. IT IS RELEASED BEFORE 00550000 CA RETURNING. 00560000 CA 00570000 CA ITR IS NORMALLY USED TO PRINT INFORMATIONAL MESSAGES TO A USER'S 00580000 CA TSO SCREEN DURING FOREGROUND EXECUTION. 00590000 CA 00600000 CA SEE PROGRAM ISPARC FOR FULL DESCRIPTION OF ARRAYS PROCLC AND 00610000 CA PROCLI. PROGRAM FJSETP CONTAINS THE DESCRIPTIONS OF PTABC AND 00620000 CA PTABI. 00630000 C 00640000 C 00650000 C LOCAL OR INTERNAL VARIABLES AND CONSTANTS. 00660000 C 00670000 C ACCT = 'ACCT' = CODE USED TO IDENTIFY ACCOUNT CARD. 00680000 C BLANKS = ' ' = CODE FOR TESTING FOR BLANKS. 00690000 C CARD = 80 BYTE AREA TO HOLD A DATA CARD. 00700000 C DA = INPUT/OUTPUT INDEX TO CARD FILE. 00710000 C FREESV = INDEX FROM COM TO GETMAINED COMMON AREA FOR USE IN FREMN200720000 C LCOM = NUMBER OF WORDS OBTAINED FOR BLANK COMMON BY GETMN2. 00730000 C LINE = 'LINE' = CODE USED TO IDENTIFY LINE CARD. 00740000 C 00750000 C EJECT 00760000 SUBROUTINE FJFT05 (PROCLC, PROCLI, MXPROC, NPROC, NCARDS, PROCCD, 00770000 * NPROCC, INP, ITR, IPR, ERR) 00780000 C 00790000 IMPLICIT INTEGER (A-Z) 00800000 C 00810000 PARAMETER (MXULIB=8) 00820000 PARAMETER (IXNA=1, IXRNO=1, IXOCUR=2, IXBUGF=3, IXPTAB=4, 00830000 * IXNCDS=6, IXDA=7) 00840000 C 00850000 C COMMON AREA DECLARATIONS 00860000 C 00870000 COMMON /MPTABI/ NPTAB, PTABI(14, 250) 00880000 COMMON /MPTABC/ PTABC(5, 250) 00890000 C 00900000 COMMON /SYSTEM/ SYSTEM, SYBYPW, SYLOCF, JAPNMS 00910000 C 00920000 C 00930000 CHARACTER*4 PTABC 00940000 INTEGER PTABI 00950000 C 00960000 C 00970000 COMMON COM (1) 00980000 C 00990000 C INPUT ARRAYS 01000000 C 01010000 CHARACTER*80 PROCCD (10) 01020000 CHARACTER*4 PROCLC (6, MXPROC) 01030000 INTEGER PROCLI (15, MXPROC) 01040000 C 01050000 C CHARACTER VARIABLES 01060000 C 01070000 CHARACTER*4 ACCT 01080000 CHARACTER*80 CARD 01090000 CHARACTER*8 CJKEY 01100000 CHARACTER*4 COMM 01110000 CHARACTER*4 DLM 01120000 CHARACTER*7 DLMCRD 01130000 CHARACTER*2 DLMTR 01140000 CHARACTER*6 fort5 01141001 CHARACTER*4 HEAD 01150000 CHARACTER*4 INFO 01160000 CHARACTER*1 JCL 01170000 CHARACTER*4 JOBC 01180000 CHARACTER*4 LINE 01190000 CHARACTER*80 LINECD 01200000 CHARACTER*4 PARM 01210000 CHARACTER*4 PROC 01220000 CHARACTER*4 ULIB 01230000 C 01240000 C INTEGER ARRAYS 01250000 C 01260000 INTEGER SRTREC (81) 01270000 C 01280000 C DATA INITIALIZATION 01290000 C 01300000 DATA ACCT /'ACCT'/ 01310000 DATA COMM / 'COMM'/ 01320000 DATA DLM /'DLM='/ 01330000 DATA DLMCRD /'//SEIS.'/ 01340000 DATA DLMTR /'@^'/ 01350000 DATA fort5 /'fort.5'/ 01351001 DATA FREESV / 0 / 01360000 DATA HEAD / 'HEAD'/ 01370000 DATA INFO /'INFO'/ 01380000 DATA JCL /'/'/ 01390000 DATA JOBC /'JOBC'/ 01400000 DATA LINE /'LINE'/ 01410000 DATA PARM /'PARM'/ 01420000 DATA PROC /'PROC'/ 01430000 DATA ULIB /'ULIB'/ 01440000 C 01450000 IF(SYBYPW .EQ. 8) Open (5,file=fort5,status='NEW') 01460001 c 01470000 IF (1 .EQ. 2) THEN 01480000 CALL FOSCDK 01490000 END IF 01500000 C 01510000 C***********************************************************************01520000 C NOW RE-READ THE DATA CARDS, JUSTIFY THE NECESSARY CARDS AND 01530000 C WRITE THEM TO THE WORK FILE. 01540000 C ALL CARDS FOR PROCESSES NOT ON PROC CARD, ARE DISCARDED. 01550000 C***********************************************************************01560000 C 01570000 IF (ITR .NE. 0) WRITE (ITR, 9030) 01580000 REWIND INP 01590000 CALL UGAWRK (NCARDS, 88, DCBS, DCBD, ERR, ERRIN) 01600000 C 01610000 IF (ERR .NE. 1) THEN 01620000 IF (ITR .EQ. 0) THEN 01630000 WRITE (IPR, 9010) ERR, ERRIN 01640000 ELSE 01650000 WRITE (ITR, 9010) ERR, ERRIN 01660000 END IF 01670000 GO TO 8000 01680000 END IF 01690000 C 01700000 NULIB = 0 01710000 DA = 1 01720000 CALL FOISSD (DCBS, 88, 2) 01730000 C 01740000 C CHECK FOR SRVY & GM3D PROCESSES PRESENT 01750000 C 01760000 SRVY = 0 01770000 GM3D = 0 01780000 DO 5 I = 1, NPROC 01790000 IF (PROCLC(IXNA,I) .EQ. 'SRVY') SRVY = 1 01800000 IF (PROCLC(IXNA,I) .EQ. 'GM3D') GM3D = 1 01810000 5 CONTINUE 01820000 C 01830000 C 01840000 C 01850000 10 READ (INP, 9000, END=40) CARD 01860000 IF (CARD(:1) .NE. JCL) GO TO 18 01870000 IF (CARD(1:7) .NE. DLMCRD) GO TO 10 01880000 C 01890000 C IDENTIFY THE DELIMITER ON THIS CARD 01900000 C 01910000 DO 12 I = 6, 75 01920000 IF (CARD(I:I+3) .EQ. DLM) GO TO 14 01930000 C 01940000 12 CONTINUE 01950000 C 01960000 GO TO 10 01970000 C 01980000 14 DLMTR = CARD(I+4:I+5) 01990000 GO TO 10 02000000 C 02010000 C LOOK FOR A DELIMITER CARD 02020000 C 02030000 18 IF (CARD(1:2) .EQ. DLMTR) GO TO 40 02040000 C 02050000 C JUSTIFY THE ACCT CARD 02060000 C CHECK FOR NON NUMERIC/ALPHA IN LINE NAME (REPLACE WITH DASHES) 02070000 C WRITE IT TO FT05F001 02080000 C 02090000 IF (CARD(1:4) .EQ. ACCT) THEN 02100000 CALL FJJUST (CARD, '96') 02110000 C 02120000 DO 20 L = 38, 21, -1 02130000 IF (CARD(L:L) .NE. ' ') GO TO 21 02140000 20 CONTINUE 02150000 C 02160000 21 DO 22 I = 21, L 02170000 IF (CARD(I:I).EQ.'-' .OR. CARD(I:I).EQ.'/') GO TO 22 02180000 IF ((CARD(I:I).GE.'0' .AND. CARD(I:I).LE.'9') .OR. 02190000 * (CARD(I:I).GE.'A' .AND. CARD(I:I).LE.'Z')) GO TO 22 02200000 CARD(I:I) = '-' 02210000 22 CONTINUE 02220000 C 02230000 23 WRITE (5, 9000) CARD 02240000 GO TO 10 02250000 END IF 02260000 C 02270000 C JUSTIFY THE LINE CARD, FILL IN DEFAULTS AND WRITE IT TO FT05F001 02280000 C 02290000 IF (CARD(1:4) .EQ. LINE) THEN 02300000 LINECD = CARD 02310000 CALL FJJUST (LINECD, '97') 02320000 IF (LINECD(6:6) .EQ. ' ') LINECD(6:6) = 'L' 02330000 IF (LINECD(7:7) .EQ. ' ') LINECD(7:7) = 'S' 02340000 IF (LINECD(51:55) .EQ. ' ') LINECD(51:55) = LINECD(46:50) 02350000 IF (LINECD(61:65) .EQ. ' ') LINECD(61:65) = LINECD(36:40) 02360000 IF (LINECD(66:70) .EQ. ' ') LINECD(66:70) = LINECD(31:35) 02370000 ERR = 0 02380000 IF (LINECD(11:15) .EQ. ' ') THEN 02390000 ERR = 10 02400000 IF (ITR .EQ. 0) THEN 02410000 WRITE (IPR, 9100) 11,15 02420000 ELSE 02430000 WRITE (ITR, 9100) 11,15 02440000 END IF 02450000 END IF 02460000 IF (LINECD(16:20) .EQ. ' ') THEN 02470000 ERR = 10 02480000 IF (ITR .EQ. 0) THEN 02490000 WRITE (IPR, 9100) 16,20 02500000 ELSE 02510000 WRITE (ITR, 9100) 16,20 02520000 END IF 02530000 END IF 02540000 IF (LINECD(56:60) .EQ. ' ' .OR. 02550000 + LINECD(56:60) .EQ. ' 0' ) THEN 02560000 ERR = 10 02570000 IF (ITR .EQ. 0) THEN 02580000 WRITE (IPR, 9100) 56,60 02590000 ELSE 02600000 WRITE (ITR, 9100) 56,60 02610000 END IF 02620000 END IF 02630000 IF (ERR .EQ. 10) GO TO 500 02640000 WRITE (5, 9000) LINECD 02650000 GO TO 10 02660000 END IF 02670000 C 02680000 C WRITE THE PARM, JOBC, COMM, INFO AND HEAD CARDS TO FT05F001 02690000 C 02700000 IF (CARD(1:4) .EQ. PARM .OR. CARD(1:4) .EQ. JOBC .OR. 02710000 * CARD(1:4) .EQ. COMM .OR. CARD(1:4) .EQ. INFO .OR. 02720000 * CARD(1:4) .EQ. HEAD ) THEN 02730000 WRITE (5, 9000) CARD 02740000 GO TO 10 02750000 END IF 02760000 C 02770000 C SAVE GM3D CARDS IF SRVY IN PROC AND GM3D IS NOT 02780000 C 02790000 IF (CARD(1:4).EQ.'GM3D' .AND. SRVY.EQ.1 .AND. GM3D.EQ.0) THEN 02800000 WRITE (5, 9000) CARD 02810000 GO TO 10 02820000 END IF 02830000 C 02840000 C WRITE THE FIRST 'MXULIB' ULIB CARDS TO FT05F001 02850000 C 02860000 IF (CARD(1:4) .EQ. ULIB) THEN 02870000 NULIB = NULIB + 1 02880000 C 02890000 IF (NULIB .GT. MXULIB) THEN 02900000 WRITE (IPR, 9200) MXULIB 02910000 ELSE 02920000 WRITE (5, 9000) CARD 02930000 END IF 02940000 C 02950000 GO TO 10 02960000 END IF 02970000 C 02980000 C SKIP THE PROC CARDS SINCE THEY HAVE ALREADY BEEN SAVED 02990000 C 03000000 IF (CARD(1:4) .EQ. PROC) GO TO 10 03010000 C 03020000 C CHECK FOR PROCESS ON PROC CARDS 03030000 C 03040000 DO 28 I = 1, NPROC 03050000 IF (CARD(1:4) .NE. PROCLC(IXNA,I)) GO TO 28 03060000 IF (CARD(5:5) .EQ. ' ') CARD(5:5) = '0' 03070000 KPRNO = S1CVBN (CARD,5,1) 03080000 IF (KPRNO .EQ. PROCLI(IXRNO,I)) GO TO 30 03090000 C 03100000 28 CONTINUE 03110000 C 03120000 C PROCESS NOT ON PROC CARD SO THROW CARD AWAY 03130000 C 03140000 GO TO 10 03150000 C 03160000 C CHECK FOR DEBUG FLAG 03170000 C 03180000 30 KPBUGF = 0 03190000 IF (CARD(10:10) .EQ. '*') THEN 03200000 PROCLI(IXBUGF,I) = 1 03210000 CARD(10:10) = ' ' 03220000 KPBUGF = 1 03230000 ELSE IF (CARD(10:10) .EQ. '$') THEN 03240000 PROCLI(IXBUGF,I) = 2 03250000 CARD(10:10) = ' ' 03260000 KPBUGF = 2 03270000 ELSE IF (CARD(10:10) .EQ. '#') THEN 03280000 PROCLI(IXBUGF,I) = 3 03290000 CARD(10:10) = ' ' 03300000 KPBUGF = 3 03310000 END IF 03320000 C IF DEBUG FLAG HAS BEEN SET, 03330000 C CHECK FOR REPETITIONS OF THIS PROCESS AND NUMBER 03340000 IF (KPBUGF .NE. 0) THEN 03350000 IF (I .LT. NPROC) THEN 03360000 DO 35 J = I+1, NPROC 03370000 IF (CARD(1:4) .NE. PROCLC(IXNA,J)) GO TO 35 03380000 IF (KPRNO .NE. PROCLI(IXRNO,J)) GO TO 35 03390000 PROCLI(IXBUGF,J) = KPBUGF 03400000 35 CONTINUE 03410000 ENDIF 03420000 ENDIF 03430000 C 03440000 C WRITE CARD TO WORK FILE AND CHAIN ALL DATA CARDS FOR EACH PROCESS 03450000 C 03460000 PROCLI(IXNCDS,I) = PROCLI(IXNCDS,I) + 1 03470000 IPTAB = PROCLI(IXPTAB,I) 03480000 C 03490000 IF ((PTABI(5,IPTAB) .NE. 2 .AND. PTABI(5,IPTAB) .NE. 3) 03500000 * .OR. CARD(8:10) .EQ. ' ') THEN 03510000 CJKEY = PTABC(2,IPTAB)(1:2) 03520000 CALL FJJUST (CARD, CJKEY) 03530000 END IF 03540000 C 03550000 IF (PTABI(5,IPTAB) .EQ. 2 .AND. 03560000 * CARD(8:10) .EQ. ' ' .AND. 03570000 * CARD(51:55) .NE. ' ' ) THEN 03580000 CALL USPLID(CARD(51:55), ERR) 03590000 IF (ERR .LE. 0) THEN 03600000 IF (ITR .EQ. 0) THEN 03610000 WRITE (IPR, 9110) CARD(1:4), CARD(51:55), ERR 03620000 ELSE 03630000 WRITE (ITR, 9110) CARD(1:4), CARD(51:55), ERR 03640000 END IF 03650000 ERR = 11 03660000 GO TO 500 03670000 END IF 03680000 END IF 03690000 C 03700000 SRTREC(1) = PROCLI(IXDA,I) 03710000 PROCLI(IXDA,I) = DA 03720000 CALL S1MVCH (CARD, 1, SRTREC(2), 1, 80) 03730000 CALL FOWSSD (DCBS, DA, SRTREC) 03740000 GO TO 10 03750000 C 03760000 40 CALL FOCSD (DCBS) 03770000 C 03780000 C GET BLANK COMMON NOW SO IT CAN BE USED IN SORTING 03790000 C 03800000 BCOM = NCARDS * 22 03810000 IF (BCOM/2*2 .NE. BCOM) BCOM = BCOM + 1 03820000 MCNUSM = BCOM 03830000 MCIUSM = 1 03840000 CALL GETMN2 (COM, BCOM, MCIUSM, LCOM) 03850000 IF (BCOM .NE. LCOM) GO TO 820 03860000 MCIUSM = MCIUSM + 1 03870000 FREESV = MCIUSM 03880000 C 03890000 C***********************************************************************03900000 C NOW BEGIN SORT SECTION 03910000 C***********************************************************************03920000 C 03930000 IF (ITR .NE. 0) WRITE (ITR, 9040) 03940000 CALL FOIDSD (DCBD, 88) 03950000 C 03960000 C CHECK FOR DESCENDING SORT 03970000 C 03980000 DESCF = 0 03990000 c IF (LINECD(11:15) .GT. LINECD(16:20) .AND. 04000000 c * LINECD(7:7) .EQ. 'S') DESCF = 1 04010000 C 04020000 C NOW SORT THE DATA CARDS: 04030000 C SKIP ANY SECOND, THIRD, ETC. OCCURRENCES OF A PROCESS 04040000 C SKIP ANY PROCESSES WITH ONLY 1 DATA CARD 04050000 C ALSO SKIP ANY PROCESSES WITHOUT ANY DATA CARDS SUCH AS NODE/BRAN04060000 C 04070000 DO 50 I = 1, NPROC 04080000 IF (PROCLI(IXOCUR,I) .GT. 1 .OR. PROCLI(IXNCDS,I) .LE. 1) 04090000 * GO TO 50 04100000 CALL FJSORT (PROCLC, PROCLI, MXPROC, I, DCBD, MCIUSM, MCNUSM, 04110000 * DESCF) 04120000 50 CONTINUE 04130000 C 04140000 C***********************************************************************04150000 C BUILD FT05 FILE FOR FOIP 04160000 C***********************************************************************04170000 C 04180000 DO 70 I = 1, NPROC 04190000 IF (PROCLI(IXOCUR,I) .GT. 1 .OR. PROCLI(IXNCDS,I) .EQ. 0) 04200000 * GO TO 70 04210000 DA = PROCLI(IXDA,I) 04220000 C 04230000 60 CALL FORDSD (DCBD, DA, SRTREC) 04240000 CALL S1MVCH (SRTREC(2), 1, CARD, 1, 80) 04250000 WRITE (5, 9000) CARD 04260000 DA = SRTREC(1) 04270000 IF (DA .NE. 0) GO TO 60 04280000 C 04290000 70 CONTINUE 04300000 C 04310000 C NOW ADD PROC CARDS 04320000 C 04330000 IF (NPROCC .LE. 10 ) THEN 04340000 DO 80 I = 1, NPROCC 04350000 WRITE (5, 9000) PROCCD(I) 04360000 80 CONTINUE 04370000 ELSE 04380000 REWIND INP 04390000 90 READ (INP, 9000, END=100) CARD 04400000 IF (CARD(1:4) .EQ. PROC) WRITE (5, 9000) CARD 04410000 GO TO 90 04420000 END IF 04430000 C 04440000 100 END FILE 5 04450000 REWIND 5 04460000 C 04470000 C FREE THE BLANK COMMON STORAGE USED FOR SORTING 04480000 C 04490000 IF (FREESV .NE. 0) CALL FREMN2 (COM(FREESV), LCOM) 04500000 FREESV = 0 04510000 C 04520000 C CLOSE AND UNALLOCATE THE WORK FILE 04530000 C 04540000 CALL FOCDD (DCBD) 04550000 CALL UGUWRK (DCBS, DCBD, ERR, ERRIN) 04560000 C 04570000 IF (ERR .NE. 1) THEN 04580000 IF (ITR .EQ. 0) THEN 04590000 WRITE (IPR, 9020) ERR, ERRIN 04600000 ELSE 04610000 WRITE (ITR, 9020) ERR, ERRIN 04620000 END IF 04630000 GO TO 8000 04640000 END IF 04650000 C 04660000 ERR = 0 04670000 500 RETURN 04680000 C 04690000 C FREE COMMON AREA OBTAINED BY GETMN2 04700000 C 04710000 8000 IF (FREESV .NE. 0) CALL FREMN2 (COM(FREESV), LCOM) 04720000 ERR = 1 04730000 GO TO 500 04740000 C 04750000 820 IF (ITR .EQ. 0) THEN 04760000 WRITE (IPR, 995) MCNUSM, LCOM 04770000 ELSE 04780000 WRITE (ITR, 995) MCNUSM, LCOM 04790000 END IF 04800000 GO TO 8000 04810000 C 04820000 C FORMAT STATEMENTS 04830000 C 04840000 995 FORMAT (/5X,'CALL TO GETMN2 FAILED. MCNUSM = ',I12,' LCOM = ',I12)04850000 C 04860000 9000 FORMAT (A80) 04870000 C 04880000 9010 FORMAT ('0ERROR ALLOCATING WORK FILE. ERR=',I4,' ERRIN=',I4/ 04890000 * ' SEE PROGRAMMERS') 04900000 C 04910000 9020 FORMAT ('0ERROR UNALLOCATING WORK FILE. ERR=',I4,' ERRIN=',I4/ 04920000 * ' SEE PROGRAMMERS') 04930000 C 04940000 9030 FORMAT ('0',30('#')/' ### NOW JUSTIFYING DATA CARDS'/1X,30('#')) 04950000 C 04960000 9040 FORMAT ('0',30('#')/' ### NOW SORTING DATA CARDS'/1X,30('#')) 04970000 C 04980000 9100 FORMAT (/5X,'*** ERROR - LINE CARD FIELD',I3,'-',I3, 04990000 + ' IS REQUIRED ***') 05000000 C 05010000 9110 FORMAT (/5X,'*** ERROR - PROCESS ',A4,' CONTAINS AN INVALID ', 05020000 + 'PLOTTER CODE (',A5,') USPLID STATUS =',I3,' ***') 05030000 C 05040000 9200 FORMAT (/5X,'*** WARNING -- MORE THAN',I3,' ULIB CARDS FOUND ***')05050000 END 05060000