81 CHARACTER*10 COCBUF(*),FILL
83 CHARACTER*4 COCRPT(10000)
86 INTEGER LOCRPT(*),KATL(11),KATO(11),KATGC(20,11),KATGL(20,11),
87 $ MOCRPT(5000),KATLL(11)
91 equivalence(rocrpt,mocrpt,cocrpt)
95 DATA katl/6,4,4,4,6,6,3,20,15,3,1/,kato/13,15,17,19,21,23,25,29,
96 $ 31,27,33/,imsg/99999/,fill/
'XXXXXXXXXX'/,kat/
'01',
'02',
'03',
'04',
97 $
'05',
'06',
'07',
'51',
'52',
'08',
'09'/,cnines/
'9999999'/,xmsg/99999./
98 DATA katgc/ 5*2,4,14*0, 3*2,4,16*0, 3*2,4,16*0, 3*2,4,16*0,
99 $ 5*2,4,14*0, 5*2,4,14*0, 2*2,4,17*0, 8*2,4,10*1,2, 15*1,5*0,
100 $ 2*2,4,17*0, 4,19*0/
101 DATA katgl/ 5,4,3*3,4,14*0, 5,4,2*3,16*0, 5,2*3,2,16*0,
102 $ 5,2*3,2,16*0, 5,4,3*3,4,14*0, 5,4,3*3,4,14*0, 5,3,2,17*0,
103 $ 2*5,2*3,4,3,2*4,5,2*3,7*2,1,3,
104 $ 4,3,4,1,5*2,4,2*2,1,2,7,5*0, 5,3,2,17*0, 12,19*0/
105 DATA katll/6,4,4,4,6,6,3,21,15,3,3/
108 entry w3ai03(locrpt,cocbuf)
110 IF (lwflag.EQ.0)
THEN
127 IF(locrpt(m+1).GE.mi) kk = ncat
128 mi = max(mi,locrpt(m+1))
136 mwords = (mi - 1) + (lvls * katll(kk))
139 mocrpt(1:mwords) = locrpt(1:mwords)
142 cocbuf(1) =
'9999999999'
143 cocbuf(2)(7:10) =
'9999'
144 cocbuf(3)(8:10) =
'999'
145 cocbuf(4)(1:7) =
'9999999'
150 IF(rocrpt(m).LT.xmsg)
THEN
151 IF(int(rocrpt(m)).GE.0)
WRITE(cocbuf(n)(1:5),50)int(rocrpt(m))
152 IF(int(rocrpt(m)).LT.0)
WRITE(cocbuf(n)(1:5),55)int(rocrpt(m))
157 IF(rocrpt(m).LT.xmsg)
THEN
158 IF(int(rocrpt(m)).GE.0)
WRITE(cocbuf(n)(6:10),50)int(rocrpt(m))
159 IF(int(rocrpt(m)).LT.0)
WRITE(cocbuf(n)(6:10),55)int(rocrpt(m))
166 cocbuf(n)(1:6) = cocrpt(lw2*m-lw1)(1:4)//
167 $ cocrpt(lw2*(m+1)-lw1)(1:2)
171 IF(rocrpt(m).LT.xmsg)
WRITE(cocbuf(n)(7:10),40) int(rocrpt(m))
177 cocbuf(n)(1:7) =cocrpt(lw2*(m+1)-lw1)(1:2)//
178 $ cocrpt(lw2*m-lw1)(1:4)//cocrpt(lw2*(m+1)-lw1)(3:3)
182 IF(mocrpt(m).LT.imsg)
WRITE(cocbuf(n)(8:10),30) mocrpt(m)
187 IF(rocrpt(m).LT.xmsg)
THEN
188 IF(int(rocrpt(m)).GE.0)
WRITE(cocbuf(n)(1:5),50)int(rocrpt(m))
189 IF(int(rocrpt(m)).LT.0)
WRITE(cocbuf(n)(1:5),55)int(rocrpt(m))
194 IF(mocrpt(m).LT.99)
WRITE(cocbuf(n)(6:7),20) mocrpt(m)
206 IF(lvls.EQ.0.OR.mi.EQ.0)
GO TO 3000
209 cocbuf(n)(1:2) = kat(ncat)
211 WRITE(cocbuf(n)(6:7),20) lvls
231 IF(katgc(k,ncat).EQ.4)
GO TO 1500
233 IF(katgc(k,ncat).EQ.1)
THEN
234 IF(mocrpt(mi).GE.imsg)
THEN
235 hold(1:ll) = cnines(1:ll)
237 IF(k.EQ.15.AND.ncat.EQ.9) hold(1:7) =
'0099999'
240 ELSE IF(katgc(k,ncat).EQ.2)
THEN
241 IF(rocrpt(mi).GE.xmsg)
THEN
242 hold(1:ll) = cnines(1:ll)
244 IF(k.EQ.15.AND.ncat.EQ.9) hold(1:7) =
'0099999'
249 IF(katgc(k,ncat).EQ.2) ivalue = int(rocrpt(mi))
253 hold(1:ll) = cnines(1:ll)
256 IF(ivalue.LE.9.AND.ivalue.GE.0)
257 $
WRITE(hold(1:ll),10) ivalue
258 ELSE IF(ll.EQ.2)
THEN
260 IF(ivalue.LE.99.AND.ivalue.GE.-9)
THEN
261 IF(ivalue.GE.0)
WRITE(hold(1:ll),20) ivalue
262 IF(ivalue.LT.0)
WRITE(hold(1:ll),25) ivalue
264 ELSE IF(ll.EQ.3)
THEN
266 IF(ivalue.LE.999.AND.ivalue.GE.-99)
THEN
267 IF(ivalue.GE.0)
WRITE(hold(1:ll),30) ivalue
268 IF(ivalue.LT.0)
WRITE(hold(1:ll),35) ivalue
270 ELSE IF(ll.EQ.4)
THEN
272 IF(ivalue.LE.9999.AND.ivalue.GE.-999)
THEN
273 IF(ivalue.GE.0)
WRITE(hold(1:ll),40) ivalue
274 IF(ivalue.LT.0)
WRITE(hold(1:ll),45) ivalue
276 ELSE IF(ll.EQ.5)
THEN
278 IF(ivalue.LE.99999.AND.ivalue.GE.-9999)
THEN
279 IF(ivalue.GE.0)
WRITE(hold(1:ll),50) ivalue
280 IF(ivalue.LT.0)
WRITE(hold(1:ll),55) ivalue
282 ELSE IF(ll.EQ.6)
THEN
284 IF(ivalue.LE.999999.AND.ivalue.GE.-99999)
THEN
285 IF(ivalue.GE.0)
WRITE(hold(1:ll),60) ivalue
286 IF(ivalue.LT.0)
WRITE(hold(1:ll),65) ivalue
288 ELSE IF(ll.EQ.7)
THEN
290 IF(ivalue.LE.9999999.AND.ivalue.GE.-999999)
THEN
291 IF(ivalue.GE.0)
WRITE(hold(1:ll),70) ivalue
292 IF(ivalue.LT.0)
WRITE(hold(1:ll),75) ivalue
301 hold(1:ll) = cocrpt(lw2*mi-lw1)(1:ll)
309 hold(ip:jp) = cocrpt(lw2*mi-lw1)(1:4)
313 ELSE IF(jp.EQ.ll)
THEN
315 hold(ip:jp) = cocrpt(lw2*mi-lw1)(1:4)
318 hold(ip:ll) = cocrpt(lw2*mi-lw1)(1:ll-jp+4)
328 cocbuf(n)(i:10) = hold(1:11-i)
329 cocbuf(n+1)(1:j-10) = hold(12-i:ll)
334 cocbuf(n)(i:j) = hold(1:ll)
349 IF(i.GT.1) cocbuf(n)(i:10) = fill(i:10)
352 nchar = ((nwdsc - 1) * 10) + i - 1
353 WRITE(cocbuf(nc)(8:10),30) nchar
357 WRITE(cocbuf(nc)(3:5),30) n
363 WRITE(cocbuf(no)(8:10),30) n
365 cocbuf(n) =
'END REPORT'