bluebonnet.forecast.forecast_pressure¶
Forecast when bottomhole/fracface pressure is known and varying.
Functions¶
|
Fit cumulative production given fracface pressure. |
|
Compare production to match. |
Module Contents¶
- bluebonnet.forecast.forecast_pressure.fit_production_pressure(prod_data: pandas.DataFrame, pvt_table: pandas.DataFrame, pressure_initial: float, filter_window_size: int | None = None, pressure_imax: float = 15000, inplace_max: float = 100000, filter_zero_prod_days: bool = True, n_iter: int = 100, params: lmfit.Parameters | None = None) lmfit.Parameters[source]¶
Fit cumulative production given fracface pressure.
- Parameters:
prod_data (pd.DataFrame) – contains columns ‘Days’, ‘Gas’, and ‘Pressure’
pvt_table (pd.DataFrame) – information on equation of state, for example from build_pvt_gas
pressure_initial (float) – guess for initial reservoir pressure
filter_window_size (int or None) – If not None, boxcar filter size to average pressure data
pressure_imax (float, Optional) – maximum allowed initial reservoir pressure. pvt had better include this pressure
inplace_max (float) – Maximum allowed resource in place
filter_zero_prod_days (bool) – Filter out days without gas production or pressure value. Also shortens days on production to only include productive days.
n_iter (integer, default to 100) – number of times to iterate until stabilizes
params (Parameters) – Initial guesses for tau, M, and p_initial. You can pass in results from previous fit.
- Returns:
params – Best fits for tau, M, and p_initial
- Return type:
Parameters
- bluebonnet.forecast.forecast_pressure.plot_production_comparison(prod_data: pandas.DataFrame, pvt_table: pandas.DataFrame, params: lmfit.Parameters, filter_window_size: int | None = None, filter_zero_prod_days: bool = True, well_name: str = 'Well Name') Any[source]¶
Compare production to match.
- Parameters:
prod_data (pd.DataFrame) – contains columns ‘Days’, ‘Gas’, and ‘Pressure’
pvt_table (pd.DataFrame) – information on equation of state, for example from build_pvt_gas
params (Parameters) – fit result parameters
filter_window_size (int or None) – If not None, boxcar filter size to average pressure data
filter_zero_prod_days (bool) – Filter out days without gas production or pressure value. Also shortens days on production to only include productive days.
params – Best fits for tau, M, and p_initial
well_name (str) – name to label production with
- Returns:
fig, (ax1, ax2) – matplotlib figure and tuple of axes with cumulative production and pressure over time (scaled by tau)
- Return type:
Any