A basic drawdown test analysis using semilog method.
Example 3.1 from Lee, J. & Spivey, J. (2013) Applied Well Test Interpretation using the recommended procedure
First, we load the libraries that we use and the Presurre data. In this case the data is on a CSV file, graphing the flowing bottomhole pressure, pwf vs. the test time, t, on a semilog scale, we can identify IARF with a straight line after 5 hours
We can filter the data after 5 hours and use it to fit a linear regression model. Using the lm() function the data is fitting and the model is use to generate Pwf value for all test time.
Finally we plot the pwf data and the straight fit line
data.DD_filter <- data.DD %>%
filter(t>=5)
fit_sl <- lm(pwf ~ log10(t), data.DD_filter)
data.DD$fit <- predict(fit_sl, data.DD)
P_hr <- as.numeric(coefficients(fit_sl)[2]*log10(1)+coefficients(fit_sl)[1])
plot_pwf <- plot_pwf %>%
add_lines(data = data.DD, x = ~t, y = ~fit, line = list(color = "red"), name = "Slope" ) %>%
add_markers( x = 1, y = P_hr, marker = list(color = "black", size = 10), name = "P1hr")
plot_pwf
After that we get the slope and the pressure to 1 hr using the model. Also we can stimate slope using 2 value in the IARF region.
Qo <- 125 #STB/D
h <- 32 #ft
phi <- 0.22 #fraction
Bo <- 1.125 #RB/STB
Pi <- 2750 #psia
ct <- 0.0000109 #psia -1
rw <- 0.25 #ft
vis <- 2.122 #cp
P_hr <- as.numeric(coefficients(fit_sl)[2]*log10(1)+coefficients(fit_sl)[1])
m <- as.numeric(abs(coefficients(fit_sl)[2]))
m2 <- abs((3549-3583)/(log10(29.8)-log10(9.99)))
print(paste("P1hr = ", P_hr, " psia"))
[1] "P1hr = 2065.95752748412 psia"
[1] "m = 67.9209749669651"
[1] "m2 = 71.6316115550292"
Now, we can stimate permeability, skin and radius of investigation using the following formulas
\[ k = \frac{162.6qB\mu}{|m|h}\] \[ s = 1.151 \left[\frac{p_i-p_{1hr}}{|m|}-log\left(\frac{k}{\phi\mu c_tr_w^2}\right)+3.23\right]\]
\[ r_i = \sqrt[]{\frac{kt}{948\phi\mu c_t}}\] k <- (162.6*Qo*Bo*vis)/(m*h)
s <- 1.151*((Pi-P_hr)/m-log10((k)/(1688*phi*vis*ct*rw^2))+3.23)
ri <- sqrt((k*max(data.DD$t))/(948*phi*vis*ct))
print(paste("k = ", k, " md"))
[1] "k = 22.324131220878 md"
[1] "s = 9.99324050676807"
[1] "ri = 577.234239092601 ft"
Reference Lee, J. & Spivey, J. (2013) Applied Well Test Interpretation using the recommended procedure
For attribution, please cite this work as
Vazquez (2021, Aug. 18). Chato Solutions: Drawdown semilog analysis. Retrieved from https://www.chatosolutions.com/posts/2021-08-18-ex1semilog/
BibTeX citation
@misc{vazquez2021drawdown, author = {Vazquez, Rigoberto Chandomi}, title = {Chato Solutions: Drawdown semilog analysis}, url = {https://www.chatosolutions.com/posts/2021-08-18-ex1semilog/}, year = {2021} }