Well Data
Enter casing, tubing, perforations, production, and fluid shot data for a well in PetroBench. What each tab is for, what the fields mean, and why each piece matters for simulation accuracy.
The Well Data tab is where you describe the physical well. Pipe in the ground, where fluid enters, what it produces, and how full the wellbore is.
Well Data vs Simulations
Well Data is the source of truth about the well. Simulations are apps that read from it. Update once and every new run sees it.
- Update once, used everywhere
- Existing simulation results are snapshots, re-run to pick up changes
- One well's data can support many designs at the same time
The Five Sub-Tabs
Casing → Tubing → Perforation → Production → Fluid Shots. Fill them left to right. Minimums are called out in each section.
1. Casing
The casing tab describes the steel strings cemented in the ground. PetroBench uses these for the pressure boundary, drift diameters, and where the pump can sit.
1.1 Casing Source Data
Four reference elevations sit at the top of the tab. Get these right first because every other depth is referenced to them.
| Field | What it is |
|---|---|
| Ground Elevation | Surface elevation above sea level (ft ASL) |
| CF Elevation | Casing Flange elevation, where the wellhead sits |
| KB - Ground Distance | Kelly Bushing height above ground |
| KB - CF Distance | Auto-calculated |
All depths in PetroBench are measured from KB (Kelly Bushing) by default, written as ftKB. If you only know depths from ground level, fill in KB - Ground so PetroBench can convert.
1.2 Add a Casing String
Click Add Casing String and pick the type:
| Type | When you use it |
|---|---|
| Conductor | Outermost, shallowest string |
| Surface | Set through fresh-water aquifers |
| Intermediate | Between surface and production |
| Production | The string the reservoir produces into |
| Liner | Smaller diameter extension of the production string |
For each string fill in Set Depth (ftKB), Set Tension (lb), and OD (in).
1.3 Add Casing Rows
Inside each string click Add Row to add joints, shoes, and float collars.
| Field | What it does |
|---|---|
| Description | Casing Joint(s), Shoe, Float Collar |
| OD / Grade / Weight | ID auto-populates from API tables |
| Top / Bottom Depth (ftKB) | Where the row sits |
| Drift (in) | Internal drift diameter |
| Burst / Collapse (psi) | Pressure ratings |
| Centralizers | Number per joint |
Casing data is optional. A simulation runs without it. Add the strings you have for a fuller wellbore picture; burst, collapse, and centralizers are always optional.
2. Tubing
The most important tab in Well Data. It sets PSN Depth: where the pump seats. That number drives almost every downstream calculation.
2.1 PSN Depth
PSN = Pump Seating Nipple.
| Field | What it is |
|---|---|
| PSN Depth (ftKB) | Measured depth where the pump sits. Required |
| PSN Max Inclination | Maximum allowable angle at the pump. Default 30° |
| PSN Max DLS | Maximum allowable dogleg severity at the pump. Default 6°/100ft |
| Max DLS Above PSN | Maximum allowable dogleg severity in the section above the pump |
If your PSN is in a section that exceeds these limits, RodSim warns you when you try to run.
2.2 Tubing Anchor
| Field | What it does |
|---|---|
| Tubing Anchored? | Yes if anchored |
| Tubing Anchor Depth (ftKB) | Auto-sets to PSN minus 30 ft when anchor is on |
This toggle changes how stretch and rod loads are calculated.
2.3 Tubing Sections
Click Add Tubing Section for each piece of pipe between surface and PSN.
| Field | What to enter |
|---|---|
| Description | Tubing, Mud Anchor, PSN, and other downhole components. The dropdown lists the full set |
| OD (in) | 1.900", 2.375", 2.875", 3.500" |
| Grade | J55, N80, L80, P110 |
| Top Thread | EUE, NUE, or Premium |
| Weight (lb/ft) | Filters compatible IDs and drifts |
| Coupler Type / OD | Regular or Special Clearance |
| Top / Bottom Depth (ftKB) | Where this section sits |
| Quantity | Number of joints (optional) |
Pick OD first, then Grade, then Weight. Each dropdown filters the next.
3. Perforations
The holes shot through casing into the formation. They control where fluid enters the wellbore.
Click Add Interval for each perforated zone:
| Field | What to enter |
|---|---|
| Perforation Interval | Sequential number, auto-assigned |
| Top Depth (ftKB) | Top of the zone |
| Bottom Depth (ftKB) | Bottom of the zone. Must be greater than Top |
| Date | Date the perforations were shot |
The mid-perforation depth is what RodSim uses for IPR pressure calculations. With multiple intervals, RodSim averages midpoints weighted by interval length.
3.1 Why the Date Matters
The date does not affect the simulation directly, but PetroBench uses it to:
- Filter production history before vs after a re-perforation
- Show on the well timeline alongside fluid shots and workovers
- Help diagnose production declines tied to perforation events
4. Production
The well's production history. Each row is one day's reading.
4.1 Manual Entry
Click Add Row:
| Field | Units |
|---|---|
| Date | YYYY-MM-DD |
| Oil | bbl/day |
| Water | bbl/day |
| Gas | mcf/day |
PetroBench auto-calculates Total Fluid, Water Cut (%), and GOR (scf/bbl).
4.2 Bulk Import
For a few months or years of history, use Import.
- Click Import
- Drop a
.xlsx,.xls, or.csvfile - Required columns: Date plus at least one of Oil, Water, or Gas
- Pick Skip or Overwrite for duplicate dates
- Review the preview, then Import
4.3 Why Production Data Matters
Production history feeds three things downstream:
- Fluid shot calibration: PetroBench cross-checks fluid level changes against rate changes
- IPR test points: each row is a candidate point on the deliverability curve
- Decline curves: visualised on the well overview to spot anomalies
You only need one recent reading to run a simulation. More rows make IPR and trend analysis better.
5. Fluid Shots
Fluid shot measurements tell PetroBench how full the wellbore is and what the bottomhole pressure looks like. This is how you calibrate against the real well.
5.1 Manual Entry
Click Add Row:
| Field | Units | What it measures |
|---|---|---|
| Date | YYYY-MM-DD | Date of measurement |
| Time | h:mm AM/PM | Time of measurement |
| Liquid Level | ftMD | Depth from surface to top of fluid |
| Fluid Above Pump | ftTVD | True vertical fluid column above pump |
| Gas-Free Equiv. | ftTVD | Column without gas in solution. ≤ Fluid Above Pump |
| Casing Pressure | psi | Surface pressure on the casing annulus |
| PIP | psi | Pump Intake Pressure |
| PBHP | psi | Pump Bottom Hole Pressure. Must be ≥ PIP |
PIP and PBHP are the two numbers RodSim cares about most. PIP feeds the dynamic intake calculation, PBHP feeds the IPR.
5.2 Import from PDF
If you use a fluid level reader, the equipment usually outputs a PDF report.
- Click Import
- Drop the PDF file
- PetroBench parses date, level, pressures, and gas-free values
- Review and Import
If the parser misses a field, enter it manually after import. The other fields still come through.
5.3 Why Fluid Shots Matter
A fluid shot tells you what the well is actually doing right now. It is the only way to calibrate a simulation against reality.
In RodSim's Simulation Preferences, click Fluid Shot Data: Most Recent / 30d Avg / 90d Avg to auto-fill target fluid level and target PIP from this tab. Without fluid shots you are guessing at those numbers.
Saving and Validation
Most fields save inline. Casing strings and tubing rows need an explicit Save click.
Common errors:
| Error | Meaning |
|---|---|
| Bottom depth must be greater than top depth | Top and bottom are swapped |
| PBHP must be greater than or equal to PIP | PBHP cannot be below PIP |
| Gas Free Equiv. cannot exceed Fluid Above Pump | Gas-free column is by definition shorter |
| PSN Depth is required | Tubing tab needs this before any simulation can run |