File: endsys.f

package info (click to toggle)
nastran 0.1.95-2
  • links: PTS, VCS
  • area: non-free
  • in suites: bookworm, bullseye
  • size: 122,540 kB
  • sloc: fortran: 284,409; sh: 771; makefile: 324
file content (442 lines) | stat: -rw-r--r-- 13,715 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
      SUBROUTINE ENDSYS (JOBSEG,JOBEND)
C
C     ENDSYS SAVES VARIOUS EXEC TABLES ON A SCRATCH FILE
C
C     LAST REVISED  5/91 BY G.CHAN/UNISYS  FOR SUPERLINK OPERATION
C          IF SPERLK = 0, WE ARE IN NASTRAN MULTI-LINK COMPUTATION
C          IF SPERLK = NON-ZERO, WE ARE IN NASTRAN SUPERLINK
C          SPERLK IS THE 95TH WORD OF /SYSTEM/
C
      EXTERNAL        LSHIFT,RSHIFT,ANDF,ORF,LINK
      LOGICAL         BITPAS
      INTEGER         ANDF,FIST,SAVE,SCRN1,SCRN2,THCRMK,POOL,SPERLK,
     1                NOPREF(2),RSHIFT,BUF,MSGBUF(8),BCDNUM(10),UNITS,
     2                TENS,ORF,UNITAB(75),FCB(75),DATABF,MSG(2),NAME(2),
     3                FILE,FILEX,LNKNUM(15),COMM,XF1AT,PREFAC
      CHARACTER       UFM*23,UWM*25,UIM*29,SFM*25,FORTXX*7
      COMMON /XMSSG / UFM,UWM,UIM,SFM
      COMMON /MACHIN/ MACH
      COMMON /BLANK / IBLKCM(58),PREFAC(2)
      COMMON /XPFIST/ NPFIST
      COMMON /XFIST / FIST(2)
      COMMON /MSGX  / ITAB1(1)
      COMMON /STIME / ITAB2(2)
      COMMON /STAPID/ ITAB3(1)
      COMMON /XDPL  / ITAB4(3)
      COMMON /XXFIAT/ ITAB5(1)
      COMMON /XFIAT / ITAB6(4)
      COMMON /XVPS  / ITAB7(2)
      COMMON /XCEITB/ ITAB8(2)
      COMMON /GINOX / ITAB9(170)
      COMMON /SYSTEM/ ITAB10(22),LSYSTM,ICFIAT,JTAB10(11),NPRUS,
     1                KTAB10(35),BITPAS,LTAB10(18),LPCH,LDICT,MTAB10(2),
     2                SPERLK,NTAB10(5)
      COMMON /OUTPUT/ ITAB11(1)
      COMMON /NTIME / ITAB13(1)
      COMMON /XLINK / ITAB14(1)
      COMMON /SOFCOM/ ITAB15(1)
      COMMON /BITPOS/ BT(32,2)
      COMMON /OSCENT/ INOSCR(2)
CZZ   COMMON /ZZENDS/ DATABF(1)
      COMMON /ZZZZZZ/ DATABF(1)
      COMMON /SEM   / MASK,THCRMK,IMASK,LINKS(15)
      COMMON /L15 L8/ L15,L8,L13
      COMMON /XSFA1 / DUMMY(1902),COMM(20),XF1AT(1100)
