Given:
- a function
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t, %7B\bf p%7D) |
---|
|
of real-value argument and set of model parameters LaTeX Math Inline |
---|
body | --uriencoded--%7B\bf p%7D = \%7B q%5e*_0, \, \tau_0, \, b \%7D |
---|
|
- a training data set:
LaTeX Math Inline |
---|
body | --uriencoded--\%7B (t_k, q_k)\%7D_%7Bk = 1..N%7D = \%7B (t_0, q_0), (t_1, q_1), ..., (t_N, q_N) \%7D |
---|
|
the matching procedure assumes searching for thee specific set of model parameters
LaTeX Math Inline |
---|
body | --uriencoded--%7B\bf p%7D |
---|
|
to minimize the goal function:
LaTeX Math Block |
---|
|
G({\bf p}) = \sum_{k=1}^N \, \Psi \left( q^*(t_k) - q_k \right) \rightarrow \textrm{min} |
where
is the discrepancy distance function.
Most popular choices are
LaTeX Math Inline |
---|
body | --uriencoded--\Psi(z) = z%5e2 |
---|
|
and
LaTeX Math Inline |
---|
body | --uriencoded--\Psi(z) = %7Cz%7C |
---|
|
.
There are few approaches to match the Arps decline to the historical data (or a training dataset within):
Anchor |
---|
| Unconstrained |
---|
| Unconstrained |
---|
|
Unconstrained matching
All three model parameters LaTeX Math Inline |
---|
body | --uriencoded--\%7B q%5e*_0, \, \tau_0, \, b \%7D |
---|
|
are being varied to achieve the best fit to the training dataset.
The best-fit model may not match:
- the initial production rate
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=0) \neq q_0 |
---|
|
- the current production rate
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=t_N) \neq q_N |
---|
|
- the current cumulative production
LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N) \neq Q_N |
---|
|
Match the value of the initial rate LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=0) = q_0 |
---|
|
The value of the model rate at the initial time moment is set to training dataset: LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=0) = q%5e*_0 = q_0 |
---|
|
and the two other model properties LaTeX Math Inline |
---|
body | --uriencoded--\%7B \tau_0, \, b \%7D |
---|
|
are being varied to achieve the best fit to the training dataset.
The best-fit model may not match:
- the current production rate
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=t_N) \neq q_N |
---|
|
- the current cumulative production
LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N) \neq Q_N |
---|
|
Match the value of the current rate LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=t_N) = q_N |
---|
|
The value of the model rate at the current time moment is set to training dataset: LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=t_N) = q_N |
---|
|
and the two other model properties LaTeX Math Inline |
---|
body | --uriencoded--\%7B \tau_0, \, b \%7D |
---|
|
are being varied to achieve the best fit to the training dataset.
This ensures the smooth transition from historical data LaTeX Math Inline |
---|
body | [(t_1,q_1)... (t_N, q_N)] |
---|
|
to the production forecasts in future time moments LaTeX Math Inline |
---|
body | --uriencoded--[(t_%7BN+1%7D,q_%7BN+1%7D), ...] |
---|
|
.
The best-fit model may not match:
- the initial production rate
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=0) \neq q_0 |
---|
|
- the current cumulative production
LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N) \neq Q_N |
---|
|
Anchor |
---|
| Current_cumulative |
---|
| Current_cumulative |
---|
|
Match the value of the current cumulative LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N) = Q_N |
---|
|
The value of the model rate at the initial time moment LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=0) = q%5e*_0 |
---|
|
is set to achieve the match between the values of current cumulative from model prediction and training dataset LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N) = Q_N |
---|
|
:
Exponential Production Decline | Hyperbolic Production Decline | Harmonic Production Decline |
---|
| | |
LaTeX Math Block |
---|
| q(t) = \frac{Q_N/\tau_0}{1-\exp(-t_N/\tau_0)} \cdot \exp(-t/\tau_0) |
| LaTeX Math Block |
---|
| q(t) = \frac{(1-b) \cdot Q_N/\tau_0}{ 1 - \left( 1 + b \, t_N/\tau_0 \right) ^{-b/(1-b)}} \cdot \frac{1}{\left(1 + b\, t/\tau_0 \right)^{1/b}} |
| LaTeX Math Block |
---|
| q(t)=\frac{Q_N/\tau_0}{\ln (1+ t_N/\tau_0)} \cdot \frac{1}{1+t/\tau_0} |
|
LaTeX Math Block |
---|
| Q(t) - Q_N = [ q^*_N - q(t)] \, \tau_0 |
| LaTeX Math Block |
---|
| Q(t) - Q_N = \frac{q^*_N^b \, (\tau_0 + b \, t_N)}{1-b} \left[ q^*_N^{1-b} - q^{1-b}(t) \right] |
| LaTeX Math Block |
---|
| Q(t) - Q_N = q^*_N \, (\tau_0 + t_N) \cdot \ln \frac{q^*_N}{q(t)} |
|
The best-fit model may not match:
- the initial production rate
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=0) \neq q_0 |
---|
|
- the current production rate
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=t_N) \neq q_N |
---|
|
Anchor |
---|
| Current_rate_cumulative |
---|
| Current_rate_cumulative |
---|
|
Match the value of the current rate and cumulative LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=t_N) = q_N |
---|
|
, LaTeX Math Inline |
---|
body | --uriencoded--Q%5e*(t=t_N) = Q_N |
---|
|
To ensure the smooth transition from historical data
LaTeX Math Inline |
---|
body | [(t_1,q_1)... (t_N, q_N)] |
---|
|
to the production forecasts in future time moments LaTeX Math Inline |
---|
body | --uriencoded--[(t_%7BN+1%7D,q_%7BN+1%7D), ...] |
---|
|
one may wish to constrain the model by firm matching the production at the last historical moment which leads to the following form of Arp's model:Exponential Production Decline | Hyperbolic Production Decline | Harmonic Production Decline |
---|
| | |
LaTeX Math Block |
---|
| q(t)=q_N \cdot \exp \big[ -(t-t_N)/\tau_0 \big] |
| LaTeX Math Block |
---|
| q(t) = q_N \cdot \left[ \frac{1+b \cdot t_N/\tau_0 }
{ 1+b \cdot t/\tau_0 } \right]^{1/b} |
| LaTeX Math Block |
---|
| q(t) = q_N \cdot \left[ \frac{1+t_N/\tau_0 }
{ 1+ t/\tau_0 } \right] |
|
LaTeX Math Block |
---|
| Q(t) - Q_N = [ q_N - q(t)] \, \tau_0 |
| LaTeX Math Block |
---|
| Q(t) - Q_N = \frac{q_N^b \, (\tau_0 + b \, t_N)}{1-b} \left[ q_N^{1-b} - q^{1-b}(t) \right] |
| LaTeX Math Block |
---|
| Q(t) - Q_N = q_N \, (\tau_0 + t_N) \cdot \ln \frac{q_N}{q(t)} |
|
The best-fit model may not match:
- the initial production rate
LaTeX Math Inline |
---|
body | --uriencoded--q%5e*(t=0) \neq q_0 |
---|
|
See Also
Petroleum Industry / Upstream / Production / Subsurface Production / Field Study & Modelling / Production Analysis / Decline Curve Analysis / DCA Arps @model