Most of the data loaded into PetroAI consists of "raw" inputs that are used to generate unique features and train predictive models. The WellLookup, GridStructureHeader, GridAttributeHeader tables can be considered reference tables and are used to provide the system with supplemental information. 


The data dictionary inside cloud.petro.ai is a great resource for learning what is in each data table, and what columns are required or optional. You can toggle which tables to display in the dictionary by clicking on the text across the top bar. 'Core' tables are the inputs needed to create the basic features for an ML model. 'Feature' tables are used to generate more advanced subsurface features. Finally, 'activity' tables provide additional information.




The following sections of this article expand on the data dictionary to provide more information on what goes into the three reference tables and how they are used inside PetroAI. The WellLookup and GridStructureHeader tables are part of the 'core' tables, while GridAttributerHeader can be found under the 'feature' section of the data dictionary.


WellLookup

Often the unique identifier used across the different source tables is different. PetroAI will create its own unique identifier and use the values listed in the WellLookup table to map the different aliases.


In the example table shown below, a formatted version of the API 10 was used as the WellId when loading the production data, but API12 was used for the surveys and API14 for the well header. The WellLookup table is a list of all the wells and provides the different wellId's used across the tables.


prodWellIdsurveyWellIdwellId
42-003-0563442-003-05634-0142-003-05634-01-00
42-003-0563442-003-05634-0042-003-05634-00-00
42-003-4319142-003-43191-0042-003-43191-00-00
42-003-4327442-003-43274-0042-003-43274-00-00
42-003-4488142-003-44881-0042-003-44881-00-00


The well header data usually has all the different well identifiers. You can create the WellLookup table by copying the well header table and deleting all the unneeded columns. Then change the column names to identify which identifier was used for production, surveys and wells. 



GridStructureHeader

The GridStructureHeader table is a simple table with only two columns. It is used to correctly project the structure grids using a proj4 string. The interval column should exactly match the name used to load the grids into the GridStructure table. Don't worry if this is not the commonly used name for the intervals at your organization. You will have an opportunity later in the data processing to give the intervals an alias. 


You will need to know the original CRS projection but there are several ways to find the proj4 string. Two useful references are:

 

The example below shows several structure grids with the start of their proj4 strings.


intervalsourceCRS_proj4
DEAN+proj=lcc +lat_1=30.116666666.....
SPBY+proj=lcc +lat_1=30.116666666.....
WCA+proj=lcc +lat_1=30.116666666.....
WCB+proj=lcc +lat_1=30.116666666.....
WCC+proj=lcc +lat_1=30.116666666.....
WCD+proj=lcc +lat_1=30.116666666.....
WDFD+proj=lcc +lat_1=30.116666666.....


When pasting the proj4 string into excel, you will need to use a single tick mark (') at the start so that Excel does not read the string as a formula: '+proj=...

You can read more about proj strings here


GridAttributeHeader

Like the GridStructureHeader, the GridAttributeHeader table is used to provide the correct projection information for each attribute grid. This table also provide a place to map the attribute grids to their corresponding landing targets. PetroAI will use the structure grids and directional survey's to automatically land each well in the data set. The wells can then have geologic attributes assigned based on this landing. 


The columns in the GridAttributeHeader table are as follows

  • name - Name corresponding to the GridAttributeData that was loaded, the names should match exactly
  • attributeName - Alias for the attribute 
  • sourceCRS_proj4 - The proj4 string for the CRS projection
  • interval - This should match exactly the name of the interval used when the GridStructureData was loaded


 

nameattributeNamesourceCRS_proj4interval
LSBY_ISOPACHISOPACH+proj=lcc +lat_1=31.88...LSBY
LSBY_SH_PHIEPHIE+proj=lcc +lat_1=31.88...LSBY
LSBY_SH_SOPHIESOPHIE+proj=lcc +lat_1=31.88...LSBY
WC-A_ISOPACHISOPACH+proj=lcc +lat_1=31.88...WC-A
WC-A_PHIEPHIE+proj=lcc +lat_1=31.88...WC-A
WC-A_SOPHIESOPHIE+proj=lcc +lat_1=31.88...WC-A
WC-B_ISOPACHISOPACH+proj=lcc +lat_1=31.88...WC-B
WC-C _PHIEPHIE+proj=lcc +lat_1=31.88...WC-C
WC-C_SOPHIESOPHIE+proj=lcc +lat_1=31.88...WC-C
WC-C_ISOPACHISOPACH+proj=lcc +lat_1=31.88...WC-C


If you have further questions about these tables, or any of the tables you are loading into PetroAI, please contact [email protected].