C                           1902 = 401+1501
C
      EQUIVALENCE    (ITAB10( 1),ISYBUF),  (ITAB10(2),NOUT     ),
     1               (ITAB9 ( 2),FILEX ),  (ITAB9(12),UNITAB(1)),
     2               (ITAB9(170),FCB(1))
      DATA MSGBUF(1)/ 4HLINK /
      DATA MSGBUF(3)/ 4H     /
      DATA MSGBUF(5)/ 4H---- /
      DATA MSGBUF(6)/ 4H---- /
      DATA MSGBUF(7)/ 4H---- /
      DATA MSGBUF(8)/ 4H---- /
      DATA SCRN1    , SCRN2  /4HSCRA,4HTCH0/, SAVE/4HSAVE/,
     1     POOL     / 4HPOOL /,
     2     NOPREF   / 4HNOT , 4HPREF/
      DATA MSG      / 4HBEGN, 4HEND /
      DATA BCDNUM   / 1H0, 1H1, 1H2, 1H3, 1H4, 1H5, 1H6, 1H7, 1H8, 1H9 /
      DATA LNKNUM   / 4H 1  , 4H 2  , 4H 3  , 4H 4  , 4H 5  ,
     1                4H 6  , 4H 7  , 4H 8  , 4H 9  , 4H10  ,
     2                4H11  , 4H12  , 4H13  , 4H14  , 4H15  /
      DATA NAME     / 4HENDS,4HYS   /
C
C
C     PUNCH RESTART DICTIONAY
C     LDICT MAY NOT BE A SYSTEM PUNCH FILE, PUNCH THE CARDS OUT FIRST
C     BEFORE THE RESTART DICTIONARY CARDS GET LOST
C
      IF (MACH.GE.5 .OR. LDICT.EQ.LPCH) GO TO 8
      ENDFILE LDICT
      REWIND  LDICT
    5 READ   (LDICT,6,ERR=7,END=7) (DATABF(J),J=1,20)
    6 FORMAT (20A4)
      WRITE  (LPCH,6) (DATABF(J),J=1,20)
      GO TO  5
    7 REWIND LDICT
C
    8 MSGBUF(2) = 0
      J = 0
      DO 10 I = 1,15
      IF (JOBEND .EQ. LINKS(I)) MSGBUF(2) = LNKNUM(I)
      IF (JOBSEG .EQ. LINKS(I)) J = I
   10 CONTINUE
      IF (MSGBUF(2) .NE. 0) GO TO 15
      WRITE  (NOUT,12) SFM,JOBEND
   12 FORMAT (A25,', ILLEGAL LINK NUMBER ',A4,' ENCOUNTERED BY ENDSYS')
      CALL MESAGE (-61,0,0)
   15 MSGBUF(4) = MSG(2)
C
      IF (SPERLK .EQ. 0) GO TO 30
C
C     SIMPLIFIED OPERATION IF SUPERLINK (USED IN UNIX VERSION)
C
      SPERLK = J
      ITAB10(22) = JOBSEG
C     PREFAC(1)  = NOPREF(1)
C     PREFAC(2)  = NOPREF(2)
      CALL CONMSG (MSGBUF   ,4,0)
      CALL CONMSG (MSGBUF(5),4,0)
      DO 20 J = 2,11
   20 ITAB9(J) = 0
      DO 25 J = 87,161
      IF (ITAB9(J) .EQ. 0) GO TO 25
      I = J - 86
      WRITE  (NOUT,23) SFM,I,JOBEND
   23 FORMAT (A25,', LOGICAL UNIT',I5,' WAS NOT CLOSED AT END OF ',A4)
C     ITAB9(J) = 0
      CALL MESAGE (-37,0,0)
   25 CONTINUE
      GO TO 400
C
C     SEARCH FIAT FOR A SAVE FILE -- FILE MUST SATISFY THE FOLLOWING
C     (1) FILE MUST BE SCRATCHX OR TRAILERS=0 OR EXPIRED*
C     (2) IF (1) IS TRUE, NO UNEXPIRED SECONDARY ALLOCATIONS WITH
C     NON-ZERO TRAILERS MAY EXIST. (ALSO FILE MUST NOT BE PURGED)
C     AN EXPIRED FILE HAS AN LTU LESS THAN THE CURRENT OSCAR POSITION.
C
   30 FILE = SAVE
      LMT  = ITAB6(3)*ICFIAT + 3
      NEXT = LSHIFT(INOSCR(2),16)
      IFOUND  = 0
      FIST(2) = NPFIST + 1
      FIST(2*NPFIST+3) = SAVE
