44 SUBROUTINE w3fp10(RDATA,KTBL,CNST,TITLE,KRECT,KCONTR,
85 CHARACTER*1 KLINE(126)
86 CHARACTER*1 KLINES(132)
89 equivalence(crmx,vdja(29))
90 equivalence(kline(1),klines(8))
91 equivalence(vdjc(1),rwa(1))
102 DATA kalfa /
'A',
' ',
'B',
' ',
'C',
' ',
'D',
' ',
'E',
' ',
'F',
103 &
' ',
'G',
' ',
'H',
' '/
110 DATA khtbl /
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9'/
114 DATA knumb /
'0',
' ',
'1',
' ',
'2',
' ',
'3',
' ',
'4',
' ',
115 &
'5',
' ',
'6',
' ',
'7',
' ',
'8',
' ',
'9',
' '/
120 8000
FORMAT (1h0,10x,44herror from
w3fp10 ... number of rows in your,
121 & 9h array = ,i4,24h which exceeds limit of ,i4)
124 8300
FORMAT ( 1h ,/,1h ,/,1h )
125 8400
FORMAT ( 1h ,/,1h )
131 IF (iwidth.GE.132.OR.iwidth.LE.0) pgmax = 25
132 IF (iwidth.GE.1.AND.iwidth.LE.22) pgmax = 3
133 IF (iwidth.GT.22.AND.iwidth.LT.132) pgmax = (iwidth-7) / 5
134 lw = (pgmax * 5 + 7) / 4
139 IF (linev .NE. 0)
THEN
165 kca = 2 * (1 - krect)
170 nodig = iabs(kcontr/10)
175 IF (nodig.LT.1 .OR. nodig.GT.3) nodig = 3
180 nconq = iabs(mod(kcontr,10))
181 IF (nconq .EQ. 0)
GO TO 400
182 IF (nconq .LE. 2)
GO TO 300
195 IF (nconq .NE. 2)
THEN
221 IF (ktbl(1 ).NE.(-1))
THEN
229 jmax = ktbl(3) + ktbl(1) - 1
231 IF (nrws .GT. limnrw)
THEN
232 WRITE (output,8000) nrws , limnrw
239 IF (ktbl(kc+4) + ktbl(kc+3).LE.kz )
GO TO 900
241 imax = ktbl(kc+4) + ktbl(kc+3)
243 kcmx = krloc(j) + ktbl(kc+4)
259 IF (nrws .GT. limnrw)
THEN
260 WRITE (output,8000) nrws , limnrw
264 jmax = ktbl(7) + ktbl(5) -1
267 krloc(j) = ktbl(2) * (ktbl(4)-nrws+j-1) + ktbl(kc+7) + 1
268 IF (ktbl(kc+7) + ktbl(kc+8).LE.kz)
GO TO 1400
269 imax = ktbl(kc+7) + ktbl(kc+8)
271 kcmx = krloc(j) + ktbl(kc+8)
274 IF (ktbl(kc+7).LT.kza) kza = ktbl(kc+7)
283 IF (.NOT.lcntr)
GO TO 1700
284 adc = (cnst(1) - cnst(4)) / cnst(3) + radj
285 bc = cnst(2) / cnst(3)
293 IF (linate.EQ.1)
WRITE (output,8100)
297 IF (linate.EQ.2)
WRITE (output,8200)
303 IF (.NOT.lcntr)
GO TO 2000
331 IF (imax.GT.pgmax-1)
GO TO 2300
345 ktb = mod(jcurr,100)/10
346 ktc = mod(jcurr,1000)/100
347 IF (kr .EQ. 1 .OR. (.NOT. lcntr))
GO TO 2500
351 IF (linate.EQ.1)
WRITE (output,8300)
352 IF (linate.EQ.2)
WRITE (output,8400)
357 IF (jcurr.LT.0) klines(2) = khmns
361 IF (ktc .EQ. 0)
GO TO 2700
362 klines(3) = khtbl(ktc+1)
363 klines(4) = khtbl(ktb+1)
364 klines(5) = khtbl(kta+1)
368 klines(3) = khtbl(ktb+1)
369 klines(4) = khtbl(kta+1)
376 IF (.NOT.done)
GO TO 3000
380 kline(lmr) = klines(2)
381 kline(lmr+1) = klines(3)
382 kline(lmr+2) = klines(4)
383 kline(lmr+3) = klines(5)
390 IF (pgcnt.EQ.0)
GO TO 4000
392 temp = rdata(krx) * cnst(2) + a
393 ktemp = abs(temp) + 0.5
395 IF (temp.LT.0.0) kline(klx) = khmns
396 GO TO (3300,3200,3100),nodig
398 kta = mod(ktemp,10000)/1000
401 ktb = mod(ktemp,1000)/100
404 ktc = mod(ktemp,100)/10
406 GO TO (3400,3500,3600),nodig
409 kline(klx+1) = khtbl(ktc+1)
410 kline(klx+2) = khtbl(ktd+1)
414 kline(klx+1) = khtbl(ktb+1)
415 kline(klx+2) = khtbl(ktc+1)
416 kline(klx+3) = khtbl(ktd+1)
420 kline(klx+1) = khtbl(kta+1)
421 kline(klx+2) = khtbl(ktb+1)
422 kline(klx+3) = khtbl(ktc+1)
423 kline(klx+4) = khtbl(ktd+1)
432 IF (jcurr.NE.0)
GO TO 4000
433 IF (imin.LT.(-25).OR.imin.GT.0)
GO TO 4000
435 IF (kx.LT.pgfst.AND.kx.GT.pgcnt+pgfst)
GO TO 4000
437 IF (kline(kx+1).EQ.khmns)
GO TO 3900
447 WRITE (output,8500) (klines(ii),ii=1,mxpg)
454 IF (kr.EQ.nrws)
GO TO 5700
462 IF (.NOT.lcntr)
GO TO 2400
473 IF (rwb(kk).LT.crmx.AND.rwc(kk).LT.crmx)
GO TO 4300
479 IF (rwa(kk).LT.crmx.AND.rwd(kk).LT.crmx)
GO TO 4400
484 vdjc(kk) = r32*(rwa(kk)+rwd(kk)-rwb(kk)-rwc(kk))
487 vdjb(kk) = r4*(rwc(kk)-rwb(kk)-con2*vdjc(kk))
498 vdjb(kk) = vdjc(kk) + vdjb(kk)
499 vdja(kk) = vdjb(kk) + vdja(kk)
506 IF (vdja(1).GE.crmx)
GO TO 4900
507 hdc = r50*(vdja(4)+vdja(1)-vdja(2)-vdja(3))
512 IF (vdja(kk+1).GE.crmx)
GO TO 5100
514 IF (vdja(kk+2).GE.crmx)
GO TO 5500
515 IF (vdja(kk+3).GE.crmx) hdc = 0.0
516 hdb = r5 * (vdja(kk+2) - vdja(kk+1) - 15.0 * hdc)
521 kdb = iabs(mod(khda,kcow))
522 kline(kxb+1) = kalph(kdb+1)
527 kdb = iabs(mod(khda,kcow))
529 kline(kxa) = kalph(kdb+1)
531 hdc = r50*(vdja(kk+4)+vdja(kk+1)-vdja(kk+2)-vdja(kk+3))
532 IF (vdja(kk+4).GE.crmx) hdc = 0.0
540 WRITE (output,8500) (klines(ii),ii=1,mxpg)
548 kdb = iabs(mod(khda,kcow))
549 kline(kxb+1) = kalph(kdb+1)
556 IF (linate.EQ.1)
WRITE (output,8300)
557 IF (linate.EQ.2)
WRITE (output,8400)
566 IF (linate.EQ.1)
WRITE (output,8300)
567 IF (linate.EQ.2)
WRITE (output,8400)
571 WRITE (output,8600) (title(ii),ii=1,lw)
575 IF (krloc(kclmx).EQ.kcmx)
RETURN
579 IF (imax.GT.pgmax) imax = imax - pgmax
581 pagnl = pagnl + pgmax
582 pagnr = pagnr + pgmax
590 IF (kra.GT.nrws)
GO TO 6800
591 krfst = ktbl(kc) - kza
595 IF (krfst-pagnl.LE.(-1))
GO TO 6400
596 pcfst = krfst - pagnl + 1
597 IF (pcfst.GE.pagn3)
GO TO 6700
599 pccnt = min(pagnr-krfst+2,krcnt)
600 IF (pgfsta.EQ.0)
GO TO 6600
601 pgcnta = min(pagnr-krfst,krcnt)
602 IF (pgcnta.GT.0)
GO TO 6000
607 rect = krect.EQ.1.AND.pgcnta.LE.krcnt
610 IF (.NOT.lcntr)
GO TO (1800,2100,2200,4100,5800) kbr
618 IF (pccnt.EQ.0)
GO TO (1800,2100,2200,4100,5800) kbr
621 rwd(kpc) = rdata(kfx) * bc + adc
625 GO TO (1800,2100,2200,4100,5800) kbr
631 pccnt = krfst + krcnt - pagnl + 1
632 IF (pccnt.LT.pagn3)
GO TO 6500
638 IF (pccnt.GT.0)
GO TO 6600
644 pgcnta = min(pgmax,krcnt+krfst-pagnl)
663 lbl = min(imax,pgmax)
667 IF (ka.LT.0) kline(kk) = khmns
668 kta = iabs(mod(ka,100)) / 10
669 ktb = iabs(mod(ka,10))
670 ktc = iabs(mod(ka,1000)) / 100
671 IF (ktc .EQ. 0)
GO TO 7100
672 kline(kk+1) = khtbl(ktc+1)
673 kline(kk+2) = khtbl(kta+1)
674 kline(kk+3) = khtbl(ktb+1)
678 kline(kk+1) = khtbl(kta+1)
679 kline(kk+2) = khtbl(ktb+1)
687 WRITE (output,8500) (klines(ii),ii=1,mxpg)
689 GO TO (1800,2100,2200,4100,5800) kbr