Club 100 Library - 415/939-1246 BBS 937-5039 NEWSLETTER, 932-8856 VOICE MENU2: MENU3: ======================================= MENU1:----GENERAL UTILITY PROGRAMS----- Calculates water saturation Sw, apparent water resistivity Rwa, bulk volume water BVW, and formation factor F. Equations: Sw=(F*Rw/Rt)^(1/n); F=a/porosity^m; Rwa=Rt/F; and BVW=porosity*Sw. First you choose a saturation model from one of the following: Archie (a=1, n=2, m=2); Humble (a=.62, n=2, m=2.15); or Option (input a, n, and m). Archie is used in limestones, Humble in sandstones, and Option where you have detailed reservoir data. You can shale-correct Sw, with shale volume calculated off the gamma-ray or directly input. The shale model used is a simplified form of Simandoux's equation by Fertl & Hammack: Sw(corr)=Sw-(Vsh*Rw)/(0.4*Rsh*porosity). Vsh=shale volume fraction; Rsh=adjacent shale resistivity. Gamma-ray equations: I=(GRlog-GRclean)/(GRsh-GRclean); Vsh=.33*2^(2*I-1) [old rocks]; or Vsh=.083*2^(3.7*I-1) [Tertiary rocks]. I=shale index; GRlog=log value; GRclean=lowest GR on log; GRsh=adjacent shale GR. The answers are comparable to the Waxman-Smits and Dual-Water models. Shale-correct porosities to get the best results. Typical productive ranges: sandstones--Sw<65%; Rwa>=3*Rw; BVW<7%; limestones--Sw<45%; Rwa>=3*Rw; BVW<4.5%. The type of limestone porosity (fractured, oolitic, etc.) affects tolerable BVW. BVW above a cutoff means that water will flow, but not that a zone is 100% wet. Calibrate cutoffs to your region of interest. If you run SW again to input new data, pressing ENTER at any prompt will input the previous run's value. Volumetric reserves [Eng or Met]. Equation: Reserve=(C*A*H*porosity*(1-Sw)*RF)/FVF. Reserve=barrels[oil]; std ft^3[gas]; m^3[met]. C=7758 bbls/acreft[oil]; 43560 ft^3/acreft[gas]; 10000 m^3/hectarem[met]. A=drainage acres[eng] or hectares[met]; H=pay thickness in ft[eng] or m[met]; RF=% recovery factor; FVF=formation volume factor (Bo or Bg) in bbls/stock tank bbls[oil]; ft^3/std ft^3[gas]; m^3/std m^3[met]. FVF for gas is prompted as "1/Bg=?", to allow input of the more commonly-used inverse. Porosity from Micrologs & Microlaterologs [Eng or Met]. Equations: Tgrad=100*(BFT-SURFT)/TD; FMT=Tgrad*FMdepth+SURFT; Rm=SURFRm*((SURFTRm+7)/(FMT+7)). Tgrad=temp gradient in degrees F (or C) per 100 ft (or m); BHT=bottom hole temp; SURFT=surface mean temp; TD=total depth (+ft or +m); FMT=formation temp; Rm=formation mud resist; SURFRm=surface mud resist; SURFTRm=surface temp at which Rm was measured. Micrologs: Humble porosity=100*60.19*(Rm/R2inch^1.2458)^.6515/100+Typecorr; Archie porosity=100*SQR(1/(.62/Humble porosity^2.15)); Option porosity=100*(a*Humble porosity^2.15/.62)^(1/m); where R2inch=resist of short normal (2"), Typecorr=0% for solid-pad tool, 6% for hydraulic-pad. Microlaterologs: Rtcorr=1.67*RLL-.67*Rxo, or Rtcorr=RDIL; Rmf=.7336*Rm^.9863; Sw=(Rxo*Rw/(Rmf*Rtcorr))^(5/8); Humble porosity=100*SQR(Rw/(Sw^2*Rtcorr)); Archie porosity=100*SQR(1/(.62/Humble porosity^2.15)); Option porosity=100*(a*Humble porosity^2.15/.62)^(1/m). Rtcorr=corrected true resist; RLL=laterolog resist; Rxo=flushed zone resist off microlaterolog; RDIL=deep resist off dual induction log; Rmf=mud filtrate resist. The Microlog equations give porosity directly, while the Microlaterolog must first be solved for Sw and porosities then back-calculated using various saturation models. The Rmf calculation can be by-passed to let you put in a measured Rmf. Don't be suprised if you get high porosities from these tools, since they are greatly-affected by flushed-zone saturation and mud cake. Try calibrating answers to nearby density logs. Rw from the SP curve. Equations: Rmc=1.1942*Rm^.901; SPcorrfactor=.95+((4*Ri/Rm+2))^(1/3.65)-1.5)/(H-((Ri/Rm+11)/.65)^(1/6.05)-.1); SSP=SP*SPcorrfactor; Rwe=Rmf*10^(SSP/60+.133*FMT)); Rw=(Rwe+.131*10^(1/LGT(FMT/19.9)-2))/(-(.5*Rwe)+10^(.0426/LGT(FMT/50.8))). Rmc=mud cake resist; Ri=shallow curve resist; SSP=static SP; Rwe=Rw equivalence; LGT=logarithm to base 10; H=bed thickness. Note that corrections are valid only for Ri/Rm>5 and 3 Corrects DIL (dual induction log) or DLL (dual laterolog) deep resistivity. Equations: DIL: if RLLS/RILD<2.5 or RILM/RILD<1 then Rtcorr=RILD else Rcorrfactor=1-((RILM/RILD-1.1)^2*(.4*RLLS/RILD)*(RLLS/RILD+3)-1)/(RLLS/RILD-1)^2 and if Rcorrfactor<.4 then Rtcorr=RILD else Rtcorr=RILD*Rcorrfac. RILD=deep induct resist; RILM=medium induct resist; RLLS=shallow (lateral) resist; Rtcorrfactor=deep Rt correction factor; Rtcorr=corrected Rt. DLL: using an Rxo value-- if RLLD<=RLLS or RLLD<=Rxo then Rtcorr=RLLD else Rtcorr=(RLLD-.29*Rxo)/.71*(RLLD/RLLS)^.1. Not using an Rxo value-- if RLLS>RLLD then Rtcorr=2.4*RLLD-1.4*RLLS else if RLLD>RLLS and log type=28' simultaneous tool then Rtcorr=1.6*RLLD-.6*RLLS else if RLLD>RLLS and log type=20' sequential tool then Rtcorr=1.7*RLLD-.7*RLLS. RLLD=deep LL resist; RLLS=shallow LL resist; Rxo=flushed zone resist, from microlaterolog; Rtcorr=corrected Rt. In the absence of an Rxo value, the program estimates Rtcorr based on type of DLL (20' or 28'). MENU2:------SINGLE POROSITY LOGS------- Sonic log porosity, corrected for shale and uncompaction effects. Equations: Sonic porosity=100*(Tlog-Tm)/(Tf-Tm); Sonic porosity(corr)=(Sonic porosity-(Vsh*shale porosity))*B; shale porosity=100*(Tsh-Tm)/(Tf-Tm); B=100/Tsh. Tlog=log travel time; Tm=matrix travel time (55.5=ss, 47.5=ls, 43.5=dolo); Tf=fluid travel time; Tsh=travel time of adjacent shale bed; B=compaction correction. Final porosities can be up to 30% high for a gas zone and 10% high for an oil zone. Often no correction is enough. Density log porosity, corrected for shale. Equations: Density porosity=100*(Dm-Dlog)/(Dm-Df); Density porosity(corr)=(Density porosity- (Vsh*shale porosity)); shale porosity=100*(Dm-Dsh)/(Dm-Df). Dm=matrix density (2.65=ss, 2.71=ls, 2.87=dolo); Dlog=log density; Df=fluid density; Dsh=adjacent shale density. The density log is one of the best porosity tools for shaley sands, since the densities of shale and sand are close and the magnitude of correction is less than for other logs. Porosity from compensated (CNL) or sidewall (SWN) neutron logs, corrected for shale. Since the neutron log reads porosity directly for a certain matrix, the program corrects logs run on ss or dolo matrix to equivalent ls values. Equations: SWN-DRESSER: Ps=2.696+1.106*Pl-.00311*Pl^2 Pd=-1.24+.824*Pl+.00384*Pl^2 SWN-SCHLUMBERGER: Ps=1.7+1.15*Pl-.00309*Pl^2 Pd=-.61+.779*Pl+.00539*Pl^2 CNL-DRESSER: Ps=Pl+4 if Pl>=12 then Pd=Pl-6 else Pd=.0714*Pl+.0476*Pl^2 CNL-SCHLUMBERGER: if Pl>10 then Ps=Pl+4.247 else Ps=2.547+1.42*Pl-.025*Pl^2 if Pl>27 then Pd=1.244*Pl-13.33 else Pd=-1.148+.3305*Pl+.01713*Pl^2 --where P=%porosity; subscripts s,l,d=sandstone, limestone, dolomite. The Pl root is found through a quadratic equation. The shale correction is: Neutron porosity(corr)=(Neutron porosity-(Vsh*shale porosity); where shale porosity is taken off an adjacent bed. As with sonic logs, there is often no satisfactory correction. MENU3:--POROSITY/LITHOLOGY CROSSPLOTS-- All of these programs solve a subset of the following simultaneous equations: Ds*Vs + Dl*Vl + Dd*Vd + Df*Vp=Dlog Ns*Vs + Nl*Vl + Nd*Vd + Nf*Vp=Nlog Ts*Vs + Tl*Vl + Td*Vd + Tf*Vp=Tlog Vs + Vl + Vd + Vp=1 Subscripts s,l,d,f,p=sandstone, limestone, dolomite, fluid, porosity; D=bulk density; N=neutron matrix effect; T=sonic travel time; V=volume fraction. The assumption is that the response of any particular tool is a sum of the responses of individual formation constituents times their volume fractions. The program solves for as many V's as there are equations, using a matrix approach called Gaussian elimination with partial pivoting. Acceptible porosities are -1% to 41%, and end member fractions from -1% to 101% (1% leeway for statistical error). A composition within these ranges is flagged [ok], otherwise possible reasons are given ([shale], [gas], etc.). Remember the sandstone volume fraction can also represent chert, and that one- mineral rocks will tend to have close to 100% for one member and a negative fraction for the other. You can sometimes remove the effect of the negative member by subtracting half its value from porosity and the positive end member. Most crossplots output more than one valid composition, so it is up to you to decide which is best based on additional geologic evidence like well cuttings & sample logs. The neutron (CNL or SWN)/density; sonic/neutron(CNL or SWN); and sonic/density crossplots. The sonic/density pair has poor resolving power, so you may find it less than helpful in many cases. The sonic/neutron/density ("M/N")crossplot. M=(1-Nlog)/(Dlog-Df); N=.01*(Tf-Tlog)/(Dl-Df); Nlog=neutron log value; Dlog=density log value; Df=fluid density; Tf=fluid travel time; Tlog=log travel time. "M" and "N" are output, but not used. All three porosity tool equations are solved directly without resorting to "hybrid" factors, so this program also replaces Schlumberger's MID and Dresser's A/K plots. After inputting the log data, you choose 3 end members out of a set of 5 for the ternary calculation: Quartz; Dolomite; Calcite; Gypsum; Anhydrite. Outputs are volume fractions for each one chosen, along with a ternary porosity value (try that by hand off an M/N plot!). You can loop to try other end members, or to enter new data. Run some two-log crossplots to pin down the causes of [unlikely] compositions. If a data point is actually a mixture of any of Q, D, C, or A--then the maximum error in porosity is about 1.5 units. If no combination seems to work, but you know gypsum and shale are not a problem, then porosity should be close. Schlumberger's Lithodensity/Photoelectric effect (LDT/Pe) crossplot and Matrix Identification Plot (MIP). The Pe simultaneous equation is similar to those described above: Ps*Vs + Pl*Vl + Pd*Vd + Pf*Vp=Plog. After entering density, Pe and optional neutron data, three compositions are presented. You choose one to calculate Umaa (apparent matrix cross-section) to enter the MIP chart. Umaa=(Pe*(LDT+.1883)/1.0704-porosity*Uf/(1-porosity); where Pe=photoelectric effect; LDT=lithodensity; porosity=value chosen off LDT/Pe crossplot; Uf=fluid volumetric cross section, .398 for fresh or 1.36 for saline water. This gives Umaa needed for one axis of the MIP chart. The other axis is apparent matrix density. If you chose to enter neutron data, this value is calculated from the neutron/density. Otherwise, it is calculated off the LDT/Pe crossplot using the porosity you picked. If the apparent density from the neutron/density combo is less than from the LDT/Pe combo, you get "***GAS IS CONFIRMED***" displayed--unmistakeable evidence of gas. Next you are asked to choose 3 end members from a set of 8: Quartz; Dolomite; Calcite; Kaolinite; Anhydrite, Illite; Potassium feldspar; Halite. The resulting MIP composition is output, with an option to loop back for different end members or new data. It will often be impossible to get a satisfactory MIP composition if gas is present. Using neutron data also leads to erroneous compositions more often than just using LDT/Pe data. When you choose a porosity off the LDT/Pe crossplot, be sure to try all valid ones. In the case of Schlumberger's example (1986 chartbook), a rock with LDT=2.52 and Pe=3.65 gives a crossplot ls/dolo porosity of 16% and an MIP composition of about 60% dolomite, 40% quartz. If you choose the equally-valid ss/ls porosity of 10%, the MIP composition changes drastically: to 40% quartz, 60% calcite...and no dolomite at all! Obviously the second answer is better because the lithologies match on both the LDT/Pe and MIP charts. As always, use sample data, cores, offset records to narrow lithology end-member choices.