C
      K = ANDF(THCRMK,SCRN2)
      DO 50 I = 4,LMT,ICFIAT
      IF (ITAB6(I+1).EQ.SCRN1 .AND. ANDF(THCRMK,ITAB6(I+2)).EQ.K)
     1    GO TO 35
      IF (ITAB6(I+3).NE.0 .OR. ITAB6(I+4).NE.0 .OR. ITAB6(I+5).NE.0)
     1    GO TO 32
      IF (ICFIAT.EQ.11 .AND.  (ITAB6(I+8).NE.0 .OR. ITAB6(I+9).NE.0 .OR.
     1    ITAB6(I+10).NE.0)) GO TO 32
      GO TO 35
   32 LTU = ANDF(ITAB6(I),1073676288)
C                         1073676288 = 2**30 - 2**16 = 3FFF0000 HEX
C                                    = 0 SIGN BIT + LEFT 14 BITS OF 1's
      IF (LTU.GE.NEXT .OR. LTU .EQ. 0) GO TO 50
   35 IUCB = ANDF(ITAB6(I),32767)
C                          32767 = 2**15 - 1 = RIGHT 15 BITS OF 1's
      IF (IUCB .EQ. 32767) GO TO 50
      DO 40 J = 4,LMT,ICFIAT
      IF (ANDF(ITAB6(J),32767) .NE. IUCB) GO TO 40
      IF (I .EQ. J) GO TO 40
      LTU = ANDF(ITAB6(J),1073676288)
      IF (LTU.LT.NEXT .AND. LTU.NE.0) GO TO 40
      IF (ITAB6(J+3).NE.0 .OR. ITAB6(J+4).NE.0 .OR. ITAB6(J+5).NE.0)
     1    GO TO 50
      IF (ICFIAT.EQ.11 .AND. (ITAB6(J+8).NE.0 .OR. ITAB6(J+9).NE.0 .OR.
     1    ITAB6(J+10).NE.0)) GO TO 50
   40 CONTINUE
      IF (IFOUND .EQ. 0) IFOUND = I
C
C     FLUSH FILE IN CASE DATA EXISTS ON FILE
C     THIS WILL FREE UP SECONDARIES ON 360 AND DISK ON CDC AND UNIVAC
C
      IF (ITAB6(I+3).NE.0 .OR. ITAB6(I+4).NE.0 .OR. ITAB6(I+5).NE.0)
     1    GO TO 45
      IF (ICFIAT.EQ.11 .AND. (ITAB6(I+8).NE.0 .OR. ITAB6(I+9).NE.0 .OR.
     1    ITAB6(I+10).NE.0)) GO TO 45
      GO TO 50
   45 FIST(2*NPFIST+4) = I - 1
      CALL OPEN (*360,SAVE,DATABF,1)
      CALL CLOSE (SAVE,1)
   50 CONTINUE
C
      IF (IFOUND .EQ. 0) CALL MESAGE (-39,0,0)
      I = -2
      IF (ITAB11(1)+ITAB11(-I) .EQ. I) ICFIAT = ICFIAT + I
C
C     GOOD NEWS - WE FOUND A FILE FOR SAVE PURPOSES.
C     SAVE POINTER TO FILE IN BLANK COMMON.
C
      I = IFOUND
      IBLKCM(1) = ITAB6(I)
C
C     SAVE UNIT = 2 FOR ALL MACHINES, IBM INCLUDED
C     (IBM USED 51 BEFORE)
C
      IUNITU = 2
C
C     FCB ARREY OF 75 WORDS IS NOT USED BY VAX AND UNIX
C
      REWIND IUNITU
      IF (MACH .LT. 5) WRITE (IUNITU) ITAB6(I),ISYBUF,FCB
      IF (MACH .GE. 5) WRITE (IUNITU) ITAB6(I),ISYBUF
      REWIND IUNITU
      FIST(2*NPFIST+4) = I - 1
C
C     SET PREFAC FLAG SO LINK 1 IS RE-ENTRANT
C
C     PREFAC(1) = NOPREF(1)
C     PREFAC(2) = NOPREF(2)
C
C     SAVE THE NEXT LINK NO. IN THE 22ND WORD OF /SYSTEM/
C
      ITAB10(22) = JOBSEG
