Monthly forecast production volumes
Monthly forecast production volumes
1. Integration overview
Dataset Name: Monthly Forecast Production Volumes
Secure View: FORECAST_PRODUCTION_VOLUMES_MONTHLY_SV
Delivery Mechanism: Snowflake Secure View via Private Share
Update Pattern: Immutable / Append-Only
Export Trigger:
- User-triggered from ComboCurve UI
- Triggered via ComboCurve Export v2 (Snowflake export)
Data Retention: 30 days
2. Business context (Oil & Gas Reservoir Engineering)
This dataset provides monthly measured production volumes per well for standard phases (Oil/Gas/Water) plus tenant-configured custom streams.
This dataset contains production-only fields and is exposed via a secure view that performs a direct pass-through (SELECT *) from the base table.
4. Expected record uniqueness
This dataset is append-only and may contain multiple exports for the same well and month.
The expected uniqueness constraint is:
(FORECAST_VOLUME_EXPORT_ID or PROJECT_ID, FORECAST_ID, USER_ID, EXPORT_DATE)
5. Client access pattern
Query the secure view directly:
- Primary access object:
FORECAST_PRODUCTION_VOLUMES_MONTHLY_SV - Typical filters:
FORECAST_VOLUME_EXPORT_ID(batch scoping);PROJECT_ID,FORECAST_ID,USER_ID,EXPORT_DATE(time window)
Example:
SELECT *
FROM SHARED_DATABASE.FORECAST_PRODUCTION_VOLUMES_MONTHLY_SV
WHERE PROJECT_ID = '<project_id>'
AND FORECAST_ID = '<forecast_id>'
AND DATE >= '2024-01-01';
Recommended filters:
FORECAST_VOLUME_EXPORT_ID(batch scoping)PROJECT_IDFORECAST_IDUSER_IDDATE(time window)
6. Full schema definition (client-facing secure view)
Below is the schema for FORECAST_PRODUCTION_VOLUMES_MONTHLY_SV, grouped into data categories for easier consumption.
6.1 Well & cross-reference identifiers
| Column | Data Type | Description |
|---|---|---|
| WELL_NAME | VARCHAR | Human-readable well name used in the source system. |
| WELL_NUMBER | VARCHAR | Engineering well number or identifier assigned by the operator. |
| API14 | VARCHAR | 14-digit API number uniquely identifying the wellbore. |
| INPTID | VARCHAR | INPT (PIDX) unique identifier for the well. |
| CHOSENID | VARCHAR | Chosen Energy cross-reference ID for the well. |
| ARIES_ID | VARCHAR | Well identifier in ARIES economic software. |
| PHDWIN_ID | VARCHAR | Well identifier in PHDWin reserves software. |
| PROJECT_ID | VARCHAR | ComboCurve project identifier. |
| FORECAST_ID | VARCHAR | Unique ID of the forecast case that produced these volumes. |
| USER_ID | VARCHAR | Identifier of the user who executed the export. |
| WELL_ID | VARCHAR | ComboCurve master well identifier. |
| FORECAST_VOLUME_EXPORT_ID | VARCHAR | GUID of the volume-export job. |
| EXPORT_DATE | TIMESTAMP_NTZ | UTC timestamp when the volume set was exported. |
| DATE | TIMESTAMP_NTZ | Calendar month represented by the row. |
6.2 Monthly production volumes (Oil/Gas/Water)
| Column | Data Type | Description |
|---|---|---|
| OIL_PRODUCTION | FLOAT | Measured monthly oil production. |
| GAS_PRODUCTION | FLOAT | Measured monthly gas production. |
| WATER_PRODUCTION | FLOAT | Measured monthly produced-water volume. |
6.3 User-defined CustomNumber streams (0–19)
| Column | Data Type | Description |
|---|---|---|
| CUSTOMNUMBER0_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber0. |
| CUSTOMNUMBER1_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber1. |
| CUSTOMNUMBER2_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber2. |
| CUSTOMNUMBER3_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber3. |
| CUSTOMNUMBER4_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber4. |
| CUSTOMNUMBER5_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber5. |
| CUSTOMNUMBER6_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber6. |
| CUSTOMNUMBER7_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber7. |
| CUSTOMNUMBER8_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber8. |
| CUSTOMNUMBER9_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber9. |
| CUSTOMNUMBER10_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber10. |
| CUSTOMNUMBER11_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber11. |
| CUSTOMNUMBER12_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber12. |
| CUSTOMNUMBER13_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber13. |
| CUSTOMNUMBER14_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber14. |
| CUSTOMNUMBER15_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber15. |
| CUSTOMNUMBER16_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber16. |
| CUSTOMNUMBER17_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber17. |
| CUSTOMNUMBER18_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber18. |
| CUSTOMNUMBER19_PRODUCTION | FLOAT | Measured monthly volume for user-defined CustomNumber19. |
6.4 Project custom streams (0–19)
| Column | Data Type | Description |
|---|---|---|
| _PROJECT_CUSTOM_STREAM_0_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 0. |
| _PROJECT_CUSTOM_STREAM_1_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 1. |
| _PROJECT_CUSTOM_STREAM_2_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 2. |
| _PROJECT_CUSTOM_STREAM_3_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 3. |
| _PROJECT_CUSTOM_STREAM_4_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 4. |
| _PROJECT_CUSTOM_STREAM_5_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 5. |
| _PROJECT_CUSTOM_STREAM_6_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 6. |
| _PROJECT_CUSTOM_STREAM_7_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 7. |
| _PROJECT_CUSTOM_STREAM_8_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 8. |
| _PROJECT_CUSTOM_STREAM_9_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 9. |
| _PROJECT_CUSTOM_STREAM_10_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 10. |
| _PROJECT_CUSTOM_STREAM_11_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 11. |
| _PROJECT_CUSTOM_STREAM_12_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 12. |
| _PROJECT_CUSTOM_STREAM_13_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 13. |
| _PROJECT_CUSTOM_STREAM_14_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 14. |
| _PROJECT_CUSTOM_STREAM_15_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 15. |
| _PROJECT_CUSTOM_STREAM_16_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 16. |
| _PROJECT_CUSTOM_STREAM_17_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 17. |
| _PROJECT_CUSTOM_STREAM_18_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 18. |
| _PROJECT_CUSTOM_STREAM_19_PRODUCTION | FLOAT | Measured monthly volume for project custom stream 19. |
6.5 UI label mapping
Most columns appear in the ComboCurve UI under a simple title-cased version of the column name (OIL_PRODUCTION → "Oil", GAS_FORECAST → "Gas Forecast"). The exceptions are the cross-reference identifiers and the custom-stream columns below.
Watch out for these:
- Custom streams are user-named. The
CUSTOMNUMBER{0–19}_*columns carry the company's user-defined stream label in the UI (for example "NGL Yield"), not "Custom Number 0". The underlying token is camelCase (customNumber0) — contrast the snake_caseCUSTOM_NUMBER_0form used in the production-volume datasets.- Project custom streams are off by one.
_PROJECT_CUSTOM_STREAM_{i}_*is 0-indexed in the column name, but the UI default label is 1-indexed —_PROJECT_CUSTOM_STREAM_0_*shows as "Project Custom Stream 1".
| Snowflake column | ComboCurve UI label |
|---|---|
| INPTID | INPT ID |
| CHOSENID | Chosen ID |
| API14 | API 14 |
| ARIES_ID | Aries ID |
| PHDWIN_ID | PhdWin ID |
7. Incremental consumption best practices
Pull only new or changed records
For scheduled ingestion, pull rows where EXPORT_DATE is after your last run, or scope to a single export batch by FORECAST_VOLUME_EXPORT_ID.
SELECT *
FROM FORECAST_PRODUCTION_VOLUMES_MONTHLY_SV
WHERE EXPORT_DATE > DATEADD(day, -1, CURRENT_TIMESTAMP);
Pull a single export batch (recommended)
SELECT *
FROM FORECAST_PRODUCTION_VOLUMES_MONTHLY_SV
WHERE FORECAST_VOLUME_EXPORT_ID = '<export-guid>';
Deduplicate by the secure-view key
Treat (FORECAST_VOLUME_EXPORT_ID or PROJECT_ID, FORECAST_ID, USER_ID, EXPORT_DATE) as the record key when loading into your target. Multiple exports for the same well and month are expected across batches.
8. Operational notes
- Data is immutable once exported.
- Multiple exports of the same well and month are expected across batches.
- The secure view is a direct pass-through (
SELECT *) over the base table.