1 REM ()()()()()()()()()()()()()()()()()()()() 2 REM () KICK.BAS () 3 REM () () 4 REM () By J.E. Roye () 5 REM () Commercial Rights Reserved () 6 REM () () 7 REM () Edited for SPE by Wes Eckles Jr. () 8 REM () () 9 REM () Edited for COGS Disk by J Phillips () 10 REM () 8 June 1984 () 11 REM ()()()()()()()()()()()()()()()()()()()() 12 REM Last Modified: 9 June 1984 15 BKG=15: REM Inverse background color for IBM-PC 20 DIM A(20) 40 REM ********************** 42 REM TITLE PAGE--J.P. 44 REM ********************** 50 CLS: LOCATE 2,1 52 PRINT " | | | | |||||||||||||||||||||||||||||||||" 54 PRINT " | | | | |||| || || || || || ||||" 56 PRINT " | |_| | |||| | ||| || ||||| | |||||" 58 PRINT " | / \ | |||| |||| || ||||| ||||||" 60 PRINT " ---------|/_____\|----------------- |||| | ||| || ||||| | |||||" 62 PRINT " - - - - -|| | ||- - - - - - - - - |||| || || || || || ||||" 64 PRINT " - - - - || / \ || - - - - - - - - |||||||||||||||||||||||||||||||||" 66 PRINT " - - - - -||/\_/\||- - - - - - - - - " 68 PRINT " ---------| |----------------- B y J. E. ROYE " 70 PRINT " | .:. | " 72 PRINT " . . .|.:::::.|. . . . . Aids in controlling kicks encountered" 74 PRINT " | :::. | in drilling operations. " 76 PRINT " . . .| ::::.. . . . . " 78 PRINT " | ::::::. Calculates: " 80 PRINT " . . .| ::::::: . . . Expected pressure at depth " 82 PRINT " | | Kill mud weight " 84 PRINT " ---------| |----------------- Pit volume gain " 86 PRINT " - - - - -| |- - - - - - - - -" 88 PRINT " - - - - | | - - - - - - - - " 90 PRINT " - - - - -| |- - - - - - - - -" 92 PRINT " | | " 95 LOCATE 25,1,1,0,13 100 PRINT " to continue; to exit; for help.........."; 105 Q$=INKEY$: IF Q$="" THEN 105 110 IF Q$=CHR$(27) THEN 20000 115 IF Q$="H" OR Q$="h" THEN 1500 120 IF Q$<>" " THEN 105 140 REM ********************** 142 REM DATA ENTRY 144 REM ********************** 150 CLS 155 PRINT TAB(14)"D R I L L I N G K I C K - D A T A E N T R Y" 160 PRINT: PRINT 170 INPUT "Shut-in drill pipe pressure (psig).............. ",A(1) 175 INPUT "Initial mud weight (lbs/gal).................... ",A(2) 180 INPUT "Depth of interest (ie: casing shoe)............ ",A(3) 185 INPUT "Initial pit gain (bbl).......................... ",A(4) 190 INPUT "Drill string capacity (bbl)..................... ",A(5) 195 INPUT "Annulus capacity (ft/bbl)....................... ",A(6) 200 INPUT "Current well T.D. (feet)........................ ",A(7) 202 REM ********************** 204 REM CALCULATION 206 REM ********************** 208 A(8)=(.052*A(7)*A(2))+A(1) 210 A(10)=(.052*A(2)*A(3))+A(1) 212 A(9)=.052*A(2)*A(4)*A(6)*A(8) 215 A(11)=A(9)-(.1*A(4)*A(6)*A(8)) 220 R=A(10)^2! 225 R=R+(4*A(11)) 230 R=SQR(R) 235 A(12)=(R+A(10))/2 240 A(13)=(A(8)/A(12))*A(4) 245 A(14)=.052*A(7) 250 A(15)=(A(1)/A(14))+A(2) 255 S=A(1)*A(5)*A(6) 260 A(16)=(S/A(7))+(.052*A(15)*A(3)) 265 A(17)=.052*A(15)*A(4)*A(6)*A(8) 270 R1=A(16)^2! 280 R1=R1+(4*A(17)) 290 R1=SQR(R1) 300 A(18)=(R1+A(16))/2 310 A(19)=(A(8)/A(18))*A(4) 790 REM ********************** 792 REM SCREEN OR PRINTER 794 REM ********************** 800 CLS: LOCATE 12,1,1,0,13 805 PRINT "Send results to screen or printer (S/P)........."; 810 P$=INKEY$: IF P$="" THEN 810 815 IF P$="s" THEN P$="S" 820 IF P$="p" THEN P$="P" 825 IF P$<>"S" AND P$<>"P" THEN 810 830 PRINT P$ 835 IF P$ = "S" THEN OPEN "SCRN: " FOR OUTPUT AS #1: GOTO 900 840 REM --- PRINTER PROMPT --------- 845 CLS: PRINT "READY TO PRINT.": PRINT " Adjust Paper." 850 PRINT " Turn on Printer.": PRINT " Press a Key to Continue....."; 855 Q$ = INKEY$: IF Q$ = "" THEN 855 860 PRINT Q$ 865 OPEN "LPT1:" FOR OUTPUT AS #1 870 PRINT #1, CHR$(27);"E";: REM EPSON command for emphasized type 890 REM ********************** 892 REM DISPLAY RESULTS 894 REM ********************** 900 IF P$ = "S" THEN CLS 910 PRINT #1, "=============================================" 915 PRINT #1, "K I C K C O N T R O L " 920 PRINT #1, " " 925 PRINT #1, "=============================================" 930 PRINT #1, " " 935 PRINT #1, "DATA ENTERED" 940 PRINT #1, "Shut-in drill pipe pressure (psig).............. ";A(1) 945 PRINT #1, "Initial mud weight (lbs/gal).................... ";A(2) 950 PRINT #1, "Depth of interest (ie: casing shoe)............ ";A(3) 955 PRINT #1, "Initial pit gain (bbl).......................... ";A(4) 960 PRINT #1, "Drill string capacity (bbl)..................... ";A(5) 965 PRINT #1, "Annulus capacity (ft/bbl)....................... ";A(6) 970 PRINT #1, "Current well T.D. (feet)........................ ";A(7) 990 PRINT #1, " " 1000 PRINT #1, "CALCULATED RESULTS" 1005 PRINT #1, " Driller's Method:" 1010 PRINT #1, "Max. expected PSIG at depth of interest is..";A(12);"psig" 1015 PRINT #1, "Predicted pit gain is.......................";A(13);"bbls" 1020 PRINT #1, " Weight and wait method:" 1025 PRINT #1, "Kill mud weight is..........................";A(15);"#/gal" 1030 PRINT #1, "Predicted pit gain is.......................";A(19);"bbls" 1050 CLOSE #1 1060 IF P$="S" THEN GOSUB 2100 1070 GOTO 50 1492 REM ********************** 1494 REM HELP SCREENS 1496 REM ********************** 1500 CLS: PRINT TAB(28)"K I C K C O N T R O L" 1505 PRINT 1510 PRINT "This program was written by J.E. Roye, Gulf Coast Section SPE, Houston, Tx." 1520 PRINT 1525 PRINT "It was edited and documented for the SPE by Wes Eckles, Jr., Dallas Section" 1530 PRINT 1535 PRINT "The program was further edited by Jay Phillips for the Computer Oriented" 1540 PRINT "Geological Society (C.O.G.S.), Denver, Colorado." 1545 PRINT: PRINT STRING$(79,"-") 1550 PRINT "The program is designed to aid in controlling kicks encountered in drilling" 1555 PRINT "operations. The program uses both the drillers's method and the weight and" 1560 PRINT "wait method." 1565 PRINT 1570 PRINT"See SPE MicroComp News v.1 #2 p18 & 31." 1575 PRINT STRING$(79,"-") 1580 GOSUB 2100 1600 GOTO 50 2090 REM --- PAUSE SUBROUTINE ----- 2100 LOCATE 24,1,1,0,13 2105 PRINT "Press a key to continue....."; 2110 Q$ = INKEY$: IF Q$ = "" THEN 2110 2120 RETURN 19990 REM ********************** 19992 REM EXIT ROUTINE 19994 REM ********************** 20000 CLS: PRINT TAB(28) "E X I T P R O G R A M" 20005 LOCATE 8,20: PRINT "EXIT TO:" 20010 M$(1) = " 1. MENU, to run another program. " 20015 M$(2) = " 2. BASIC " 20020 M$(3) = " 3. MS-DOS System level " 20025 M$(4) = " 4. CANCEL Exit Command " 20030 FOR Y = 1 TO 4: LOCATE 2*Y + 8, 20: PRINT M$(Y): NEXT Y 20035 LOCATE 23,1: PRINT "Enter number or use arrows to make selection; then press " 20037 LOCATE ,,0: REM Cursor OFF 20040 Y=1: MVE=NO : X=1: Q$="" 20045 WHILE Q$ <> CHR$(13) 20050 LOCATE 2*Y + 8, 20: COLOR 0,BKG: PRINT M$(Y): COLOR 7,0 20055 Q$=INKEY$: IF Q$="" THEN 20055 20060 IF LEN(Q$) = 2 AND ASC(RIGHT$(Q$,1)) = 72 THEN MVE=YES: X=Y-1: IF X=0 THEN X=4 20065 IF LEN(Q$) = 2 AND ASC(RIGHT$(Q$,1)) = 80 THEN MVE=YES:X=Y+1: IF X=5 THEN X=1 20067 IF Q$ >="1" AND Q$ <= "4" THEN X=VAL(Q$): MVE=YES 20070 IF MVE=YES THEN LOCATE 2*Y + 8, 20: PRINT M$(Y): Y=X: MVE=NO 20075 WEND 20080 LOCATE ,,1: REM Cursor ON 20085 CLS 20100 IF Y = 1 THEN LOCATE 12,1: PRINT "Loading.....MENU": RUN "MENU" 20110 IF Y = 2 THEN END 20120 IF Y = 3 THEN SYSTEM 20130 IF Y = 4 THEN 50: REM Title Page 30000 CLS: END