C
C     WRITE EXEC TABLES ON THE FILE JUST FOUND.
C
      CALL OPEN  (*360,SAVE,DATABF,1)
      LTAB10(7)  = 0
      CALL WRITE (SAVE,ITAB10,LSYSTM,1)
      CALL WRITE (SAVE,ITAB1,ITAB1(1)*4+2,1)
      CALL WRITE (SAVE,ITAB2,1,1)
      CALL WRITE (SAVE,ITAB3,6,1)
      CALL WRITE (SAVE,ITAB4,ITAB4(3)*3+3,1)
      CALL WRITE (SAVE,ITAB5,NPFIST,1)
      CALL WRITE (SAVE,ITAB6,ITAB6(3)*ICFIAT+3,1)
      CALL WRITE (SAVE,ITAB7,ITAB7(2),1)
      CALL WRITE (SAVE,ITAB8,ITAB8(2),1)
      CALL WRITE (SAVE,ITAB9(12),75,1)
      CALL WRITE (SAVE,ITAB11,224,1)
      CALL WRITE (SAVE,ITAB13,ITAB13(1)+1,1)
      CALL WRITE (SAVE,ITAB14,ITAB14(1)+2,1)
      CALL WRITE (SAVE,ITAB15,27,1)
      CALL WRITE (SAVE,BT,64,1)
      CALL CLOSE (SAVE,1)
