Reservoir engineer capability map

This page ties common engineering questions to ResSmith entry points. It complements the Model selection guide (decline models) and Advanced workflows (multi-well and heavier flows).

If you are new to the package, start with Getting started.

Bundled study workflows (single call)

Goal

Function

Notes

Full interference pass (distances + matrix + optional EUR-based pairs + spacing hint)

well_interference_study

Wraps calculate_well_distances, analyze_interference_matrix, optional analyze_interference_with_production_history, recommend_spacing

Coning screen + optional WOR/GOR vs time

coning_study

Wraps analyze_well_coning and optionally forecast_wor_gor_with_coning

RTA stack (normalize, type curve, Blasingame, DN, optional FMB / fracture, log-log diagnostics)

enhanced_rta_study

Toggles per step; failures in one step do not stop the rest

All three are exported from import ressmith and ressmith.workflows.

By play type or problem

Unconventional: spacing, interference, multi-well

Question

Start here

One-call interference study

well_interference_study

How much do my wells interfere?

analyze_interference_matrix, analyze_interference_with_production_historyressmith/workflows/interference.py

Distances and pairs

calculate_well_distances — same module

Spacing recommendation from EUR

recommend_spacing_from_eur

Field-level spacing target

optimize_field_spacingressmith/workflows/multi_well.py

Drainage overlap / multi-well interaction

analyze_multi_well_interaction, calculate_drainage_overlap_matrix — primitives multi_well + workflows

Conventional: coning, breakthrough, WOR/GOR

Question

Start here

One-call coning + optional yield forecast

coning_study

Critical rate (vertical well)

meyer_gardner_critical_rate, chierici_ciucci_critical_rateressmith/primitives/coning.py

Full coning workflow

analyze_well_coningressmith/workflows/coning.py

Forecast with coning-style yields

forecast_wor_gor_with_coning

RTA, type curves, diagnostics

Question

Start here

One-call enhanced RTA bundle

enhanced_rta_study

Pressure-normalized rates

normalize_production_with_pressure, normalize_for_type_curve_matchingressmith/workflows/pressure_normalization.py

Type curve match

match_type_curve_workflow (workflow), match_type_curve (primitive)

Diagnostic plot data (for your own plots or PlotSmith)

generate_diagnostic_plot_data, generate_all_diagnostic_plotsressmith/workflows/diagnostic_plotting.py

Blasingame / DN / FMB style analysis

ressmith/primitives/advanced_rta.py

EOR and waterflood

Question

Start here

Pattern sweep and efficiency

analyze_waterflood, predict_waterflood_performance — workflows; ressmith/primitives/eor.py for correlations

Five-spot / line drive / peripheral

See WaterfloodPatternResult and pattern arguments in workflows/eor.py

Rel perm, Pc, hysteresis

Question

Start here

Corey, LET, Brooks–Corey, van Genuchten

ressmith/primitives/relative_permeability.py

Three-phase curves

generate_three_phase_relative_permeability and related generators in workflows + primitives

Hysteresis adjustment

apply_hysteresis_to_relative_permeability

Production operations

Question

Start here

Allocation factors on production tables

apply_allocation_adjustmentressmith/workflows/downtime.py

Allocation and facility-style helpers

ressmith/primitives/production_ops.py

Choke / lift optimization

optimize_choke_size, optimize_esp_system, optimize_gas_lift_systemressmith/workflows/

Well tests

Question

Start here

“Does this test data make sense?”

validate_well_test_data, validate_well_test_results, validate_and_analyze_well_testressmith/workflows/well_test_validation.py (also exported from top-level ressmith)

Buildup / drawdown analysis

analyze_buildup_test, analyze_drawdown_testressmith/primitives/well_test.py

Simulator bridge and history matching

Question

Start here

Export / import for external simulators

export_for_simulator, import_simulator_output, compare_simulation_to_forecastressmith/workflows/simulator.py

Material balance history match

history_match_material_balance, calculate_history_match_objectiveressmith/workflows/history_matching.py

Economics and portfolio

Question

Start here

Single-well or batch economics

evaluate_economics, portfolio helpers under ressmith/workflows (e.g. analyze_portfolio)

Backtesting forecast quality

walk_forward_backtest

Plotting and ecosystem

Question

Start here

Quick forecast plot via PlotSmith

plot_forecastressmith/workflows/integrations.py

Outliers

detect_outliers — same module

Pitfalls (short)

  • Optional packages: Plotting and some validators need plotsmith, timesmith.typing, etc. Install extras or use workflows that degrade gracefully (see README Development section).

  • Heavy ML / spatial: ARIMA, kriging, Chronos, etc. need ressmith[stats], [spatial], [llm], or [ml] as documented in pyproject.toml.

  • Not a full simulator: Use export/import and objectives to couple to your simulator; ResSmith stays explicit about what it computes vs. what you run externally.