welltest_pta.Event

class welltest_pta.Event[source]

Bases: object

A single PTA event (drawdown or buildup) with its data slice and methods.

Parameters:
__init__(event_id, event_type, idx_start, idx_end, t_start, t_end, elapsed_start_hr, elapsed_end_hr, data, rate=None, preceding_dd_dur_hr=None, parent_p_reservoir=None, metadata=<factory>)
Parameters:
Return type:

None

Methods

__init__(event_id, event_type, idx_start, ...)

bourdet([L])

Return (Δt, Bourdet derivative) for this event.

export(path[, format])

Save this event's data slice to CSV / Excel / JSON.

flow_regimes([L, slope_tol])

Auto-identify flow regimes from the Bourdet derivative.

horner([fit_start_frac, fit_end_frac])

Horner P* extrapolation.

mdh([fit_start_frac, fit_end_frac])

MDH semi-log analysis.

plot([ax, raw])

Pressure vs time for this single event.

plot_horner([ax])

Horner plot (buildups only).

plot_loglog([ax, L])

Log–log diagnostic plot (|ΔP| and Bourdet derivative).

plot_mdh([ax])

MDH semi-log plot (buildups only).

print()

Pretty-print the event summary.

reservoir_params(q, mu, B, h, phi, ct, rw[, ...])

Compute \(k\), \(kh\), skin \(S\) (and \(C\) if early-storage slope detected) for this buildup.

summary()

Return a summary dictionary of this event's statistics.

Attributes

delta_p

duration_hr

p_final

p_initial

parent_p_reservoir

preceding_dd_dur_hr

rate

rate_psi_per_hr

event_id

event_type

idx_start

idx_end

t_start

t_end

elapsed_start_hr

elapsed_end_hr

data

metadata

event_id: str
event_type: str
idx_start: int
idx_end: int
t_start: Timestamp
t_end: Timestamp
elapsed_start_hr: float
elapsed_end_hr: float
data: DataFrame
rate: float | None = None
preceding_dd_dur_hr: float | None = None
parent_p_reservoir: float | None = None
metadata: dict[str, Any]
property duration_hr: float
property p_initial: float
property p_final: float
property delta_p: float
property rate_psi_per_hr: float
summary()[source]

Return a summary dictionary of this event’s statistics.

Return type:

dict[str, Any]

print()[source]

Pretty-print the event summary.

Return type:

None

export(path, format='auto')[source]

Save this event’s data slice to CSV / Excel / JSON.

Parameters:
Return type:

None

bourdet(L=0.2)[source]

Return (Δt, Bourdet derivative) for this event.

Parameters:

L (float)

Return type:

tuple[ndarray, ndarray]

horner(fit_start_frac=0.30, fit_end_frac=0.85)[source]

Horner P* extrapolation. Buildup only.

Parameters:
Return type:

dict[str, float]

mdh(fit_start_frac=0.30, fit_end_frac=0.85)[source]

MDH semi-log analysis. Buildup only.

Parameters:
Return type:

dict[str, float]

flow_regimes(L=0.2, slope_tol=0.10)[source]

Auto-identify flow regimes from the Bourdet derivative.

Parameters:
Return type:

list[dict[str, Any]]

reservoir_params(q, mu, B, h, phi, ct, rw, method='horner')[source]

Compute \(k\), \(kh\), skin \(S\) (and \(C\) if early-storage slope detected) for this buildup.

Parameters:
  • q (float) – Fluid / reservoir / well properties (see welltest_pta.analysis.reservoir.reservoir_parameters()).

  • mu (float) – Fluid / reservoir / well properties (see welltest_pta.analysis.reservoir.reservoir_parameters()).

  • B (float) – Fluid / reservoir / well properties (see welltest_pta.analysis.reservoir.reservoir_parameters()).

  • h (float) – Fluid / reservoir / well properties (see welltest_pta.analysis.reservoir.reservoir_parameters()).

  • phi (float) – Fluid / reservoir / well properties (see welltest_pta.analysis.reservoir.reservoir_parameters()).

  • ct (float) – Fluid / reservoir / well properties (see welltest_pta.analysis.reservoir.reservoir_parameters()).

  • rw (float) – Fluid / reservoir / well properties (see welltest_pta.analysis.reservoir.reservoir_parameters()).

  • method (str) – "horner" (default) or "mdh".

Return type:

dict[str, float]

plot(ax=None, raw=True)[source]

Pressure vs time for this single event.

Parameters:
plot_loglog(ax=None, L=0.2)[source]

Log–log diagnostic plot (|ΔP| and Bourdet derivative).

Parameters:
plot_horner(ax=None)[source]

Horner plot (buildups only).

Parameters:

ax (Axes | None)

plot_mdh(ax=None)[source]

MDH semi-log plot (buildups only).

Parameters:

ax (Axes | None)

__init__(event_id, event_type, idx_start, idx_end, t_start, t_end, elapsed_start_hr, elapsed_end_hr, data, rate=None, preceding_dd_dur_hr=None, parent_p_reservoir=None, metadata=<factory>)
Parameters:
Return type:

None