1 REM **** HP BASIC PROGRAM LIBRARY **************************** 2 REM 3 REM POLUT: WATER POLLUTION SIMULATION 4 REM 5 REM 36639 REV B 10/73 6 REM 7 REM **** CONTRIBUTED PROGRAM ********************************* 100 REM POLUT -- WATER POLLUTION SIMULATION FROM ECCP 105 REM COPYRIGHT 1971 - POLYTECHNIC INSTITUTE OF BROOKLYN 110 REM MAJOR VARIABLES: X(OXY. CONTENT); W1,W2,W(POLLUTION CONTENT) 115 REM OTHERS ARE DEFINED AS THEY APPEAR; EITHER IN PRINTS OR REMS 120 REM DEVELOPED BY L. BRAUN, T. LIAO, AND D. PESSEL 125 REM PROGRAMMED BY L. BRAUN, C. LOSIK, AND D. PESSEL 130 REM LATEST REVISION: 8-18-71 135 DIM X[51],W[51] 140 PRINT " ","WATER POLLUTION STUDY" 145 PRINT 150 PRINT "INSTRUCTIONS (1=YES, 0=NO)"; 155 INPUT Q 160 IF Q=0 THEN 310 165 IF Q <> 1 THEN 150 170 REM INTRODUCTION 175 PRINT 180 PRINT 185 PRINT "IN THIS STUDY YOU CAN SPECIFY "; 190 PRINT "THE FOLLOWING CHARACTERISTICS:" 195 PRINT 200 PRINT "A. THE KIND OF BODY OF WATER:" 205 PRINT " 1. LARGE POND" 210 PRINT " 2. LARGE LAKE" 215 PRINT " 3. SLOW-MOVING RIVER" 220 PRINT " 4. FAST-MOVING RIVER" 225 PRINT 230 PRINT "B. THE WATER TEMPERATURE IN DEGREES FAHRENHEIT:" 235 PRINT 240 PRINT "C. THE KIND OF WASTE DUMPED INTO THE WATER:" 245 PRINT " 1. INDUSTRIAL" 250 PRINT " 2. SEWAGE" 255 PRINT 260 PRINT "D. THE RATE OF DUMPING OF WASTE,"; 265 PRINT " IN PARTS PER MILLION (PPM)/DAY." 270 PRINT 275 PRINT "E. THE TYPE OF TREATMENT OF THE WASTE:" 280 PRINT " 0. NONE " 285 PRINT " 1. PRIMARY (SEDIMENTATION OR PASSAGE THROUGH FINE" 290 PRINT " SCREENS TO REMOVE GROSS SOLIDS)" 295 PRINT " 2. SECONDARY (SAND FILTERS OR THE ACTIVATED SLUDGE" 300 PRINT " METHOD TO REMOVE DISSOLVED AND COLLOIDAL" 305 PRINT " ORGANIC MATTER)" 310 PRINT 315 PRINT 320 PRINT "***********" 325 PRINT 330 REM INPUT PARAMETERS 335 PRINT "BODY OF WATER"; 340 INPUT Q 345 REM D1: RATE OF INJECTION OF NATURAL POLLUTANTS 350 LET D1=2 355 REM N: NATURAL WASTE DECOMPOSITION COEFF. 360 LET N=.75 365 REM C: RATE OF WATER ABSORPTION OF OXYGEN (BASED ON Q) 370 IF Q=4 THEN 420 375 IF Q=3 THEN 410 380 IF Q=2 THEN 400 385 IF Q <> 1 THEN 335 390 LET C=.4 395 GOTO 425 400 LET C=1 405 GOTO 425 410 LET C=1.5 415 GOTO 425 420 LET C=3 425 PRINT "WATER TEMPERATURE"; 430 INPUT T 435 IF T>90 THEN 1055 440 IF T <= 32 THEN 1070 445 IF T>50 THEN 465 450 REM X9=MAX. OXYGEN CONTENT OF WATER 455 LET X9=15-2*(T-32)/9 460 GOTO 470 465 LET X9=11-(T-50)/9 470 PRINT "KIND OF WASTE"; 475 INPUT Q 480 REM H: HUMAN WASTE DECOMPOSITION COEFF. 485 IF Q=2 THEN 505 490 IF Q <> 1 THEN 470 495 LET H=.25 500 GOTO 510 505 LET H=.75 510 PRINT "DUMPING RATE"; 515 INPUT D2 520 REM KEEPS D2 IN RANGE 0 TO 14 525 IF ABS(D2-7)>7 THEN 1040 530 REM W1: WASTE DUE TO NATURAL POLLUTANTS; INITIALIZATION 535 REM W2: WASTE DUE TO HUMANS; INITIALIZATION 540 REM X: OXYGEN CONTENT; INITIALIZATION 545 LET W1=D1/N 550 LET W2=0 555 LET X=X9-D1/C 560 REM W(1),X(1): INITIALIZE STORAGE ARRAYS (TOTAL WASTE,OXYGEN) 565 REM T2,K: STORE DAY FISH BEGIN TO DIE, IF THEY DO 570 REM T9: NEEDED FOR DAY COUNT; M: TOTAL DAYS FOR RUN 575 REM T1: INTEGRATION INTERVAL 580 LET T2=0 585 LET T9=0 590 LET K=0 595 LET T1=.1 600 LET W[1]=W1+W2 605 LET X[1]=X 610 LET M=31 615 REM D2: RATE OF INJECTION OF HUMAN POLLUTANTS 620 PRINT "TYPE OF TREATMENT"; 625 INPUT Q 630 IF Q=0 THEN 660 635 IF Q=1 THEN 655 640 IF Q <> 2 THEN 620 645 LET D2=.1*D2 650 GOTO 660 655 LET D2=.5*D2 660 PRINT 665 PRINT 670 FOR J=2 TO M 675 FOR I=1 TO 10 680 LET T9=T9+T1 685 REM PAIR OF DIFF. EQNS. , EULER INTEGRATION 690 LET X=X+T1*(C*(X9-X)-N*W1-H*W2) 695 REM PREVENTS NEGATIVE OXYGEN LEVEL 700 IF X>0 THEN 710 705 LET X=0 710 LET W1=W1+T1*(D1-N*W1) 715 LET W2=W2+T1*(D2-H*W2) 720 IF X>5 THEN 740 725 LET K=K+1 730 IF K>1 THEN 740 735 LET T2=INT(T9) 740 NEXT I 745 REM W(J),X(J): STORAGE OF RESULTS IN ARRAYS 750 LET X[J]=X 755 LET W[J]=W1+W2 760 NEXT J 765 PRINT "DO YOU WANT: A GRAPH(1), A TABLE(2), OR BOTH(3)"; 770 INPUT Q 775 IF (Q-1)*(Q-2)*(Q-3) <> 0 THEN 765 780 PRINT 785 PRINT 790 REM TABLE OUTPUT ROUTINE 795 IF K<1 THEN 820 800 PRINT 805 PRINT 810 PRINT "AFTER DAY";T2;" THE FISH BEGIN TO DIE, BECAUSE" 815 PRINT "THE OXYGEN CONTENT OF THE WATER DROPPED BELOW 5 PPM." 820 PRINT 825 IF Q<2 THEN 880 830 PRINT 835 PRINT 840 PRINT "TIME","OXY. CONTENT","WASTE CONTENT" 845 PRINT "DAYS"," PPM "," PPM " 850 PRINT "----","------------","-------------" 855 FOR J=1 TO M 860 PRINT J-1,INT(100*X[J]+.5)/100,INT(100*W[J]+.5)/100 865 NEXT J 870 IF Q=2 THEN 1005 875 REM GRAPHING ROUTINE 880 PRINT 885 PRINT 890 PRINT " 0...OXYGEN-SCALE....5...OXYGEN-SCALE...10"; 895 PRINT "...OXYGEN-SCALE...15" 900 PRINT " 0..WASTE.10..SCALE.20..WASTE.30..SCALE.40"; 905 PRINT "..WASTE.50..SCALE.60" 910 PRINT "DAY I---------I---------I---------I---------I"; 915 PRINT "---------I---------I" 920 FOR J=1 TO M 925 PRINT J-1;TAB(6);"I"; 930 IF 4*X[J]>W[J] THEN 945 935 PRINT TAB(7+INT(4*X[J]+.5));"0";TAB(7+INT(W[J]+.5));"W" 940 GOTO 950 945 PRINT TAB(7+INT(W[J]+.5));"W";TAB(7+INT(4*X[J]+.5));"O" 950 IF J<5 THEN 985 955 FOR K=1 TO 4 960 REM DETERMINES WHEN SYSTEM HAS REACHED EQUILIBRIUM 965 IF INT(W[J]+.5) <> INT(W[J-K]+.5) THEN 985 970 IF INT(4*X[J]+.5) <> INT(4*X[J-K]+.5) THEN 985 975 NEXT K 980 GOTO 990 985 NEXT J 990 PRINT 995 PRINT "THE WASTE CONTENT AND OXYGEN CONTENT WILL REMAIN AT" 1000 PRINT "THESE LEVELS UNTIL ONE OF THE VARIABLES CHANGES." 1005 PRINT 1010 PRINT 1015 PRINT "ANOTHER RUN (1=YES, 0=NO)"; 1020 INPUT Q 1025 IF Q=1 THEN 310 1030 IF Q <> 0 THEN 1015 1035 STOP 1040 PRINT "NEW YORK CITY ONLY POLLUTES ITS WATER AT THE RATE OF" 1045 PRINT "12 PPM/DAY. MAKE YOUR RATE BETWEEN 0 AND 14." 1050 GOTO 510 1055 PRINT "THE WATER TEMPERATURE IS HIGH ENOUGH TO DESTROY MOST LIFE." 1060 PRINT "TRY A NEW TEMPERATURE." 1065 GOTO 425 1070 PRINT "YOUR BODY OF WATER IS A BLOCK OF ICE, AND CAN'T" 1075 PRINT "ACCEPT ANY WASTE. TRY A NEW TEMPERATURE." 1080 GOTO 425 1085 END