Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap5_198111 - decus/20-0137/bmd/bmdx93.for
There is 1 other file named bmdx93.for in the archive. Click here to see a list.
00100	C     COMMON/PTABLE/NPCNT
00200	      COMMON/OVERLY/NNNN
00300	      COMMON/BCDIN/INTAPE,KTYPE,FORMAT,LNTAPE,LUNIT,NUNIT,REWIND,XHEIT,
00400	     1 NAMP
00500	      COMMON/CALB/CAL(32)
00600	         DOUBLE PRECISION NAMCHN
00700	      COMMON/CHANEL/NAMCHN(32),NVU,NCODE,NPULS,NNV(32),IPRNT
00800	      COMMON/BRI/FILE(2),LONG,BCODE,HCODE,LENGTH,BPULSE,HPULSE,EXPNO,
00900	     1PSTART,PEND,TSTART,TEND,IDAY,IHR,IMIN,ISEC,SAMPRT,ISKIP
01000	      COMMON/XDATA/ICODE,IPOINT
01100	      COMMON/TABLE/ISCANC,INCODE,ISCANP,INPULS,FILID(2),NREC
01200	      COMMON/PTABLE/NPCNT,NPREC,NPLOC
01300	      LOGICAL IPRNT
01400	      INTEGER BCODE,HCODE,BPULSE,HPULSE,EXPNO,PSTART,PEND
01500	        INTEGER BCODEA,HCODEA,BPULSA,HPULSA
01600	C     INITIALIZATION
01700	      DIMENSION Q(10000),NAMPRO(9),A(19),NREGM(9),NREGV(9),TEMP(16),
01800	     1 ITEMP(16),F(9),TITLE(18,9),FORMAT(18,9),LUNIT(3,9),XAMFRQ(9)
01900	      DIMENSION NPLOC(400,2)
02000	      EQUIVALENCE (RBLANK,BLANK),(NBLANK,BLANK)
02100	      DATA KDIV/-1/
02200	      DATA NTOT/10000/
02300	      REAL LABL,NAMCH,NAME
02400	      INTEGER BRI,BCD,BIN
02500	      DATA NAMPRO/9*'    '/,PROB/'PROB'/,NAMCH/'NAMC'/,TITL/'TITL'/,
02600	     1     PARAM/'PARA'/,POSITN/'POSI'/,FINISH/'FINI'/,BRI/'BRI '/
02700	      DATA NPROB/0/,JNAMCH/0/,NBLANK/'    '/,NREG/1/
02800	      DOUBLE PRECISION NULL,NCADE,NSTIM,RBLANK
02900	      DATA NULL/'NULL    '/,NCADE/'CODE    '/,NSTIM/'STIM    '/,
03000	     1RBLANK/'        '/
03100	       DATA NPULSA,NPULSB/0,0/
03200	      DATA NAME/'NAME'/,FORM/'FORM'/
03300	      DATA IDP/1/,IDG/5/,INPTYP/'BRI '/,TPULS/1.0/,NOPULS/1/,NALYS/1/,
03400	     1  BLANK/'    '/
03500	      SAMPRT=256.
03600		CALL USAGEB('BMDX93')
03700	      DATA IO/-1/,IOB/-1/,NOVFMT/1/
03800	      DATA FMAX/9999./,XCODE/ 0.0/,XPULSE/ 0.0/
03900	      DATA CALIB/'CALI'/,BCD/'BCD '/,BIN/'BIN '/,YES/'YES '/
04000	      FILE(1)=BLANK
04100	      FILE(2)=BLANK
04200	      ISKIP=2
04300	      LABL=NBLANK
04400	      NNNN=0
04500	      INVALD=0
04600	      NVU=0
04700	      NCODE=0
04800	      KTYPE=0
04900	      HPULSE=0
05000	      INTAPE=5
05100	       LONG=30
05200	      LENGT1=1
05300	      LENGT2=2
05400	       BPULSE=0
05500	       DO 8 J=1,9
05600	      XAMFRQ(J)=0.
05700	       DO 8 I=1,3
05800	    8  LUNIT(I,J)=0
05900	      DO 9 I=1,32
06000	    9 CAL(I)=1.0
06100	      BCODE=0
06200	      NUNIT=0
06300	      HCODE=100
06400	      NPCNT=0
06500	      INTAPE=5
06600	C NNV(I)=1 IF CHAN IS USED, =0 IF NOT USED
06700	C NVU      NO OF CHANNELS USED
06800	C NV       NO OF CHANNELS ON TAPE
06900	C NAMPRO   NAMES OF PROBLEMS
07000	C PROB     ALPHA PROB
07100	C NAMCH    ALPHA NAME
07200	C TITLE    ALPHA TITL
07300	C FORMAT   ARRAY WHICH CONTAINS VARIABLE INPUT FORMAT
07400	C PARAM    ALPHA PARA
07500	C REWIND   ''NO''=INPUT TAPE IS NOT TO BE REWOUND FOR THIS PROBLEM
07600	C POSITN   ALPHA POSI
07700	C NPROB    NUMBER OF PROBLEMS BEING EXECUTED
07800	C JNAMCH   ZERO IF NO NAMCH CARD EXISTS, ONE OTHERWISE
07900	C A        STORAGE AREA TO SAVE PROBLEM CARDS
08000	C FINISH   ALPHA FINI
08100	C NBLANK   ALPHA BLANK
08200	C NAMP     NAME OF PROBLEM BEING READ IN
08300	C LUNIT    ARRAY WHICH KEEPS TRACK OF SCAN POSITIONING AND NO. OF PULSES
08400	C PROBLM
08500	C NUNIT    COUNTER FOR THE NUMBER OF DIFFERENT UNITS USED.
08600	C IDP      DECIMATION FOR PRINTING
08700	C IDG      DECIMATION FOR GRAPH
08800	C INTAPE   LOGICAL INPUT TAPE IF NOT BRI INPUT
08900	C INPTYP   TYPE OF INPUT
09000	C LNTAPE   CONTAINS LAST INPUT UNIT READ IN OFF PARAM CARD.
09100	C TPULSE   TIME FROM PULSE TO END OF ANALYSIS(TIME BASE)
09200	C NOPULS   NUMBER OF PULSE CHANNELS
09300	C IPULSA   FIRST PULSE CHANNEL
09400	C IPULSB   SECOND PULSE CHANNEL
09500	C NALYS    TYPE OF ANALYSIS, 1 IF SINGLE CLICK, 2 IF PAIRED CLICK
09600	C SAMPRT   SAMPLING RATE
09700	C NVUA     NUMBER OF GOOD CHANNELS
09800	C NVA      TOTAL NUMBER OF CHANNELS
09900	C NDEL     1 IF END OF PROBLEM, 0 IF OTHERWISE
10000	C JANAL    PROBLEM CURRENTLY BEING ANALYSED
10100	C NREG     NEXT REGION IN Q TO BE USED
10200	C NREGM    WHERE THE MEANS BEGIN FOR EACH PROBLEM
10300	C NREGV    WHERE THE VARIANCES BEGIN FOR EACH PROBLEM
10400	C TEMP     PARAMETERS FOR POSIT
10500	C ITEMP    PARAMETERS FOR POSIT
10600	C IERROR   ERROR RETURN FROM POSIT
10700	C NSCAN    NUMBER OF SCANS IN TIME BASE
10800	C MPULSE   0 TO ANALYSE ON FIRST CHANNEL,1 TO ANALYSE ON SECOND CHANNEL
10900	C NTEMPM   INDICES FOR STORING DATA
11000	C F        NUMBER OF POINTS OR OBSERVATIONS(PULSES) IN SUMMATION
11100	C F        NUMBER OF POINTS IN A SUMMATION
11200	C KTYPE    0=BRI DIGITIZED INPUT, 1=BCD INPUT, 2=BINARY INPUT
11300	C NOVFMT   NUMBER OF INPUT VARIABLE FORMAT CARDS
11400	C IPRNT    .TRUE.=STANDARD POSITIONING PRINTOUT,.FALSE.=DEBUG PRINTOUT
11500	C     GENERAL READ STATEMENT
11600	   10 IF(LABL.EQ.FINISH)GO TO 80
11700	      READ (5,1010,END=300) LABL,A
11800	 1010 FORMAT (20A4)
11900	 1013 REWIND 1
12000	      WRITE (1,1010) LABL,A
12100	      REWIND 1
12200	C     CALL USEBUF
12300	      IF(LABL.EQ. FINISH) GO TO 80
12400	C     IF (LABL.EQ.NAMCH) GO TO 60
12500	      IF(LABL.EQ. PROB  ) GO TO 20
12600	      IF (INVALD .EQ.1) GO TO 10
12700	      IF (NPROB.EQ.0) WRITE (6,1015) LABL,A
12800	 1015 FORMAT (' FIRST PROBLEM, A CARD OTHER THAN A PROBLEM CARD=',20A4)
12900	      IF (LABL.EQ.NAMCH.OR.LABL.EQ.NAME) GO TO 60
13000	       IF(LABL.EQ.TITL)GO TO 70
13100	      IF(LABL.EQ. PARAM ) GO TO 30
13200	      IF(LABL.EQ. POSITN) GO TO 30
13300	      IF (LABL.EQ.FORM) GO TO 95
13400	      IF(LABL.EQ.CALIB)GO TO 85
13500	C     IF LABEL DOES NOT MATCH,WE GO TO NEXT PROBLEM
13600	      WRITE (6,1011) LABL,A
13700	 1011 FORMAT (' THE FOLLOWING CARD WAS IMPROPERLY PUNCHED'//1X,20A4/
13800	     1 '0THE NEXT CARDS LISTED WERE NOT EXECUTED'/'0WE WILL CONTINUE AT
13900	     2 THE NEXT PROBLEM')
14000	      INVALD =1
14100	C     NPROB=0
14200	C     DO 15 I=1,9
14300	C  15 NAMPRO(I)=NBLANK
14400	C     READ (5,1010) LABL,A
14500	      GO TO 10
14600	   20 NPROB=NPROB+1
14700	      INVALD =0
14800	C     READ PROBLEM CARD
14900	      READ (1,1020,END=310) LABL,NAMPRO(NPROB),SAMPRA,NVUA,NVA,TPULSA,
15000	     1 NOPULA,IPULAA,IPULBA,NALYSA,IDPA,IDGA,INPTYA,MAXF,IOA,IOBA
15100	     2,KDIVA,OTRACE
15200	 1020 FORMAT (2A4,F5.0,2I2,F5.0,6I2,A3,I5,3I2,A3)
15300	      IF(MAXF.GT.0)FMAX=MAXF-.5
15400	      XAMFRQ(NPROB)=FMAX
15500	      IF (NPROB.NE.1) GO TO 2020
15600	      LENGTH=LENGT1
15700	      IF (INPTYA.EQ.NBLANK.OR.INPTYA.EQ.INPTYP) LENGTH=LENGT2
15800	 2020 IF (KDIVA.NE.0) KDIV=KDIVA
15900	      IF(SAMPRA.GT.0)SAMPRT=SAMPRA
16000	      IF(NVUA.GT.0)NVU=NVUA
16100	      IF(NVA.GT.0)NV=NVA
16200	      IF(TPULSA.GT.0)TPULS=TPULSA
16300	      IF(NOPULA.GT.0)NOPULS=NOPULA
16400	      IPRNT=.FALSE.
16500	      IF (OTRACE.EQ.YES) IPRNT=.TRUE.
16600	      IF (IPULAA.GT.0)NPULSA=IPULAA
16700	      IF(IPULBA.GT.0)NPULSB=IPULBA
16800	      IF (IOA.NE.0) IO=IOA
16900	      IF (IOBA.NE.0) IOB=IOBA
17000	      IF(NALYSA.GT.0)NALYS=NALYSA
17100	 1022 FORMAT (' WARNING--COLS. 58-62 ON PROB CARD ARE ZERO AND INPUT DAT
17200	     1A FROM CARDS, THIS MAY CAUSE TROUBLE'/' WILL READ UNTIL END OF FIL
17300	     2E')
17400	      IF(IDPA.GT.0)IDP=IDPA
17500	      IF(IDGA.GT.0)IDG=IDGA
17600	      IF (INPTYA.NE.NBLANK) INPTYP=INPTYA
17700	      KTYPE=0
17800	      IF (INPTYP.EQ.BCD) KTYPE=1
17900	      IF (INPTYP.EQ.BIN) KTYPE=2
18000	      IF(NOPULS.EQ.2.AND.NPULSB.LE.0)GO TO 90
18100	      IF(NALYS.EQ.2.AND.NOPULS.NE.2)GO TO 90
18200	      IA=NREG
18300	       NSCAN=TPULS*SAMPRT
18400	      NREGM(NPROB)=NREG
18500	      NREGV(NPROB)=NREG+NSCAN*NVU
18600	      NREG=NREG+2*NSCAN*NVU
18700	      IF(NALYS.EQ.2.AND.NREG+NSCAN*NVU.GT.NTOT)GO TO 22
18800	      IF(NREG.LT.NTOT)GO TO 123
18900	   22 CONTINUE
19000	      WRITE(6,1023)NAMPRO(NPROB),NREG,NTOT
19100	 1023 FORMAT('1THE SPACE REQUIRED FOR PROBLEM',A6,'  IS',I7,'  LOCATIONS
19200	     1, BUT ONLY',I7,  '  LOCATIONS ARE AVAILABLE'/'0REDUCE PROBLEM SIZE
19300	     2 '/'0THIS PROBLEM WILL BE SKIPPED'/)
19400	      NAMPRO(NPROB)=NBLANK
19500	      NPROB=NPROB-1
19600	      NREG=IA
19700	  123 CONTINUE
19800	      F(NPROB)=0.0
19900	      DO 23 I=IA,NREG
20000	   23 Q(I)=0.0
20100	      DO 24 I=1,18
20200	   24 TITLE(I,NPROB)=BLANK
20300	      GO TO 10
20400	   30 CONTINUE
20500	      CALF=1.0
20600	      IF (NCODE.EQ.0)  GO TO 87
20700	      IF (CAL(NCODE).EQ.0.)CAL(NCODE)=1.0
20800	      CALF=CAL(NCODE)
20900	   87 DO 86 I=1,16
21000	      IF (CAL(I).EQ.0.) CAL(I)=CALF
21100	   86 CONTINUE
21200	C     READ PARAM OR POSITION CARD
21300	      READ (1,1030)LABL,LONGA,BCODEA,XCODEA,LENGTA,BPULSA,XPULSA,EXPNO,
21400	     1PSTART,PEND,TSTART,TEND,IDAY,IHR,IMIN,ISEC,NAMP,NDEL,INTAPA,NVFMTA
21500	     2,REWIND,NCSTOP
21600	 1030 FORMAT(A4,2X,I3,I5,F5.0,2I3,F5.0,3I3,2F7.0,I3,3I2,A4,I1,2I2,A3,I5)
21700	      LBEGIN=PSTART
21800	      IF (KTYPE.NE.0) GO TO 430
21900	      HCODEA=XCODEA
22000	      HPULSA=XPULSA
22100	  430 IF (NVFMTA.GT.0) NOVFMT=NVFMTA
22200	      LNTAPE=INTAPE
22300	      IF (INTAPA.GT.0) INTAPE=INTAPA
22400	      IF (INTAPE.EQ.5.AND.NCSTOP.EQ.0.AND.KTYPE.EQ.1) WRITE (6,1022)
22500	      AMAXF=PEND-PSTART+1.
22600	      IF (MAXF.EQ.0) FMAX=AMAXF-0.5
22700	      IF(NPROB.EQ.0)GO TO 33
22800	      DO 32 I=1,NPROB
22900	      IF(NAMP.NE.NAMPRO(I)) GO TO 32
23000	      JANAL=I
23100	       GO TO 31
23200	   32 CONTINUE
23300	   33 WRITE(6,1033)NAMP
23400	 1033 FORMAT('1PARAM CARD FOUND WITH FOLLOWING NAME' A6,/
23500	     1 '0THE CARD WILL BE IGNORED')
23600	        GO TO 10
23700	   31 CONTINUE
23800	      IF (XAMFRQ(JANAL).GT.FMAX) FMAX=XAMFRQ(JANAL)
23900	      IF (IPRNT) WRITE (6,2134)
24000	 2134 FORMAT (1H ,10(1H*),104HNOTE--COMPLETE POSITIONING AND TRACING PRI
24100	     1NTOUT REQUESTED (USE THIS SPARINGLY TO AVOID EXCESSIVE OUTPUT),
24200	     2 10(1H*))
24300	       IF(LONGA.NE.0)LONG=LONGA
24400	         IF(BCODEA.NE.0)BCODE=BCODEA
24500	      IF (XCODEA.NE.0) XCODE=XCODEA
24600	         IF(HCODEA.NE.0)HCODE=HCODEA
24700	      IF (XPULSA.NE.0) XPULSE=XPULSA
24800	      IF(LENGTA.NE.0)LENGTH=LENGTA
24900	      IF(BPULSA.NE.0)BPULSE=BPULSA
25000	      IF(HPULSA.NE.0)HPULSE=HPULSA
25100	      IF (KTYPE.EQ.0) WRITE (6,1031) LONG,BCODE,HCODE,LENGTH,BPULSE,
25200	     1 HPULSE,EXPNO,PSTART,PEND,TSTART,TEND,IDAY,IHR,IMIN,ISEC,NAMP,NDEL
25300	 1031 FORMAT
25400	     X(11X,'LONG = ',I3,'  BCODE = ',I5,'  HCODE = ',I5,'  LENGTH = ',I3
25500	     X/11X,'BPULSE = ',I3,'  HPULSE = ',I5,'  EXPNO = ',I3
25600	     X/11X,'PSTART = ',I3,'  PEND = ',I3,'  TSTART = ',F7.3,'  TEND = '
25700	     X,F7.3/11X,'IDAY = ',I3,'  IHR = ',I2,'  IMIN = ',I2,'  ISEC = ' ,
25800	     XI2,'  PROBLEM  'A4,'  END  'I2)
25900	      NCNT=0
26000	      ISCANA=0
26100	      NSTOP=TEND*SAMPRT
26200	      NPULS=NPULSA
26300	      XHEIT=XCODE
26400	      IF(FMAX.LT.F(JANAL))GO TO 43
26500	C     IF(PSTART.GT.0.AND.TSTART.EQ.0)PSTART=1
26600	      IF (KTYPE.NE.0) GO TO 35
26700	      IF(PSTART.GT.0.AND.TSTART.EQ.0.)GO TO 35
26800	      IF (KTYPE.EQ.0) CALL PICKLS
26900	      IF (IERROR.GT.0)STOP
27000	  133 ISCANA=NNNN
27100	      TSTART=0.0
27200	      PSTART=NPCNT+1
27300	   35 CONTINUE
27400	      IF (LBEGIN.EQ.PSTART) GO TO 2435
27500	      LNTAPE=INTAPE
27600	      IF ((NNNN+1).GT.NCSTOP.AND.INTAPE.EQ.5.AND.NCSTOP.GT.0) GO TO 43
27700	      IF (NALYS.EQ.1.AND.PEND.GT.0.AND.NPCNT.GE.PEND) GO TO 43
27800	      REWIND=0.0
27900	 2435 IREG=NREG
28000	      IF (KTYPE.EQ.0) CALL PICKLS
28100	      IF (KTYPE.NE.0) CALL FPULSE (NV,PSTART,TSTART,SAMPRT,NPULS,LENGTH,
28200	     1      IPRNT,NERROR)
28300	C     IF (IERROR.GT.0) STOP
28400	      IF (NERROR) 43,236,93
28500	  236 IF (LABL.EQ.POSITN) GO TO 10
28600	      IF (NPCNT.EQ.LBEGIN) WRITE (6,2236) LBEGIN
28700	 2236 FORMAT (1H ,10(1H*),'BEGINNING ANALYSIS ON PULSE NUMBER',I3,10(1H*
28800	     1))
28900	      IF (NVU.EQ.0)GO TO 91
29000	C     TSTART=0
29100	      IF (ISCANA.EQ.0) ISCANA=NNNN
29200	      NSTOPB=NSTOP-NNNN+ISCANA
29300	      IF (TEND.GT.0.0.AND.NSTOPB.LE.0.AND.KTYPE.EQ.0) GO TO 43
29400	      IF ((NNNN+NSCAN).GT.NCSTOP.AND.NCSTOP.GT.0) GO TO 43
29500	      NTEMPM=NREGM(JANAL)
29600	      NTEMPV=NREGV(JANAL)
29700	      F(JANAL)=F(JANAL)+1.0
29800	      DO 140 II=1,NSCAN
29900	      GO TO (237,238),KTYPE
30000	      CALL PICKLS
30100	          IF(IFSTOP.GT.0)GO TO 42
30200	      GO TO 250
30300	  237 READ (INTAPE,FORMAT,END=42) (TEMP(I),I=1,NV)
30400	      IF(TEMP(1).EQ.-1.)GO TO 42
30500	      NNNN=NNNN+1
30600	      GO TO 240
30700	  238 READ (INTAPE,END=42) (TEMP(I),I=1,NV)
30800	      NNNN=NNNN+1
30900	  240 I=1
31000	      DO 245 K=1,NV
31100	      IF (NNV(K).NE.1) GO TO 245
31200	      TEMP(I)=TEMP(K)
31300	      I=I+1
31400	  245 CONTINUE
31500	C     IF (NVU.NE.I-1) PRINT 246, I,NVU
31600	C 246 FORMAT (' LOGICA MISTAKE IN CALUULATING NO. OF VARS. USED, NVU=',
31700	C    1 I5,' I=',I5)
31800	  250 IF (NALYS.EQ.1) GO TO 37
31900	      IF (NPULSB.EQ.NPULS) GO TO 36
32000	       DO 134 I=1,NVU
32100	      Q(IREG)=TEMP(I)
32200	  134 IREG=IREG+1
32300	       GO TO 140
32400	   36 DO 135 I=1,NVU
32500	      TEMP(I)=TEMP(I)-Q(IREG)
32600	  135 IREG=IREG+1
32700	   37 DO 39 J=1,NVU
32800	      D=TEMP(J) - Q(NTEMPM)
32900	      Q(NTEMPM)= Q (NTEMPM)+ D/F(JANAL)
33000	      Q(NTEMPV)= Q (NTEMPV)+ D*(TEMP(J)-Q(NTEMPM))
33100	      NTEMPM=NTEMPM+1
33200	      NTEMPV=NTEMPV+1
33300	   39 CONTINUE
33400	  140 CONTINUE
33500	      IF (NOPULS.EQ.1) GO TO 40
33600	      IF(NPULSA.EQ.NPULS) GO TO 38
33700	      NPULS=NPULSA
33800	      XHEIT=XCODE
33900	      GO TO 40
34000	   38 NPULS=NPULSB
34100	      XHEIT=XPULSE
34200	       IF(NALYS.EQ.2)F(JANAL)=F(JANAL)-1.0
34300	   40 CONTINUE
34400	  150 PSTART=PSTART+1
34500	      IF(PSTART.GT.NPCNT)GO TO 160
34600	      IF(NREC.GT.NPLOC(PSTART,1))GO TO 150
34700	      IF(IPOINT.GT.NPLOC(PSTART,2))GO TO 150
34800	  160 CONTINUE
34900	      IF(FMAX.LT.F(JANAL))GO TO 43
35000	C     IF (PEND.GT.0.AND.PEND.GE.NPCNT) GO TO 43
35100	      GO TO 35
35200	   42 F(JANAL)=F(JANAL)-1.0
35300	   43 IF (INTAPE.NE.5.OR.NNNN.GE.NCSTOP) GO TO 44
35400	      NX=NNNN+1
35500	      IF(NSTOP.NE.0)GO TO 2042
35600	 2046 READ(5,FORMAT,ERR=44,END=44)
35700	      GO TO 2046
35800	 2042 DO 2044 I=NX,NCSTOP
35900	 2044 READ (5,FORMAT)
36000	   44 IF (NDEL.EQ.0) GO TO 10
36100	      WRITE (6,2043) PEND
36200	 2043 FORMAT (1H ,10(1H*),'END ANALYSIS BEFORE PULSE NUMBER',I3,10(1H*))
36300	      WRITE (6,999)
36400	  999 FORMAT('1',20X,'BMDX93..........TIME-LOCKED AVERAGING PROGRAM'//
36500	     1 25X,'(WITH INPUT TO BMD05D)'//
36600	     2  25X,'HEALTH SCIENCES CONPUTING FACILITY'//
36700	     325X,'REVISED JUNE 24, 1968')
36800	      WRITE (6,1032) (TITLE(I,JANAL),I=1,18)
36900	 1032 FORMAT (/T10,'THE TITLE IS'/T20,18A4//)
37000	      IF (MAXF.EQ.0) MAXF=FMAX+0.5
37100	      WRITE(6,998)(I,NAMCHN(I),CAL(I),I=1,NV)
37200	  998 FORMAT('0',T10,'CHAN NO',T20,'NAME',T30,'CALIBRATION FACTOR'/
37300	     1(T15,I2,T20,A8,T32,F7.2))
37400	      WRITE(6,1034)NAMPRO(JANAL),SAMPRT,NV,NVU,TPULS,NOPULS,NPULSA,NPUL
37500	     1SB,IO,IOB,NALYS,IDP,IDG,INPTYP,MAXF,KDIV
37600	 1034 FORMAT(//
37700	     1       T10,'NAME OF PROBLEM'T50,A4/T10,'SAMPLING RATE'T47,F7.2/ T1
37800	     10,'NUMBER OF VARIABLES'T50,I4/T10,'NUMBER OF VARIABLES ANALYZED'T5
37900	     A0
38000	     2,I4/T10,'TIME BASE'T48,F6.3/T10,'NUMBER OF PULSE CHANNELS'T50,I4/T
38100	     320,'VARIABLES'I4,'  AND'I4/T10,'OUTPUT UNIT FOR 05D CARDS'T50,I4/T
38200	     410,'OUTPUT UNIT FOR DATA'T50,I4/T10,'METHOD OF ANALYSIS'T50,I4/T10
38300	     5,'DECIMATION FOR PRINTER'T50,I4/T10,'DECIMATION FOR PLOT'T50,I4/T1
38400	     60,'TYPE OF INPUT',T51,A3/T10,'MAX. NUMBER OF CASES IN ANY AVERAGE'
38500	     7,T49,I5/T10,'NO. OF GROUPS THE AVERAGES SPLIT INTO',T50,I4)
38600	      IF (KTYPE.NE.0) WRITE (6,1133) INTAPE,NVFMTA
38700	 1133 FORMAT (T10,'LOGICAL UNIT FOR INPUT DATA',T50,I4/T10,'NUMBER OF IN
38800	     1PUT VARIABLE FORMAT CARDS',T50,I4)
38900	      IF (KTYPE.NE.0.AND.INTAPE.EQ.5) WRITE (6,1134) NCSTOP
39000	 1134 FORMAT (T10,'NUMBER OF CARDS INPUT THIS PROBLEM',       T50,I4)
39100	      CALL OUTPUT (Q(NREGM(JANAL)),Q(NREGV(JANAL)),NSCAN,NVU,IDP,IO,
39200	     1 F(JANAL),NAMPRO(JANAL),IDG,SAMPRT,IOB,TITLE(1,JANAL),KDIV)
39300	C     WE DELETE THE SPACE ASSIGNED TO THE PROBLEM
39400	      NPROB=NPROB-1
39500	      NREGD=2*(NREGV(JANAL)-NREGM(JANAL))
39600	      NREG=NREG-NREGD
39700	      IF (JANAL.GT.NPROB) GO TO 10
39800	      IA=NREGM(JANAL)-1
39900	      DO 45 I=1,NREGD
40000	   45 Q(IA+I)=Q(I+IA+NREGD)
40100	      DO 46 I=JANAL,NPROB
40200	      F(I)=F(I+1)
40300	      NAMPRO(I)=NAMPRO(I+1)
40400	       NREGM(I)=NREGM(I+1)-NREGD
40500	   46 NREGV(I)=NREGV(I+1)-NREGD
40600	      DO 47 I=JANAL,NPROB
40700	      DO 47 J=1,18
40800	   47 TITLE(J,I)=TITLE(J,I+1)
40900	      GO TO 10
41000	   60 JNAMCH=1
41100	      IF (LABL.EQ.NAME) GO TO 61
41200	C     READ NAMCHN CARD
41300	      READ (1,1060) (NAMCHN(I),I=1,NV)
41400	 1060 FORMAT (6X,16A4)
41500	      GO TO 1064
41600	   61 READ (1,1062) (NAMCHN(I),I=1,NV)
41700	 1062 FORMAT (6X,8A8)
41800	 1064 DO 62 I=1,32
41900	   62 NNV(I)=0
42000	      NCODE=0
42100	      J=0
42200	      DO 63 I=1,NV
42300	      NNV(I)=1
42400	       J=J+1
42500	      IF(NAMCHN(I).NE.RBLANK.AND.NAMCHN(I).NE.NULL.AND.NAMCHN(I).NE.
42600	     1 NSTIM.AND.NAMCHN(I).NE.NCADE)GO TO 63
42700	      J=J-1
42800	      NNV(I)=0
42900	      IF(NAMCHN(I).EQ.NCADE)NCODE=I
43000	   63 CONTINUE
43100	      NVU=MIN0(NVU,J)
43200	      GO TO 10
43300	  300 WRITE (6,301) LABL, A
43400	  301 FORMAT (' END OF FILE ENCOUNTERED WHILE READING CONTROL CARDS, THE
43500	     1 LAST CARD READ WAS'/1X,20A4)
43600	      STOP
43700	   70 CONTINUE
43800	C     READ TITLE CARD
43900	      READ (1,1070,END=310) LABL,NAMP,(A(I),I=1,18)
44000	 1070 FORMAT (20A4)
44100	      DO 72 I=1,NPROB
44200	      IF(NAMP.NE.NAMPRO(I)) GO TO 72
44300	      DO 71 J=1,18
44400	   71 TITLE(J,I)=A(J)
44500	      GO TO 10
44600	  310 WRITE (6,311) LABL
44700	  311 FORMAT (' END OF FILE ENCOUNTERED WHILE READING UNIT 1 FOR FORMAT
44800	     1CONVERSION, LAST LABEL READ WAS',A5)
44900	      STOP
45000	   72 CONTINUE
45100	      WRITE(6,1072) NAMP,A
45200	 1072 FORMAT('1THE FOLLOWING TITLES CARD DID NOT CORRESPOND TO ANY
45300	     1KNOWN PROBLEM'/'0NAME=',A6, '  TITLE IS',2X,18A4,/' THE CARD
45400	     2WILL BE IGNORED')
45500	      GO TO 10
45600	   80 CONTINUE
45700	C     IF FINISH CARD IS READ
45800	      IF(NPROB.GT.0)GO TO 82
45900	      IF(INPTYP.EQ.BRI) CALL PICKLS
46000	      WRITE (6,1080)
46100	 1080 FORMAT('1FINISH CARD READ,PROBLEM TERMINATED' /1X)
46200	      WRITE (IO,1090)
46300	 1090 FORMAT('FINISH',T80,'5')
46400	      STOP
46500	   82 JANAL=NPROB
46600	      GO TO 44
46700	   85 READ (1,1085) (CAL(I),I=1,NV)
46800	 1085 FORMAT (6X,16F4.0)
46900	       GO TO 10
47000	   90 WRITE(6,1091)NAMPRO(NPROB)
47100	 1091 FORMAT('1',10X,'THE NUMBER OF PULSE CHANNELS FOR PROBLEM' A6,
47200	     1 '   IS INCORRECT'/20X,'THIS PROBLEM WILL BE SKIPPED')
47300	      NPROB=NPROB -1
47400	      GO TO10
47500	   91 WRITE(6,1092)
47600	 1092 FORMAT('1THE NUMBER OF CHANNELS TO BE ANALYSED IS ZERO,'/
47700	     1 '0CHECK THAT A CORRECT NAMC CARD PRECEDES THE PARA CARD OR THAT
47800	     1NUMBER OF CHANNELS TO BE ANALYSED WAS SPECIFIED ON  PROB CARD'/
47900	     2 '0THIS JOB IS TERMINATED')
48000	   93 IF (INPTYP.EQ.BRI) CALL PICKLS
48100	      STOP
48200	   95 CONTINUE
48300	C   READ VARIABLE FORMAT CARD(S)
48400	      I=1
48500	   98 READ (1,1070,END=310) LABL,(FORMAT(J,I),J=1,19)
48600	      READ (5,1010,END=300) LABL,A
48700	      IF (LABL.NE.FORM) GO TO 1013
48800	      I=I+1
48900	      GO TO 98
49000	      END
49100	      SUBROUTINE PICKLS
49200	      WRITE(6,1)
49300	1     FORMAT(' THIS IS THE SUBROUTINE THAT WAS MISSING FROM THE ' /
49400	     1'ORIGINAL LISTING. I THINK IT IS THE SAME AS THE SUBROUTINE '/
49500	     2'POSIT FROM BMDX92,WHICH IS MERELY AN ERROR ROUTINE.')
49600	      RETURN
49700	      END
49800	      SUBROUTINE OUTPUT (XMEAN,VAR,N,NVAR,IDP,IO,F,NAME,IDG,SAMPRT,IOB,
49900	     1  TITLE,KDIV)
50000	         DOUBLE PRECISION NAMCHN
50100	        COMMON/CHANEL/NAMCHN(32),NVU,NCODE,NPULS,NNV(32)
50200	      COMMON/CALB/CAL(32)
50300	       DIMENSION TITLE(14)
50400	      DIMENSION XMEAN(NVAR,N),VAR(NVAR,N),VAL(32),VALV(32),VALVA(32),
50500	     1VALVB(32)
50600	      DIMENSION XX(10)
50700	      IF(IDP.EQ.0)IDP=1
50800	      IF (IOB.LE.0) GO TO 2005
50900	      WRITE (6,2010) IOB
51000	      DO 2001 I=1,N
51100	      DO 2002 K=1,NVAR
51200	 2002 VAL(K)=SQRT(VAR(K,I))
51300	                    WRITE (IOB,2000) (XMEAN(J,I),VAL(J),J=1,NVAR)
51400	 2000 FORMAT (30A4)
51500	 2001 CONTINUE
51600	 2005 CONTINUE
51700	      DP=IDP
51800	       SAMPRA=SAMPRT/DP
51900	 2010 FORMAT (   //' REQUEST FOR OUTPUT OF MEANS AND STANDARD DEVIATIONS
52000	     1 TO BE WRITTEN ON LOGICAL UNIT',I3/' THIS DATA IS WRITTEN AS MEAN
52100	     2AND ST. DEV. FOR EACH CHANNEL ANALYZED FOR EACH SCAN, USING (20A4)
52200	     3 FORMAT')
52300	      IDIFF=(N+9)/10
52400	      IF (N.LE.10*IDP) IDIFF=IDP
52500	      DO 4 I=1,10
52600	    4 XX(I)=(I-1)*IDIFF/SAMPRT
52700	      LL=0
52800	      DO 11 M=1,NVAR
52900	    5 LL=LL+1
53000	       IF(NNV (LL).EQ.0)GO TO 5
53100	      WRITE(6,1000)NAME
53200	 1000 FORMAT('1',T20,'PRINTOUT OF MEANS FOR PROBLEM'2X,A4)
53300	      WRITE(6,1001)(TITLE(I),I=1,14)
53400	 1001 FORMAT(T20,'TITLE---'20A4     )
53500	      WRITE(6,1002)LL,NAMCHN(LL),F,IDP
53600	 1002 FORMAT(T20,'VARIABLE',T49,I2,1X,A6,/,T20,'NUMBER OF SCANS PER
53700	     1 AVERAGE',T52,F6.0,/,T20,'DECIMATION FOR PRINTER',T57,I2)
53800	      WRITE(6,998)(XX(I),I=1,10)
53900	  998 FORMAT(/'   TIME',T13,10F12.5/)
54000	      DPA=DP*CAL(LL)
54100	      DO 10 I=1,IDIFF,IDP
54200	      L=0
54300	      DO 9J=I,N,IDIFF
54400	      L=L+1
54500	      VAL(L)=0.0
54600	      DO 8 K=1,IDP
54700	    8 VAL(L)=VAL(L)+XMEAN (M,J+K-1)
54800	    9 VAL(L)=VAL(L)/DPA
54900	      X=(I-1)/(SAMPRA*IDP)
55000	      WRITE(6,1009)X,(VAL(II),II=1,L)
55100	 1009 FORMAT(11F12.5)
55200	   10 CONTINUE
55300	   11 CONTINUE
55400	      IF(F.LT.1.5)RETURN
55500	      LL=0
55600	      DO 21 M=1,NVAR
55700	   15 LL=LL+1
55800	      IF(NNV(LL).EQ.0)GO TO 15
55900	      WRITE(6,1020)NAME
56000	 1020 FORMAT('1',  T20,'PRINTOUT OF STANDARD DEVIATIONS OF AN OBSERVATIO
56100	     1N FOR PROBLEM' 2X,A4)
56200	      WRITE(6,1001)(TITLE(I),I=1,14)
56300	      WRITE(6,1002)LL,NAMCHN(LL),F,IDP
56400	      WRITE(6,998)(XX(I),I=1,10)
56500	      DPA=(CAL(LL)**2)*DP*(F-1.0)
56600	       DO 30 I=1,IDIFF,IDP
56700	      L=0
56800	      DO 29 J=I,N,IDIFF
56900	      L=L+1
57000	      VAL(L)=0.0
57100	      DO 28 K=1,IDP
57200	   28 VAL(L)=VAL(L)+VAR(M,J+K-1)
57300	      VAL(L)=VAL(L)/DPA
57400	   29 VAL(L)=SQRT(VAL(L))
57500	      X=(I-1)/(SAMPRA*IDP)
57600	      WRITE(6,1009)X,(VAL(II),II=1,L)
57700	   30 CONTINUE
57800	   21 CONTINUE
57900	   31 IOUT=5
58000	      IF (IO.LE.0) GO TO 70
58100	        NV=3*NVAR+1
58200	      NS=N/IDG
58300	       WRITE(IO,1040)NAME,NV,NS,NVAR,IOUT
58400	 1040 FORMAT('PROBLM' A4,T13,I3,I5,I3,T69,I2,' 1')
58500	 1041 FORMAT('(16A4)',T80,'5')
58600	      WRITE(IO,1041)
58700	      DG=IDG
58800	          FF=(F-1.0)*DG*F
58900	      IF(FF.LT.1.0)FF=1000000.
59000	      NN=NS*IDG
59100	      DO 50 I=1,NN,IDG
59200	      LLL=0
59300	      DO 48 J=1,NVAR
59400	   45 LLL=LLL+1
59500	      IF (NNV(LLL).EQ.0)GO TO 45
59600	      FFA=(CAL(LLL)**2)*FF
59700	      DGA=DG*CAL(LLL)
59800	      VAL(J)=0
59900	       VALV(J)=0.0
60000	      DO 49 L=1,IDG
60100	      VAL(J)=VAL(J)+XMEAN(J,I+L-1)
60200	   49 VALV(J)=VALV(J)+VAR(J,I+L-1)
60300	      VAL(J)=VAL(J)/DGA
60400	       VALV(J)=SQRT(VALV(J)/FFA)
60500	      VALVA(J)=VAL(J)-VALV(J)
60600	   48 VALVB(J)=VAL(J)+VALV(J)
60700	      X=(I-1)/SAMPRT
60800	      WRITE (IO,1049) X,(VALVA(J),VAL(J),VALVB(J),J=1,NVAR)
60900	 1049 FORMAT(16A4)
61000	   50 CONTINUE
61100	      L=0
61200	      DO 60 M=1,NVAR
61300	   59 L=L+1
61400	      IF(NNV(L).EQ.0)GO TO 59
61500	      MA=3*M-1
61600	      MB=MA+1
61700	      MC=MB+1
61800	      WRITE(IO,1050)
61900	 1050 FORMAT('SELECT2003001-1' T80,'3')
62000	      WRITE (IO,1053) (TITLE(I),I=1,18)
62100	 1053 FORMAT (2X,18A4,T80,'2')
62200	      WRITE(IO,1051) L,NAMCHN(L)
62300	 1051 FORMAT(T16,'VARIABLE NUMBER' I5,5X,'NAME' A6,T80,'2')
62400	      WRITE (IO,1052) MA,MB,MC
62500	 1052 FORMAT('CRSVAR' I3,'-',T16,I3,'*',T25,I3,'+',T80,'3')
62600	   60 CONTINUE
62700	      DIMENSION VARDIV(30),VARSTD(30),XMDIV(30),XMSTD(30)
62800	   70 IF(KDIV.LE.0)GO TO 79
62900	      NDIV=N/KDIV
63000	      WRITE(6,1030)KDIV,NDIV
63100	 1030 FORMAT('1   THE FOLLOWING ARE SUMMARY STATISTICS BASED ON THE AVER
63200	     1AGES.'/5X,'THE AVERAGES WERE SPLIT INTO' I5,2X,'GROUPS WITH ABOUT'
63300	     2 I5,2X,'VALUES IN EACH GROUP')
63400	       L=0
63500	       DO 75 I=1,NVAR
63600	      DO 71 J=1,KDIV
63700	       XMDIV(J)=0.0
63800	       XMSTD(J)=0.
63900	       VARDIV(J)=0.
64000	       VARSTD(J)=0.
64100	   71 CONTINUE
64200	   72 L=L+1
64300	       IF(NNV(L).LE.0)GO TO 72
64400	      DO 74 J=1,KDIV
64500	       KA=(J-1)*N/KDIV+1
64600	       KB=J*N/KDIV
64700	      DO 73 K=KA,KB
64800	       XMDIV(J)=XMEAN(I,K)+XMDIV(J)
64900	          XMSTD(J)=XMSTD(J)+XMEAN(I,K)*XMEAN(I,K)
65000	       XY=ALOG(VAR(I,K))
65100	       VARDIV(J)=VARDIV(J)+XY
65200	        VARSTD(J)=VARSTD(J)+XY*XY
65300	   73 CONTINUE
65400	       XY=KB-KA+1
65500	         XMDIV(J)=XMDIV(J)/(XY*CAL(L))
65600	       XMSTD(J)=SQRT(ABS((XMSTD(J)/CAL(L)**2-XY*XMDIV(J)**2)/(XY-1)))
65700	      VARSTD(J)=EXP(.5*(SQRT(ABS((VARSTD(J)-VARDIV(J)**2 /XY)/(XY-1)))))
65800	      VARDIV(J)=EXP(.5*VARDIV(J)/XY)/(CAL(L)*SQRT(F-1.))
65900	   74 CONTINUE
66000	       WRITE(6,1074) L,NAMCHN(L)
66100	       WRITE(6,1075)(XMDIV(J),J=1,KDIV )
66200	        WRITE(6,1076)(XMSTD(J),J=1,KDIV)
66300	       WRITE(6,1077)(VARDIV(J),J=1,KDIV)
66400	       WRITE(6,1078)(VARSTD(J),J=1,KDIV)
66500	 1074 FORMAT ('0SUMMARY FOR CHANNEL',I4,2X,A8)
66600	 1075 FORMAT(' PARTIAL MEANS',(T30,10F10.3))
66700	 1076 FORMAT (' STD DEV OF EACH MEAN',(T30,10F10.3))
66800	 1077 FORMAT(' PARTIAL STD DEVS',(T30,10F10.3))
66900	 1078 FORMAT(' SCALE FOR STD DEV',(T30,10F10.3))
67000	   75 CONTINUE
67100	       WRITE(6,1071)
67200	 1071 FORMAT('1')
67300	   79 CONTINUE
67400	      RETURN
67500	      END
67600	      SUBROUTINE FPULSE(NV,PSTART,TSTART,SAMPRT,NPULS,LENGTH,IPRNT,IERRO
67700	     1R)
67800	      COMMON/BCDIN/INTAPE,KTYPE,FORMAT,LNTAPE,LUNIT,NUNIT,REWIND,HCODE,
67900	     1 NAMP
68000	      COMMON/PTABLE/NPCNT
68100	      COMMON/OVERLY/NCASE
68200	      INTEGER PSTART
68300	      DIMENSION DATA(16,20),FORMAT(18,9),LUNIT(3,9)
68400	      DATA YES/'YES '/
68500	      LOGICAL IPRNT
68600	      IERROR=0
68700	      IF (KTYPE.NE.1.AND.KTYPE.NE.2) GO TO 225
68800	      IF (NUNIT.EQ.0) GO TO 2100
68900	      IF (INTAPE.EQ.1) WRITE (6,1001) INTAPE
69000	      IF (LNTAPE.EQ.INTAPE) GO TO 213
69100	      DO 2098 K=1,NUNIT
69200	      IF (LNTAPE.EQ.LUNIT(1,K)) GO TO 2070
69300	 2098 CONTINUE
69400	      NUNIT=NUNIT+1
69500	      LUNIT(2,NUNIT)=NCASE
69600	      LUNIT(1,NUNIT)=LNTAPE
69700	      LUNIT(3,NUNIT)=NPCNT
69800	      GO TO 2060
69900	 2070 LUNIT(2,K)=NCASE
70000	      LUNIT(3,K)=NPCNT
70100	 2060 DO 2065 I=1,NUNIT
70200	      IF (INTAPE.EQ.LUNIT(1,I)) GO TO 2050
70300	 2065 CONTINUE
70400	      NUNIT=NUNIT+1
70500	      LUNIT(1,NUNIT)=INTAPE
70600	      NCASE=0
70700	      NPCNT=0
70800	      GO TO 213
70900	 2050 NCASE=LUNIT(2,I)
71000	      NPCNT=LUNIT(3,I)
71100	      GO TO 213
71200	 2100 LUNIT(1,1)=INTAPE
71300	      NUNIT=NUNIT+1
71400	  213 IF (PSTART.LT.NPCNT) GO TO 200
71500	      IF (REWIND.EQ.YES) GO TO 201
71600	   35 IF (NCASE.LE.0)       WRITE(6,1) NAMP,INTAPE
71700	    1 FORMAT (1H1//T40,'HEALTH SCIENCES COMPUTING FACILITY'/T40,34(1H-)
71800	     1///T20,'POSITIONING FOR INPUT FOR PROBLEM NAMED',A5,' ON UNIT',
71900	     1 I5/T60,'----'////)
72000	      IF (TSTART.GE.0.) GO TO 15
72100	      WRITE (6,12) TSTART
72200	   12 FORMAT (' A NEGATIVE VALUE OF TSTART=',F12.2,' THIS IS NOT ALLOWED
72300	     1IN BCD/BINARY POSITIONING'/' RECOMMENDATION--POSITION ON AN EARLIE
72400	     2R PULSE AND USE A POSITIVE TSTART'/' FOR THE TIME BEING, TSTART WI
72500	     3LL BE SET EQUAL TO ZERO AND THE JOB WILL CONTINUE')
72600	      TSTART=0.0
72700	   15 CONTINUE
72800	      IF (IPRNT) WRITE (6,20) NPULS,HCODE,LENGTH,PSTART,TSTART
72900	   20 FORMAT (' POSITIONING ON CHANNEL',I5,' USING A CUTOFF POINT OF',F1
73000	     12.3,' AND A MINIMUM LENGTH OF',I4,' SCANS.'/' POSITION ON PULSE',
73100	     2 I3,', TSTART=',F12.3)
73200	      IF (PSTART.EQ.NPCNT.AND.TSTART.GT.0.) GO TO 50
73300	    5 I=1
73400	   11 IF (KTYPE.EQ.1) READ (INTAPE,FORMAT,ERR=130,END=150) (DATA(J,I),
73500	     1J=1,NV)
73600	      IF (KTYPE.EQ.2) READ (INTAPE,ERR=130,END=150) (DATA(J,I),J=1,NV)
73700	      NCASE=NCASE+1
73800	C  DETERMINE IF SCAN DOES NOT CONFORM TO PULSE SPECIFICATIONS
73900	      IF(HCODE.GE.0.AND.DATA(NPULS,I).LE.HCODE)GO TO 5
74000	      IF (HCODE.LT.0.AND.DATA(NPULS,I).GT.HCODE) GO TO 5
74100	      IF (I.GE.LENGTH) GO TO 10
74200	      I=I+1
74300	      GO TO 11
74400	   10 NPCNT=NPCNT+1
74500	      SEC=FLOAT(NCASE)/SAMPRT
74600	      WRITE (6,25) NPCNT,NCASE,SEC
74700	   25 FORMAT (' PULSE',I5,', LEADING EDGE DETECTED AFTER READING',I6,
74800	     1 ' SCANS(',F12.3,' SECONDS)')
74900	      IF (NPCNT.LT.PSTART) GO TO 5
75000	   50 NSKIP=TSTART*SAMPRT-1
75100	      IF (NSKIP.LE.0) RETURN
75200	      IF (KTYPE.EQ.1) GO TO 60
75300	      DO 55 I=1,NSKIP
75400	      NCASE=NCASE+1
75500	   55 READ (INTAPE,ERR=130,END=150)
75600	      RETURN
75700	   60 DO 65 I=1,NSKIP
75800	      NCASE=NCASE+1
75900	   65 READ (INTAPE,FORMAT,ERR=130,END=150)
76000	      RETURN
76100	  130 PRINT 131,INTAPE,NPCNT,NCASE
76200	  131 FORMAT (' AN I/O ERROR DETECTED ON INPUT TAPE ON LOGICAL UNIT',
76300	     1 I4,' DURING OR AFTER DETECTION ON PULSE',I3,'.  ',F12.2,' SCANS I
76400	     1NTO TAPE'/' JOB WILL BE TERMINATED')
76500	  140 IERROR=1
76600	      RETURN
76700	  150 PRINT 151,INTAPE,NPCNT,NCASE
76800	  151 FORMAT (' END OF FILE DETECTED ON INPUT TAPE ON LOGICAL UNIT',I4,
76900	     1' DURING OR AFTER DETECTION ON PULSE',I3,'.  ',F12.2,' SCANS INTO
77000	     2TAPE'//' JOB WILL CONTINUE')
77100	      IERROR=-1
77200	      RETURN
77300	  200 CONTINUE
77400	C   STARTING PULSE IS LESS THEN CURRENT POSITION ON THAT UNIT
77500	      IF (PSTART.LT.0) GO TO 205
77600	  201 IF (INTAPE.EQ.5) GO TO 210
77700	      IF (REWIND.NE.YES) WRITE (6,202) INTAPE,NPCNT,PSTART
77800	  202 FORMAT (' INCONGRUENCY FOUND--FOR INPUT TAPE ON UNIT',I3, /
77900	     1' COLS. 72-73 SPECIFY NO REWIND ON PARAM CARD, YET PSTART IS LESS
78000	     2THAN THE CURRENT POSITION ON TAPE'/10X,'CURRENT PULSE COUNT=',I4,
78100	     33X,'PSTART=',I4/10X,'THIS IS A WARNING, THE TAPE WILL BE REWOUND')
78200	 1001 FORMAT (' WARNING--THE INPUT TAPE IS ON UNIT',I3,' WHICH IS THE UN
78300	     1IT USED BY THIS PROGRAM FOR CONVERSION')
78400	      NCASE=0
78500	      NPCNT=00
78600	      REWIND INTAPE
78700	      GO TO 35
78800	  205 WRITE (6,206) PSTART
78900	  206 FORMAT (' ERROR PSTART=',I5,' A NEGATIVE PSTART IS NOT ACCEPTABLE,
79000	     1 JOB TERMINATED')
79100	      GO TO 140
79200	  210 CONTINUE
79300	      NPCNT=0
79400	      NCASE=0
79500	      GO TO 35
79600	  225 WRITE (6,226) KTYPE
79700	  226 FORMAT (' ERROR IN CALL TO FPULSE, KTYPE=',I3/' JOB IS TERMINATED'
79800	     1)
79900	      GO TO 140
80000	      END
80100	
80200	
80300	
80400	
80500	
80600	
80700	
80800	
80900