Basrah university for Oil & Gas
College of Oil & Gas engineering
Departement of Oil & Gas
Iraq - Basrah
Content:
Preparing and recalling data.
Modelling Correction of Porosity & Permeability
Parameter visualization
In this section we will recall the data that we will work on from an external file and then calling our dataset:
setwd("C:/Users/Hussein Malik/Desktop/R data") # setting working directory
d1<-read.csv("C:/Users/Hussein Malik/Desktop/R data/karpur.csv",header = TRUE) # calling dataset
head(d1)
## depth caliper ind.deep ind.med gamma phi.N R.deep R.med SP
## 1 5667.0 8.685 618.005 569.781 98.823 0.410 1.618 1.755 -56.587
## 2 5667.5 8.686 497.547 419.494 90.640 0.307 2.010 2.384 -61.916
## 3 5668.0 8.686 384.935 300.155 78.087 0.203 2.598 3.332 -55.861
## 4 5668.5 8.686 278.324 205.224 66.232 0.119 3.593 4.873 -41.860
## 5 5669.0 8.686 183.743 131.155 59.807 0.069 5.442 7.625 -34.934
## 6 5669.5 8.686 109.512 75.633 57.109 0.048 9.131 13.222 -39.769
## density.corr density phi.core k.core Facies phi.core.fr.
## 1 -0.033 2.205 33.9000 2442.590 F1 0.339000
## 2 -0.067 2.040 33.4131 3006.989 F1 0.334131
## 3 -0.064 1.888 33.1000 3370.000 F1 0.331000
## 4 -0.053 1.794 34.9000 2270.000 F1 0.349000
## 5 -0.054 1.758 35.0644 2530.758 F1 0.350644
## 6 -0.058 1.759 35.3152 2928.314 F1 0.353152
porosity_model<-lm(phi.core.fr.~phi.N+Facies-1,data = d1)
summary(porosity_model)
##
## Call:
## lm(formula = phi.core.fr. ~ phi.N + Facies - 1, data = d1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.103530 -0.011573 -0.000206 0.010463 0.102852
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## phi.N 0.013364 0.018060 0.74 0.46
## FaciesF1 0.314805 0.002777 113.37 <2e-16 ***
## FaciesF10 0.207680 0.005072 40.95 <2e-16 ***
## FaciesF2 0.175233 0.009390 18.66 <2e-16 ***
## FaciesF3 0.231939 0.004955 46.81 <2e-16 ***
## FaciesF5 0.272953 0.003914 69.74 <2e-16 ***
## FaciesF7 0.225164 0.008730 25.79 <2e-16 ***
## FaciesF8 0.305884 0.005019 60.94 <2e-16 ***
## FaciesF9 0.264448 0.004825 54.81 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02326 on 810 degrees of freedom
## Multiple R-squared: 0.9928, Adjusted R-squared: 0.9928
## F-statistic: 1.246e+04 on 9 and 810 DF, p-value: < 2.2e-16
corrected_porosity<-predict(porosity_model,d1)
summary(corrected_porosity)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1775 0.2345 0.2682 0.2693 0.3094 0.3203
permability_model<-lm(d1$k.core~corrected_porosity+Facies-1,data = d1)
summary(permability_model)
##
## Call:
## lm(formula = d1$k.core ~ corrected_porosity + Facies - 1, data = d1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5613.4 -596.9 -130.3 475.0 10449.1
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## corrected_porosity -412352 89814 -4.591 5.11e-06 ***
## FaciesF1 132659 28386 4.673 3.47e-06 ***
## FaciesF10 87869 18969 4.632 4.21e-06 ***
## FaciesF2 73980 16049 4.610 4.69e-06 ***
## FaciesF3 97910 21087 4.643 4.00e-06 ***
## FaciesF5 118916 24729 4.809 1.81e-06 ***
## FaciesF7 95868 20496 4.677 3.40e-06 ***
## FaciesF8 130990 27786 4.714 2.86e-06 ***
## FaciesF9 111324 24050 4.629 4.28e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1546 on 810 degrees of freedom
## Multiple R-squared: 0.7652, Adjusted R-squared: 0.7626
## F-statistic: 293.2 on 9 and 810 DF, p-value: < 2.2e-16
corrected_permability<-predict(permability_model,d1)
summary(corrected_permability)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.26 861.89 1833.75 2251.91 3409.26 6280.63
In this section we will display our parameters by using plot function.
par(mfrow=(c(1,5)))
plot(d1$phi.core.fr.,d1$depth,ylim =rev (c(5667,6083)),xlim = c(0.1570,0.3630),type = "l",lwd=2,xlab = 'core porosity',ylab = 'depth m',col="red")
plot(corrected_porosity,d1$depth,ylim =rev (c(5667,6083)),xlim = c(0.1775,0.3203),type = "l",lwd=2,xlab = 'corrected core porosity',ylab = 'depth m',col="green")
plot(d1$k.core,d1$depth,ylim =rev (c(5667,6083)),xlim = c(0.42,15600.00),type = "l",lwd=2,xlab = 'core permability',ylab = 'depth m',col="blue")
plot(corrected_permability,d1$depth,ylim =rev (c(5667,6083)),xlim = c(11.26,6280.63),type = "l",lwd=2,xlab = 'corrected core permability',ylab = 'depth m',col="orange")
boxplot(depth~Facies,data = d1,ylim =rev (c(5667,6083)))