bluebonnet.forecast.forecast

Fit and forecast production from hydrofractured reservoirs.

Classes

Bounds

Set the upper and lower limits for the fitting curve.

ForecasterOnePhase

Forecaster for production decline models.

Module Contents

class bluebonnet.forecast.forecast.Bounds[source]

Set the upper and lower limits for the fitting curve.

Parameters:
  • M (tuple of floats) – (min, max) for resource in place

  • tau (tuple of floats) – (min, max) for time-to-BDF

M: tuple[float, float]

Minimum and maximum resource in place

tau: tuple[float, float]

Minimum and maximum time-to-boundary dominated flow

__post_init__()[source]

Validate bounds.

fit_bounds()[source]

Return bounds for forecaster instance fits.

regularize_initial_guess(guess: list[float]) list[float][source]

Ensure that initial guess is within bounds

class bluebonnet.forecast.forecast.ForecasterOnePhase[source]

Forecaster for production decline models.

Parameters:
  • rf_curve (Callable) – the recovery factor over scaled time, as a callable (interpolators are best). So rf_curve(time_scaled) -> recovery_factor

  • bounds (Bounds) – the minimum and maximum values that the rf_curve accepts (watch the limits for the rf_curve function)

rf_curve: collections.abc.Callable

function or interpolator with recovery factor over scaled time

bounds: Bounds

Limits on max and min resource in place and time-to-BDF

forecast_cum(time_on_production: numpy.typing.NDArray[numpy.float64], M: float | None = None, tau: float | None = None)[source]

Forecast cumulative production.

Parameters:
  • time_on_production (ndarray) – time since the well started producing (days or years, ideally, since months are uneven)

  • M (float) – the resource in place (Mstb, Mscf, or other standard units)

  • tau (float) – the time until BDF/depletion flow (days or years, same units as time on prod)

fit(time_on_production: numpy.ndarray, cum_production: numpy.ndarray, tau: float | None = None)[source]

Fit well production to the physics-based scaling model.

Parameters:
  • time_on_production (ndarray) – time since the well started producing (days or years, ideally, since months are uneven)

  • cum_production (ndarray) – the cumulative production over time (Mstb, Mscf, or other standard units)

  • tau ([Optional float]) – the time-to-depletion (BDF), using the same units as time on prod. If not provided, will find best tau.