Wellbore ESP
The Wellbore ESP table describes electric submersible pumps installed in the well. An ESP belongs to a tubing string — sourceTubingId must match an existing Wellbore TubingWellbore Tubing record. The pump name must match a pump in the compute catalog to enable modeling. Tapered assemblies are represented as multiple records on the same tubing string, sequenced by installOrder.
The unique constraint on ESP entries is sourceTubingId + sourceId.
The tubing string referenced by sourceTubingId must be loaded before adding an ESP to it.
Variable | Data Type | Unit of Measure | Is Nullable? | Default Value | Description |
|---|---|---|---|---|---|
sourceId | String | - | No | - | Unique identifier of the ESP, to enable upserts |
sourceWellId | String | - | No | - | Source ID for the well. Must match the sourceId of a record in the WellWell table. |
sourceWellboreId | String | - | No | - | Source ID for the wellbore. Must match the sourceId of a record in the WellboreWellbore table. |
sourceTubingId | String | - | No | - | Source ID of the tubing string in which the ESP is installed. Must match the sourceId of a Wellbore TubingWellbore Tubing record. |
name | String | - | No | - | Pump name. Must match a pump in the compute catalog. |
installOrder | Int | - | No | 0 | The installation order of tapered pumps, starting at the top with index 0. For example, with 100 stages of pump A, 125 stages of pump B, and 75 stages of a gas handler: pump A is 0, pump B is 1, and the gas handler is 2. |
stages | Int | - | No | - | Number of pump stages installed |
headDegradation | Double | % | Yes | - | Default head degradation applied when it cannot be calculated |
hasGasHandler | Boolean | - | No | - | Whether the pump assembly has a gas handler |
hasSeparator | Boolean | - | No | - | Whether the pump assembly has a gas separator |
viscosityCorrection | Boolean | - | Yes | - | Whether to apply viscosity corrections in conjunction with gas separation |
separationEfficiency | Double | % | Yes | - | Default gas separation efficiency applied when it cannot be calculated |
runDate | Datetime Offset | - | No | - | Date the pump was installed. Datetime offset (with timezone) in ISO 8601 format. Example: 2022-09-27T16:28:37+0000 |
pullDate | Datetime Offset | - | Yes | - | Date the pump was pulled. Datetime offset (with timezone) in ISO 8601 format. |
Data Integrity Checks
Condition | Response |
|---|---|
Any non-nullable field is NULL or empty | Record Rejected |
(sourceWellId, sourceWellboreId, sourceTubingId) does not match an existing tubing | Row Skipped |
Partial success on bulk ingest
Rows referencing an unknown tubing string are skipped while the remaining rows are written. The error response names each skipped row. An error response therefore does not mean nothing was written.
Common Error Messages
API | Scenario | Error Response |
|---|---|---|
Add / Upsert ESP | Unknown tubing | Esp with sourceId 'xxx' was skipped: tubing with sourceWellId 'xxx' and sourceWellboreId 'xxx' and sourceTubingId 'xxx' was not found |