mbal_forecast_gas: Generic function for performance forecasting of a gas...

Description Usage Arguments Value References Examples

View source: R/mbal_gas_forecast.R

Description

Generate a data frame of reservoir production estimates, and fluids saturations and liquid dropout in the gas leg according to the class of 'forecast_lst' and 'time_lst' objects

Usage

1
mbal_forecast_gas(forecast_lst, time_lst)

Arguments

forecast_lst

a list object of class 'forecast_gas'

time_lst

a list object of class 'time/date'

Value

a data frame with estimates for saturation of fluids, liquid dropout, gas-oil ratio, recovery factor, and drive indices over a range of given pressures

References

\insertRef

Walsh2003Rmbal

\insertRef

Walsh1994aRmbal

\insertRef

Walsh1994Rmbal

\insertRef

Walsh1995Rmbal

\insertRef

Fetkovich1998Rmbal

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
p_pvt <- c(3700, 3650, 3400, 3100, 2800, 2500, 2200, 1900, 1600, 1300, 1000,
700,  600, 400)

Bo <- c(10.057, 2.417, 2.192, 1.916, 1.736, 1.617, 1.504, 1.416, 1.326, 1.268,
1.205, 1.149, 1.131, 1.093)

Rv <- c(84.11765, 84.11765, 70.5, 56.2, 46.5, 39.5, 33.8, 29.9, 27.3, 25.5, 25.9,
28.3, 29.8, 33.5) / 1e6

Rs <- c(11566, 2378, 2010, 1569, 1272, 1067, 873, 719, 565, 461, 349, 249, 218,
141)

Bg <- c(0.87, 0.88, 0.92, 0.99, 1.08, 1.20, 1.35, 1.56, 1.85, 2.28, 2.95, 4.09,
4.68, 6.53) / 1000

cw <- 3e-6

Bwi <- 10.05

Bw <- Bwi * exp(cw * (p_pvt[1] - p_pvt))

muo <- c(0.0612, 0.062, 0.1338, 0.1826, 0.2354, 0.3001, 0.3764, 0.4781, 0.6041,
0.7746, 1.0295, 1.358, 1.855, 2.500)

mug <- c(0.0612, 0.062, 0.0554, 0.0436, 0.0368, 0.0308, 0.0261, 0.0222, 0.0191,
0.0166, 0.0148, 0.0135, 0.0125, 0.0115)

muw <- rep(0.25, length(p_pvt))

pvt_table <- data.frame(p = p_pvt, Bo = Bo, Rs = Rs, Rv = Rv, Bg = Bg, Bw = Bw,
 muo = muo, mug = mug, muw = muw)

rel_perm <- as.data.frame(Rrelperm::kr2p_gl(SWCON = 0.2, SOIRG = 0.15,
SORG = 0.15, SGCON = 0.05, SGCRIT = 0.05, KRGCL = 1, KROGCG = 1,
NG = 3.16, NOG = 2.74, NP = 101))

colnames(rel_perm) <- c("Sg", "Sl", "Krg", "Krog")

p <- c(3700, 3650, 3400, 3100, 2800, 2500, 2200, 1900, 1600, 1300, 1000, 700,
600)

Gi <- rep(0, length.out = length(p))

wf <- rep(1, length.out = length(p))

forecast_lst <- mbal_forecast_param_gas(input_unit = "Field",
output_unit = "Field", G = 2.41e10, phi = 0.1, swi = 0.2, pd = 3650,
p = p, pvt = pvt_table, M = 0, cf = 2e-6, wf = wf,
rel_perm = rel_perm)

time_lst <- mbal_time(c(1:length(p)), "year")

mbal_forecast_results <- mbal_forecast_gas(forecast_lst, time_lst)

dplyr::glimpse(mbal_forecast_results)

Rmbal documentation built on July 8, 2020, 7:16 p.m.