mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-25 14:40:26 -05:00
#12568 Python: Add example for extracting properties along well.
This commit is contained in:
1 parent
e539170884
commit
4397da9114
1 file changed
+61
+61
@@ -0,0 +1,61 @@
|
||||
###################################################################################
|
||||
# This example will connect to ResInsight, extract trajectory properties for
|
||||
# each wells in the project, and extract some properties for each points on the
|
||||
# trajectory.
|
||||
#
|
||||
###################################################################################
|
||||
|
||||
import rips
|
||||
|
||||
|
||||
def print_dictionary(title, data):
|
||||
# Dictionary of lists of floats.
|
||||
keys = list(data.keys())
|
||||
|
||||
print(title)
|
||||
for i, properties in enumerate(zip(*data.values()), 1):
|
||||
prop_pairs = [
|
||||
f"{key.replace('coordinate_', '')}={prop:.3f}"
|
||||
for key, prop in zip(keys, properties)
|
||||
]
|
||||
print(f"Point {i}: {', '.join(prop_pairs)}")
|
||||
|
||||
|
||||
# Connect to ResInsight
|
||||
resinsight = rips.Instance.find()
|
||||
if resinsight is not None:
|
||||
# Get a list of all wells
|
||||
wells = resinsight.project.well_paths()
|
||||
|
||||
# Find the first case
|
||||
cases = resinsight.project.cases()
|
||||
c = cases[0] if len(cases) else None
|
||||
|
||||
for well in wells:
|
||||
result = well.trajectory_properties(resampling_interval=10.0)
|
||||
|
||||
if c:
|
||||
# Convert the result data into points
|
||||
positions = [
|
||||
list(coord)
|
||||
for coord in zip(
|
||||
result["coordinate_x"],
|
||||
result["coordinate_y"],
|
||||
result["coordinate_z"],
|
||||
)
|
||||
]
|
||||
|
||||
# Extract some properties
|
||||
properties = [
|
||||
("DYNAMIC_NATIVE", "PRESSURE", 0),
|
||||
("STATIC_NATIVE", "FAULTDIST", 0),
|
||||
]
|
||||
|
||||
for property_type, property_name, time_step in properties:
|
||||
porosity_model = "MATRIX_MODEL"
|
||||
result[property_name] = c.grid_property_for_positions(
|
||||
positions, property_type, property_name, time_step, porosity_model
|
||||
)
|
||||
|
||||
title = "Well name: " + well.name
|
||||
print_dictionary(title, result)
|
||||
Reference in new issue
Block a user