Wellbore Gas Lift Valves
For gas lift wells, valve information is important to accurately compute gas lift performance, optimization, and bottomhole pressure.
In the absence of gas lift valve data, injection is assumed at the lowest point in the well with adequate delta pressure from injection to production to support gas passage.
In the presence of gas lift valve data, the preferred method is to calculate downhole opening and closing pressures from the r-ratio and test rack opening pressure. If those values are missing, the designed surface opening and closing pressures are used to determine which valves are open, which is less accurate.
Different valve types have different data requirements and assumptions, so a valve type field is not required in the input schema:
- Pressure operated valves — the most thorough calculation is performed when test rack opening pressure and R are provided alongside a positive port size. Nominal valve size increases accuracy; 1.5" is assumed when it is null. When test rack opening pressure and R are not provided, simplified calculations are performed from the surface opening and closing pressures, which carry an inherent assumption about surface pressures under designed conditions.
- Dummy valves — inferred when port size, surface opening pressure, and surface closing pressure are all 0.
- Orifice valves — inferred when port size is > 0 and surface opening and closing pressures are 0.
A gas lift valve belongs to a tubing string. The unique constraint on gas lift valve entries is sourceTubingId + sourceId.
The tubing string referenced by sourceTubingId must be loaded before adding valves to it.
Variable | Data Type | Unit of Measure | Is Nullable? | Default Value | Description |
|---|---|---|---|---|---|
sourceId | String | - | No | - | Unique identifier of the valve, to enable upserts From WellView: wvtubcompmandrelinsert table, idrec column |
sourceWellId | String | - | No | - | Source ID for the well. Must match the sourceId of a record in the WellWell table. From WellView: wvtubcompmandrelinsert table, idwell column |
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 valve is installed. Must match the sourceId of a Wellbore TubingWellbore Tubing record. From WellView: wvtubcomp table, idrecparent column |
runDate | Datetime Offset | - | No | - | Run date of the valve. Datetime offset (with timezone) in ISO 8601 format. Example: 2022-09-27T16:28:37+0000 From WellView: wvtubcompmandrelinsert table, DTTMRUN column |
pullDate | Datetime Offset | - | Yes | - | Pull date of the valve. Datetime offset (with timezone) in ISO 8601 format. From WellView: wvtubcompmandrelinsert table, DTTMPULL column |
glvStation | Integer | - | Yes | - | Station number of the valve. Valve 1 is typically the deepest (commonly the orifice valve). From WellView: wvtubcompmandrel table, STATIONNO column |
installMd | Double | ft | No | - | Install depth of the valve From WellView: wvtubcomp table, DEPTHTOPCALC column |
testRackOpenPressure | Double | psig | Yes | - | Test rack opening pressure (PTRO) of the valve From WellView: wvtubcompmandrelinsert table, TRORUN column |
surfaceOpenPressure | Double | psig | No | - | Designed surface opening pressure of the valve From WellView: wvtubcompmandrelinsert table, Pressurfgaugeopen column |
surfaceClosePressure | Double | psig | No | - | Designed surface closing pressure of the valve From WellView: wvtubcompmandrelinsert table, Pressurfgaugeclose column |
portSize | Double | /64 inch | No | - | Port size of the valve From WellView: wvtubcompmandrelinsert table, SZport column |
r | Double | - | Yes | - | R-ratio: area of the valve port divided by the effective bellows area |
nominalValveSize | Double | in | Yes | - | Nominal valve size, e.g. 1", 1.5", 1.75". When null, 1.5" is assumed. |
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 valve | Unknown tubing | GasLiftValve with sourceId 'xxx' was skipped: tubing with sourceWellId 'xxx' and sourceWellboreId 'xxx' and sourceTubingId 'xxx' was not found |