C
C     FLUSH ANY QUEUED SYSTEM OUTPUT.
C     LOAD NEXT LINK NO. INTO UNIT 97, AND TERMINATE PRESENT LINK.
C
      KK = ITAB10(2)
      WRITE  (KK,55)
   55 FORMAT (//)
      CALL CONMSG (MSGBUF   ,4,0)
      CALL CONMSG (MSGBUF(5),4,0)
      IF (MACH .EQ. 4) GO TO 67
      IF (ITAB10(7) .LT. 0) ENDFILE 52
C
C     IF IBM NEW LOGIC OF LINK SWITCHING VIA FILE 97 IS NOT AVAILBLE,
C     WE STILL NEED THE NEXT 3 LINES FOR DEAR OLD IBM
C
      IF (MACH .NE. 2) GO TO 60
C     CALL SEARCH (JOBSEG,SYSLB2,NOTUSE)
      CALL SEARCH (JOBSEG)
      GO TO 400
C
   60 I = KHRFN3(MSGBUF(3),JOBSEG,2,1)
      IF (MACH.EQ.9 .OR. MACH.EQ.12) GO TO 61
      OPEN (UNIT=97,ACCESS='SEQUENTIAL',STATUS='NEW',ERR=64)
      GO TO 62
   61 CALL FLUNAM (97,FORTXX)
      OPEN (UNIT=97,ACCESS='SEQUENTIAL',STATUS='NEW',ERR=64,FILE=FORTXX)
   62 WRITE  (97,63) I
   63 FORMAT ('NAST',A2)
      CLOSE (UNIT=97)
      CALL EXIT
CSUN  CALL EXIT (0)
   64 WRITE  (NOUT,65)
   65 FORMAT ('0*** SYSTEM ERROR, CAN NOT OPEN FORTRAN UNIT 97 FOR ',
     1        'LINK SWITCH')
      CALL MESAGE (-37,0,NAME)
C
C     DETERMINE LINK NUMBER FOR 6600
C
   67 I = ANDF(4095,RSHIFT(JOBSEG,36))
      I1 = I/64
      I2 = I - I1*64
      I  = 10*I1 + I2 - 297
      I76= 76
      CALL LINK (I,ITAB10(I76),0)
      GO TO 350
C
C
      ENTRY BGNSYS
C     ============
C
      NPRUS      = 0
      BITPAS     = .TRUE.
      MSGBUF(4)  = MSG(1)
C     PREFAC(1)  = 0
C     PREFAC(2)  = 0
      IF (SPERLK .EQ. 0) GO TO 70
C
C     SIMPLEFIED OPERATION IF SUPERLINK (USED IN UNIX VERSION)
C
      IF (SPERLK.LT.1 .OR. SPERLK.GT.15) GO TO 225
      ITAB10(22) = LINKS(SPERLK)
      MSGBUF(2)  = LNKNUM(SPERLK)
      JOBSXX     = ITAB10(22)
      GO TO 228
C
C     BGNSYS RESTORES THE EXEC TABLES SAVED BY ENDSYS
C     THEN REPOSITIONS THE OSCAR TO THE ENTRY FOR THE MODULE
C     IN THE CURRENT LINK.
C
   70 IUNITU = 2
      IF (MACH .LT. 5) READ (IUNITU) ITAB6(4),ISYBUF,FCB
      IF (MACH .GE. 5) READ (IUNITU) ITAB6(4),ISYBUF
      FIST(2) = NPFIST + 1
      FIST(2*NPFIST+3) = SAVE
      FIST(2*NPFIST+4) = 3
      J = 5000
      CALL OPEN (*360,SAVE,DATABF(J),0)
      CALL READ (*340,*80,SAVE,ITAB10,900,1,FLG)
   80 CALL READ (*340,*90,SAVE,ITAB1,900,1,FLG)
      GO TO 350
   90 CALL READ (*340,*100,SAVE,ITAB2,900,1,FLG)
      GO TO 350
  100 CALL READ (*340,*110,SAVE,ITAB3,900,1,FLG)
      GO TO 350
  110 CALL READ (*340,*120,SAVE,ITAB4,900,1,FLG)
      GO TO 350
  120 CALL READ (*340,*130,SAVE,ITAB5,900,1,FLG)
      GO TO 350
  130 CALL READ (*340,*140,SAVE,ITAB6,900,1,FLG)
      GO TO 350
  140 CALL READ (*340,*150,SAVE,ITAB7,900,1,FLG)
      GO TO 350
  150 CALL READ (*340,*160,SAVE,ITAB8,900,1,FLG)
      GO TO 350
  160 CALL READ (*340,*170,SAVE,ITAB9(12),900,1,FLG)
      GO TO 350
  170 CALL READ (*340,*190,SAVE,ITAB11,900,1,FLG)
      GO TO 350
  190 CALL READ (*340,*210,SAVE,ITAB13,900,1,FLG)
      GO TO 350
  210 CALL READ (*340,*220,SAVE,ITAB14,900,1,FLG)
      GO TO 350
  220 CALL READ (*340,*221,SAVE,ITAB15,900,1,FLG)
      GO TO 350
  221 CALL READ (*340,*222,SAVE,BT,900,1,FLG)
      GO TO 350
  222 CALL CLOSE (SAVE,1)
C
C     RETRIEVE THE CURRENT LINK NO. FROM THE 22ND WORD OF /SYSTEM/
C
      JOBSXX = ITAB10(22)
      DO 224 I = 1,15
      IF (JOBSXX .NE. LINKS(I)) GO TO 224
      MSGBUF(2) = LNKNUM(I)
      GO TO 228
  224 CONTINUE
  225 WRITE  (NOUT,226) SFM,JOBSXX,SPERLK
  226 FORMAT (A25,', ILLEGAL LINK NUMBER ',A4,' ENCOUNTERED BY BGNSYS.',
     1        4X,'SPERLK=',I14)
      CALL MESAGE (-61,0,0)
C
  228 CALL PRESSW (JOBSXX,I)
      CALL CONMSG (MSGBUF,4,0)
      CALL SSWTCH (15,L15)
      CALL SSWTCH ( 8,L 8)
      CALL SSWTCH (13,L13)
      IF (MACH .NE. 3) GO TO 320
C
      IF (ITAB10(7) .GE. 0) GO TO 238
  232 READ (52,234,END=236) I
  234 FORMAT (A1)
      GO TO 232
  236 BACKSPACE 52
  238 CONTINUE
C
C     REPOSITION DRUM FILES OFF LOAD POINT (1108 ONLY)
C
      CALL DEFCOR
      CALL CONTIN
C
C     TAPE-FLAG IS THE 45TH WORD OF /SYSTEM/
C     IF THE 7TH BIT (COUNTING FROM RIGHT TO LEFT) OF TAPE-FLAG IS NOT
C     ON (=1), AND PLT2 HAS NOT BEEN EXTERNALLY ASSIGNED AS A MAGNETIC
C     TAPE, SET PLT2 IS TO DISK. SIMILARILY,
C     IF THE 6TH BIT IS NOT SET, AND PLT1 IS NOT TAPE ASSIGNED, SET PLT1
C     TO DISK
C
      I45   = 45
      ISTAT = ANDF(ITAB10(I45),64)
      JSTAT = ANDF(ITAB10(I45),32)
C
      DO 300 I = 1,75
C
C     CALL FACIL TO DETERMINE IF UNIT IS TAPE
C
      TENS  = I/10
      UNITS = I - 10*TENS
      NBCD  = BCDNUM(UNITS+1)
      IF (TENS .EQ. 0) GO TO 295
      MASKK = 255
      MASKK = LSHIFT(MASKK,27)
      NBCD  = ORF(ANDF(BCDNUM(TENS+1),MASKK),RSHIFT(NBCD,9))
  295 CALL FACIL (NBCD,J)
C
C     DECODE UNITAB ENTRY
C
      NBLOCK = ANDF(RSHIFT(UNITAB(I),12),262143)
      NLR = ANDF(UNITAB(I),4095)
      IF (J.EQ.7 .OR. J.EQ.9) GO TO 298
C
C     POSITION DRUM UNIT NOW OFF LOAD POINT
C
      IF (NBLOCK+NLR .EQ. 1) GO TO 300
      CALL NTRAN (I,10,22)
      NOSECT = NBLOCK*ITAB9(164)
      IF (NLR .EQ. 0) NOSECT = NOSECT - ITAB9(164)
      IF (I.EQ.13 .AND. ISTAT.NE.0) NOSECT = UNITAB(13)
      IF (I.EQ.12 .AND. JSTAT.NE.0) NOSECT = UNITAB(12)
      CALL NTRAN (I,6,NOSECT)
C
C     RESET FCB ENTRY
C     COMMENTS FROM G.CHAN/UNISYS   11/90
C     FCB ARRAY OF 75 WORDS IS USED ONLY BY UNIVAC AND IBM. IT BEGINS
C     AT THE 170TH WORD OF /GINOX/
C
  298 IF (NLR .NE. 0) NBLOCK = NBLOCK + 1
      FCB(I) = NBLOCK
  300 CONTINUE
C
  320 IF (SPERLK .NE. 0) GO TO 330
C
C     DEFINE OPEN CORE FOR VAX AND UNIX
C
      IF (MACH .GE. 5) CALL DEFCOR
C
C     REPOSITION POOL TO OSCAR ENTRY TO BE EXECUTED.
C
  330 BUF  = KORSZ(DATABF) - ITAB10(1)
      FILE = POOL
      CALL OPEN (*360,POOL,DATABF(BUF),2)
      CALL BCKREC (POOL)
      IF (SPERLK .EQ. 0) GO TO 400
      DO 333 J = 1,60
  333 IBLKCM(J)= 0
C     DO 334 J = 1,1902
C 334 DUMMY(J) = 0
C     COMM( 1) = 0
C     COMM( 3) = 0
      COMM( 8) = 0
C     COMM( 9) = 0
C     COMM(12) = 0
C     COMM(15) = 0
C     COMM(18) = 0
      DO 335 J = 1,1100
  335 XF1AT(J) = 0
      GO TO 400
C
  340 CONTINUE
  350 CALL MESAGE (-37,0,NAME)
  360 CALL MESAGE (-1,FILE,NAME)
C
  400 RETURN
      END