C PROGRAM MCMAV C LONG PRINTOUT VERSION. COMMON ARRAI(411),DUMI(90),MANU,BLNO DIMENSION MAXSUM(100),MINSUM(100),MAXPT(100),MINPT(100), 1 MAXVAL(100),MINVAL(100),ARRAY(100),SHIT(200),NAME(2) C SHIT USED TO PUSH BLANK COMMON C COMPLETELY INTO FIELD 2!! INTEGER BL(3),NECT(100),PARITY,END,ENDPT,ARRAY,ARRAI, 1 ARRAJ,BLNO LOGICAL P,Q ISTA=1 NBL=16 SF= -.0111 WRITE(4,3) 3 FORMAT(1H ,'ENTER MANEUVER ID,SAMPLING RATE AND' 1 ' SPECIAL CASE SPECIFICATION'/' (I2,I3,A3)') READ (4,2) MANU,ISR,SCASE 2 FORMAT(I2,I3,A3) IF(SCASE.EQ.' NO') GO TO 7 WRITE (4,6) 6 FORMAT(1H ,'ENTER SPECIAL STARTING AND ENDING BLOCK ID S. 1 (2I2)') READ(4,8) ISTA,NBL 8 FORMAT (2I2) 7 WRITE(4,103) 103 FORMAT(1H ,'ENTER EXPERIMENT DATE, DATE ANALYZED, 1 SUBJECT NAME,'/' DEPTH AND INERT GAS.'/ 2 ' (2I6,2A6,F6.0,A6)') READ(4,104) IDEA,IDER,NAME(1),NAME(2),DEPTH,INGAS 104 FORMAT(2I6,2A6,F6.0,A6) WRITE(3,105) IDEA,IDER,NAME(1),NAME(2),DEPTH,INGAS,MANU 105 FORMAT(1H ,30X,'EXPERIMENT DATE',5X,I6/1H ,30X,'DATE AN 1 ALYZED',7X,I6/1H ,30X,'SUBJECT',13X,2A6/1H ,30X,'DEPTH' 2 ,15X,F6.0/1H ,30X,'INERT GAS',11X,A6/1H ,30X,'MANEUVER' 3 ,12X,I4////) SR=ISR C ANY POTENTIAL TROUBLE IN GETTING REASONABLE MINSUMS C AND MAXSUMS IN THE FUTURE COULD PROBABLY BE RESOLVED C BY MANIPULATING THE VALUE OF IRA. IRA=ISR/20 PARITY=MOD(IRA,2) IF(PARITY.EQ.0) IRA=IRA+1 IRAH=IRA/2 BL(1)=0 MZ=1 MX=1 END=85 ENDPT=END-IRA-1 IX=IRAH+2 DO 90 IBL=ISTA,NBL BLNO=IBL WRITE(3,442) IBL 442 FORMAT(1H ,'THIS IS BLOCK NUMBER ',I4) CALL TRANS C WRITE(3,118)(ARRAI(NUM),NUM=1,255) 118 FORMAT (1H ,10I7) DO 17 MN=1,255,3 NN=(MN+2)/3 17 ARRAY(NN)=ARRAI(MN) WRITE (3,117)(ARRAY(NAM),NAM=1,85) 117 FORMAT(1H ,10I6) IF(IBL.NE.NBL) GO TO 23 DO 21 IT=1,85 IF(ARRAY(IT).NE.0) GO TO 21 IA=IT+1 IZ=IT+4 IF(IZ.GT.85) IZ=85 DO 22 ITT=IA,IZ IF(ARRAY(ITT).NE.0) GO TO 21 22 CONTINUE END=IT-1 GO TO 25 21 CONTINUE 23 IF(IBL.NE.ISTA) GO TO 25 DO 10 IN=1,IRA 10 BL(1)=BL(1)+ARRAY(IN) BL(2)=BL(1)+ARRAY(IRA+1)-ARRAY(1) 25 DO 30 M=1,END JX=IX-(85*(IBL-1)) IF(ISTA.NE.1) JX=IX-(85*(IBL-ISTA)) IF(JX.GT.0) ARRAJ=ARRAY(JX) IF(JX.LE.0) ARRAJ=NECT(IRA+JX) IF(IBL.EQ.ISTA) GO TO 130 150 IF(M.LE.IRA) GO TO 32 N1=M-IRA BL(3)=BL(2)-ARRAY(N1)+ARRAY(M) GO TO 35 32 BL(3)=BL(2)-NECT(M)+ARRAY(M) GO TO 35 130 IF(M.GT.ENDPT) GO TO 85 N1=M+1 N2=N1+IRA BL(3)=BL(2)-ARRAY(N1)+ARRAY(N2) 35 P=(BL(2).LE.BL(1)).AND.(BL(2).LT.BL(3)) Q=(BL(2).GT.BL(1)).AND.(BL(2).GE.BL(3)) IF(.NOT.P) GO TO 34 37 MINSUM(MZ)=BL(2) MINPT(MZ)=IX MINVAL(MZ)=ARRAJ MZ=MZ+1 IF(MZ.GT.100) GO TO 98 GO TO 36 34 IF(.NOT.Q) GO TO 36 39 MAXSUM(MX)=BL(2) MAXPT(MX)=IX MAXVAL(MX)=ARRAJ MX=MX+1 IF(MX.GT.100) GO TO 98 36 BL(1)=BL(2) BL(2)=BL(3) 30 IX=IX+1 85 IF(IBL.EQ.NBL) GO TO 90 DO 89 LUX=1,IRA NEVER=END-IRA+LUX 89 NECT(LUX)=ARRAY(NEVER) 90 CONTINUE 98 KX=MX-1 KZ=MZ-1 IF(KZ.GT.KX) GO TO 88 80 IF(MAXPT(1).GT.MINPT(1)) GO TO 81 DO 82 IM=2,KX MAXPT(IM-1)=MAXPT(IM) MAXVAL(IM-1)=MAXVAL(IM) 82 MAXSUM(IM-1)=MAXSUM(IM) KX=KX-1 GO TO 80 81 IF(KZ.GT.KX) GO TO 88 KX=KZ-1 88 WRITE(3,142) 142 FORMAT(//1H ,T10,'MINPT',5X,'VAL',6X,'SUM',7X, 1 'MAXPT',5X,'VAL',6X,'SUM') WRITE (3,42)(I,MINPT(I),MINVAL(I),MINSUM(I), 1 MAXPT(I),MAXVAL(I),MAXSUM(I),I=1,KZ) 42 FORMAT(1H ,I3,6X,I4,3X,I5,3X,I6,8X,I4,3X,I5,3X,I6) NPT=MINPT(KZ)-MINPT(1)+1 TIM=NPT/SR SCA=-(60.*SF)/(2.*TIM) NOP=KZ-1 PSUM=0. VSUM=0. DO 87 IV=1,NOP PSUM=PSUM+MAXVAL(IV) IF(IV.EQ.1) GO TO 87 VSUM=VSUM+MINVAL(IV) 87 CONTINUE ANS=SCA*(2.*PSUM-2.*VSUM-MINVAL(1)-MINVAL(KZ)) WRITE (3,86) ANS 86 FORMAT (///1H ,'MAXIMUM VOLUNTARY VENTILATION: ',F8.3,' LITERS 1 PER MINUTE.'///) 99 STOP END