# arps.with.buildup: Arps declines with linear buildup period In aRpsDCA: Arps Decline Curve Analysis in R

## Description

Extend Arps decline curve objects by replacing early-time declines with a buildup period in which rate is a linear function of time.

## Usage

 `1` ``` arps.with.buildup(decl, initial.rate, time.to.peak) ```

## Arguments

 `decl` an Arps decline object as produced by `arps.decline`. `initial.rate` initial rate [volume / time] (at time = 0) for buildup period. `time.to.peak` time to peak rate (i.e.~length of buildup period).

## Value

`arps.with.buildup` returns an object having class `"arps"`, which may be used as an argument to methods such as `arps.q`, `arps.Np`, `arps.D`, or `print.arps`.

This object implements a decline curve which behaves as `decl` for all time greater than `time.to.peak`, but implements a linear buildup of rate interpolated between `initial.rate` at time zero and `arps.q(decl, time.to.peak)` at `time.to.peak`.

`arps.decline`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16``` ```## hyperbolic decline with ## qi = 500 bopd, Di = 3.91 nominal / year, b = 1.5, ## cumulative production at t = 5 years decline <- arps.decline( rescale.by.time(500, from="day", to="year", method="rate"), 3.91, 1.5) # add buildup from initial rate of 50 bopd, over 30 days decline.with.buildup <- arps.with.buildup(decline, rescale.by.time(50, from="day", to="year", method="rate"), rescale.by.time(30, from="day", to="year", method="time")) # forecast 5 years and compare forecast.time <- seq(0, 5, 0.1) plot(arps.q(decline, forecast.time) ~ forecast.time, log="y", type="l", lty="dashed", col="red") lines(arps.q(decline.with.buildup, forecast.time) ~ forecast.time, lty="dotted", col="blue") ```