Investigation API - Definitions#

Introduction#

This notebook provides the user a guide to some of the basic API methods available to interact with a Blueback Investigation. See the other user guides to more detailed information on specific parts of the API.

Setup#

The Investigator API is defined in the cegalprizm.investigator package.

The InvestigatorConnection class establishes a connection between the notebook and a running instance of Blueback Investigator.

[1]:
from cegalprizm.investigator import InvestigatorConnection

Establish a connection to Investigator

[2]:
inv_conn = InvestigatorConnection()

Create a new investigation from an .invpy file

[3]:
inv = inv_conn.investigation_from_file("Wells.invpy")

API usage#

Datasets#

List the names of the datasets defined in the investigation:

[4]:
inv.dataset_names
[4]:
['Wells/B2', 'Wells/B4', 'Wells/B8', 'Wells/B9']

Continuous Dimensions#

List the names of the continuous dimensions defined in the investigation:

[5]:
inv.continuous_dimension_names
[5]:
['Perm', 'Gamma', 'Porosity']

Get a dictionary of the invariant units used for each continuous dimension in the investigation:

[6]:
inv.invariant_units
[6]:
{'Perm': 'm2', 'Gamma': 'gAPI', 'Porosity': ' '}

Get a dictionary of the default display units used for each continuous dimension in the investigation:

[7]:
inv.display_units
[7]:
{'Perm': 'mD', 'Gamma': 'gAPI', 'Porosity': 'm3/m3'}

Get a dictionary of the available units for each continuous dimension in the investigation:

[8]:
inv.available_units
[8]:
{'Perm': ['1000 ft3/ft', 'acre', 'b', 'bbl/ft', 'cm2', 'D', 'ft2', 'gal/ft', 'ha', 'in2', 'km2', 'm2', 'm3/m', 'mD', 'mi2', 'mm2', 'MSCF/ft', 'nD', 'sm3/m', 'STB/ft', 'uD', 'um2', 'yd2'],
 'Gamma': ['gAPI'],
 'Porosity': [' ', '%', '0.001 bbl/ft3', '0.001 gal/gal', '1000 ft3/bbl', '1E-6 bbl/ft3', '1E6 ft3/(acre.ft)', 'b/e', 'bbl/(acre.ft)', 'bbl/bbl', 'bbl/ft3', 'bbl/SCF', 'bbl/STB', 'cm3/cm3', 'ft/m', 'ft3/bbl', 'ft3/ft3', 'g/g', 'g/gKerC', 'gal/1000 gal', 'gCO2/gTOC', 'gHC/gRock', 'gHC/gTOC', 'kg/kg', 'kgf/kgf', 'L/m3', 'lbf/lbf', 'lbm/lbm', 'lbm/lbm %', 'log(mD)', 'log(TTI)', 'm/km', 'm/mi', 'm3/m3', 'mg/g', 'mgCO2/gTOC', 'mgHC/gRock', 'mgHC/gTOC', 'mL/mL', 'mm/m', 'MSCF/ft3', 'MSCF/RB', 'MSCF/STB', 'ppdk', 'ppk', 'ppm', 'pu', 'ratio', 'RB/MSCF', 'RB/RB', 'RB/STB', 'rcm3/rcm3', 'rcm3/scm3', 'rm3/rm3', 'rm3/sm3', 'SCF/STB', 'scm3/cm3', 'scm3/rcm3', 'scm3/scm3', 'sm3/m3', 'sm3/rm3', 'sm3/sm3', 'STB/MMSCF', 'STB/MSCF', 'STB/RB', 'STB/STB', 'um/m', 'yd/mi', 'Pa.s/(Pa.s)', 'atm.h/cP', 'bar.h/cP', 'cm3/m3', 'fract.', 'kPa.h/cP', 'psi.h/cP', 'sbbl/mmscf', 'scf/sbbl']}

Discrete Dimensions#

Note: The discrete dimension API considers the datasets and the classification groups defined in the investigation as discrete dimensions

List the names of the discrete dimensions defined in the investigation:

[10]:
inv.discrete_dimension_names
[10]:
['Data sets', 'Zones (hierarchy)', 'Facies']

Get a dictionary of the tag names for each discrete dimension in the investigation:

[9]:
inv.discrete_dimension_tags
[9]:
{'Data sets': ['Wells/B2', 'Wells/B4', 'Wells/B8', 'Wells/B9'],
 'Zones (hierarchy)': ['Undefined',
  'Cret',
  'Tarbert',
  'T3',
  'T2',
  'T1',
  'Ness',
  'N2',
  'N1',
  'Tarbert',
  'Ness'],
 'Facies': ['Undefined',
  'Clay',
  'Sand',
  'Silt',
  'Fine silt',
  'T1',
  'Ness',
  'N2',
  'N1']}
[ ]: