37 SUBROUTINE w3fp05(RDATA,KTBL,CNST,TITLE,KRECT,KCONTR,LINEV,IWIDTH)
75 equivalence(crmx,vdja(29))
76 equivalence(kline(1),klines(8))
77 equivalence(vdjc(1),rwa(1))
87 a 1ha,1h ,1hb,1h ,1hc,1h ,1hd,1h ,1he,1h ,1hf,
88 b 1h ,1hg,1h ,1hh,1h /
95 DATA khtbl /1h0,1h1,1h2,1h3,1h4,1h5,1h6,1h7,1h8,1h9/
101 DATA knumb /1h0,1h ,1h1,1h ,1h2,1h ,1h3,1h ,1h4,1h ,
102 1 1h5,1h ,1h6,1h ,1h7,1h ,1h8,1h ,1h9,1h /
107 8000
FORMAT (1h0,10x,44herror from
w3fp05 ... number of rows in your,
108 1 9h array = ,i4,24h which exceeds limit of ,i4)
111 8300
FORMAT (1h /1h /1h )
112 8400
FORMAT (1h /1h )
118 IF (iwidth.GE.132.OR.iwidth.LE.0) pgmax = 25
119 IF (iwidth.GE.1.AND.iwidth.LE.22) pgmax = 3
120 IF (iwidth.GT.22.AND.iwidth.LT.132) pgmax = (iwidth-7)/5
123 vdja(pagn3 + 1) = crmx
126 IF (linev .EQ. 0)
GO TO 100
153 nodig = iabs(kcontr/10)
156 IF (nodig.LT.1 .OR. nodig.GT.3) nodig = 3
159 nconq = iabs(mod(kcontr,10))
160 IF (nconq .EQ. 0)
GO TO 400
161 IF (nconq .LE. 2)
GO TO 300
169 IF (nconq .EQ. 2)
GO TO 600
191 IF (ktbl(1 ).EQ.(-1))
GO TO 1100
196 jmax = ktbl(3)+ktbl(1)-1
198 IF (nrws .GT. limnrw)
GO TO 1200
199 kc = kca * (nrws-1) + 1
204 IF (ktbl(kc+4)+ktbl(kc+3).LE.kz )
GO TO 900
206 imax = ktbl(kc+4)+ktbl(kc+3)
208 kcmx = krloc(k)+ktbl(kc+4)
222 IF (nrws .LE. limnrw)
GO TO 1300
225 WRITE (output,8000) nrws,limnrw
229 jmax = ktbl(7) +ktbl(5)-1
232 krloc(j) = ktbl(2)*(ktbl(4)-j)+ktbl(kc+7)+1
233 IF (ktbl(kc+7)+ktbl(kc+8).LE.kz)
GO TO 1400
234 imax = ktbl(kc+7)+ktbl(kc+8)
236 kcmx = krloc(j)+ktbl(kc+8)
239 IF (ktbl(kc+7).LT.kza) kza = ktbl(kc+7)
247 IF (.NOT.lcntr)
GO TO 1700
248 adc = (cnst(1)-cnst(4))/cnst(3)+radj
253 IF (linate.EQ.1)
WRITE (output,8100)
255 IF (linate.EQ.2)
WRITE (output,8200)
261 IF (.NOT.lcntr)
GO TO 2000
284 IF (imax.GT.pgmax-1)
GO TO 2300
296 ktb = mod(jcurr,100)/10
297 ktc = mod(jcurr,1000)/100
298 IF (kr .EQ. 1 .OR. (.NOT. lcntr))
GO TO 2500
301 IF (linate.EQ.1)
WRITE (output,8300)
302 IF (linate.EQ.2)
WRITE (output,8400)
306 IF (jcurr.LT.0) klines(2)=khmns
310 IF (ktc .EQ. 0)
GO TO 2700
311 klines(3) = khtbl(ktc+1)
312 klines(4) = khtbl(ktb+1)
313 klines(5) = khtbl(kta+1)
317 klines(3) = khtbl(ktb+1)
318 klines(4) = khtbl(kta+1)
325 IF (.NOT.done)
GO TO 3000
327 kline(lmr) = klines(2)
328 kline(lmr+1) = klines(3)
329 kline(lmr+2) = klines(4)
330 kline(lmr+3) = klines(5)
335 IF (pgcnt.EQ.0)
GO TO 4000
337 temp = rdata(krx)*cnst(2)+a
340 IF (temp.LT.0.0) kline(klx) = khmns
341 GO TO (3300,3200,3100),nodig
343 kta = mod(ktemp,10000)/1000
346 ktb = mod(ktemp,1000)/100
349 ktc = mod(ktemp,100)/10
351 GO TO (3400,3500,3600),nodig
353 kline(klx+1) = khtbl(ktc+1)
354 kline(klx+2) = khtbl(ktd+1)
357 kline(klx+1) = khtbl(ktb+1)
358 kline(klx+2) = khtbl(ktc+1)
359 kline(klx+3) = khtbl(ktd+1)
362 kline(klx+1) = khtbl(kta+1)
363 kline(klx+2) = khtbl(ktb+1)
364 kline(klx+3) = khtbl(ktc+1)
365 kline(klx+4) = khtbl(ktd+1)
371 IF (jcurr.NE.0)
GO TO 4000
372 IF (imin.LT.(-25).OR.imin.GT.0)
GO TO 4000
374 IF (kx.LT.pgfst.AND.kx.GT.pgcnt+pgfst)
GO TO 4000
376 IF (kline(kx+1).EQ.khmns)
GO TO 3900
383 WRITE (output,8500) (klines(ii),ii=1,mxpg)
387 IF (kr.EQ.nrws)
GO TO 5700
393 IF (.NOT.lcntr)
GO TO 2400
400 IF (rwb(kk).LT.crmx.AND.rwc(kk).LT.crmx)
GO TO 4300
405 IF (rwa(kk).LT.crmx.AND.rwd(kk).LT.crmx)
GO TO 4400
409 vdjc(kk) = r32*(rwa(kk)+rwd(kk)-rwb(kk)-rwc(kk))
411 vdjb(kk) = r4*(rwc(kk)-rwb(kk)-con2*vdjc(kk))
418 vdjb(kk) = vdjc(kk) + vdjb(kk)
419 vdja(kk) = vdjb(kk) + vdja(kk)
424 IF (vdja(1).GE.crmx)
GO TO 4900
425 hdc = r50*(vdja(4)+vdja(1)-vdja(2)-vdja(3))
429 IF (vdja(kk+1).GE.crmx)
GO TO 5100
431 IF (vdja(kk+2).GE.crmx)
GO TO 5500
432 IF (vdja(kk+3).GE.crmx) hdc = 0.
433 hdb = r5*(vdja(kk+2)-vdja(kk+1)-15.*hdc)
436 kdb = iabs(mod(khda,kcow))
437 kline(kxb+1) = kalph(kdb+1)
442 kdb = iabs(mod(khda,kcow))
444 kline(kxa) = kalph(kdb+1)
446 hdc = r50*(vdja(kk+4)+vdja(kk+1)-vdja(kk+2)-vdja(kk+3))
447 IF (vdja(kk+4).GE.crmx) hdc = 0.
452 WRITE (output,8500) (klines(ii),ii=1,mxpg)
460 kdb = iabs(mod(khda,kcow))
461 kline(kxb+1) = kalph(kdb+1)
467 IF (linate.EQ.1)
WRITE (output,8300)
468 IF (linate.EQ.2)
WRITE (output,8400)
475 IF (linate.EQ.1)
WRITE (output,8300)
476 IF (linate.EQ.2)
WRITE (output,8400)
478 WRITE (output,8600) (title(ii),ii=1,lw)
480 IF (krloc(kclmx).EQ.kcmx)
RETURN
483 IF (imax.GT.pgmax)imax = imax-pgmax
485 pagnl = pagnl + pgmax
486 pagnr = pagnr + pgmax
493 IF (kra.GT.nrws)
GO TO 6800
498 IF (krfst-pagnl.LE.(-1))
GO TO 6400
499 pcfst = krfst-pagnl+1
500 IF (pcfst.GE.pagn3)
GO TO 6700
502 pccnt = min(pagnr-krfst+2,krcnt)
503 IF (pgfsta.EQ.0)
GO TO 6600
504 pgcnta = min(pagnr-krfst,krcnt)
505 IF (pgcnta.GT.0)
GO TO 6000
509 rect = krect.EQ.1.AND.pgcnta.LE.krcnt
511 IF (.NOT.lcntr)
GO TO kbr,(1800,2100,2200,4100,5800)
519 IF (pccnt.EQ.0)
GO TO kbr,(1800,2100,2200,4100,5800)
523 rwd(kpc) = rdata(kfx)*bc+adc
527 GO TO kbr,(1800,2100,2200,4100,5800)
533 pccnt = krfst+krcnt-pagnl+1
534 IF (pccnt.LT.pagn3)
GO TO 6500
539 IF (pccnt.GT.0)
GO TO 6600
545 pgcnta = min(pgmax,krcnt+krfst-pagnl)
564 lbl = min(imax,pgmax)
568 IF (ka.LT.0) kline(kk) = khmns
569 kta = iabs(mod(ka,100))/10
570 ktb = iabs(mod(ka,10))
571 ktc = iabs(mod(ka,1000))/100
572 IF (ktc .EQ. 0)
GO TO 7100
573 kline(kk+1) = khtbl(ktc+1)
574 kline(kk+2) = khtbl(kta+1)
575 kline(kk+3) = khtbl(ktb+1)
579 kline(kk+1) = khtbl(kta+1)
580 kline(kk+2) = khtbl(ktb+1)
587 WRITE (output,8500) (klines(ii),ii=1,mxpg)
589 GO TO kbr,(1800,2100,2200,4100,5800)