resqpy 4.14.2__py3-none-any.whl → 5.1.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- resqpy/__init__.py +1 -1
- resqpy/fault/_gcs_functions.py +10 -10
- resqpy/fault/_grid_connection_set.py +277 -113
- resqpy/grid/__init__.py +2 -3
- resqpy/grid/_defined_geometry.py +3 -3
- resqpy/grid/_extract_functions.py +8 -2
- resqpy/grid/_grid.py +95 -12
- resqpy/grid/_grid_types.py +22 -7
- resqpy/grid/_points_functions.py +1 -1
- resqpy/grid/_regular_grid.py +6 -2
- resqpy/grid_surface/__init__.py +17 -38
- resqpy/grid_surface/_blocked_well_populate.py +5 -5
- resqpy/grid_surface/_find_faces.py +1413 -253
- resqpy/lines/_polyline.py +24 -33
- resqpy/model/_catalogue.py +9 -0
- resqpy/model/_forestry.py +18 -14
- resqpy/model/_hdf5.py +11 -3
- resqpy/model/_model.py +85 -10
- resqpy/model/_xml.py +38 -13
- resqpy/multi_processing/wrappers/grid_surface_mp.py +92 -37
- resqpy/olio/read_nexus_fault.py +8 -2
- resqpy/olio/relperm.py +1 -1
- resqpy/olio/transmission.py +8 -8
- resqpy/olio/triangulation.py +36 -30
- resqpy/olio/vector_utilities.py +340 -6
- resqpy/olio/volume.py +0 -20
- resqpy/olio/wellspec_keywords.py +19 -13
- resqpy/olio/write_hdf5.py +1 -1
- resqpy/olio/xml_et.py +12 -0
- resqpy/property/__init__.py +6 -4
- resqpy/property/_collection_add_part.py +4 -3
- resqpy/property/_collection_create_xml.py +4 -2
- resqpy/property/_collection_get_attributes.py +4 -0
- resqpy/property/attribute_property_set.py +311 -0
- resqpy/property/grid_property_collection.py +11 -11
- resqpy/property/property_collection.py +79 -31
- resqpy/property/property_common.py +3 -8
- resqpy/rq_import/_add_surfaces.py +34 -14
- resqpy/rq_import/_grid_from_cp.py +2 -2
- resqpy/rq_import/_import_nexus.py +75 -48
- resqpy/rq_import/_import_vdb_all_grids.py +64 -52
- resqpy/rq_import/_import_vdb_ensemble.py +12 -13
- resqpy/surface/_mesh.py +4 -0
- resqpy/surface/_surface.py +593 -118
- resqpy/surface/_tri_mesh.py +13 -10
- resqpy/surface/_tri_mesh_stencil.py +4 -4
- resqpy/surface/_triangulated_patch.py +71 -51
- resqpy/time_series/_any_time_series.py +7 -4
- resqpy/time_series/_geologic_time_series.py +1 -1
- resqpy/unstructured/_hexa_grid.py +6 -2
- resqpy/unstructured/_prism_grid.py +13 -5
- resqpy/unstructured/_pyramid_grid.py +6 -2
- resqpy/unstructured/_tetra_grid.py +6 -2
- resqpy/unstructured/_unstructured_grid.py +6 -2
- resqpy/well/_blocked_well.py +1986 -1946
- resqpy/well/_deviation_survey.py +3 -3
- resqpy/well/_md_datum.py +11 -21
- resqpy/well/_trajectory.py +10 -5
- resqpy/well/_wellbore_frame.py +10 -2
- resqpy/well/blocked_well_frame.py +3 -3
- resqpy/well/well_object_funcs.py +7 -9
- resqpy/well/well_utils.py +33 -0
- {resqpy-4.14.2.dist-info → resqpy-5.1.6.dist-info}/METADATA +8 -9
- {resqpy-4.14.2.dist-info → resqpy-5.1.6.dist-info}/RECORD +66 -66
- {resqpy-4.14.2.dist-info → resqpy-5.1.6.dist-info}/WHEEL +1 -1
- resqpy/grid/_moved_functions.py +0 -15
- {resqpy-4.14.2.dist-info → resqpy-5.1.6.dist-info}/LICENSE +0 -0
resqpy/well/_deviation_survey.py
CHANGED
@@ -233,9 +233,9 @@ class DeviationSurvey(BaseResqpy):
|
|
233
233
|
"""
|
234
234
|
|
235
235
|
try:
|
236
|
-
|
237
|
-
|
238
|
-
|
236
|
+
sep = r'\s+' if space_separated_instead_of_csv else ','
|
237
|
+
|
238
|
+
df = pd.read_csv(deviation_survey_file, comment = comment_character, sep = sep)
|
239
239
|
if df is None:
|
240
240
|
raise Exception
|
241
241
|
except Exception:
|
resqpy/well/_md_datum.py
CHANGED
@@ -80,19 +80,6 @@ class MdDatum(BaseResqpy):
|
|
80
80
|
assert md_reference in valid_md_reference_list
|
81
81
|
assert len(location) == 3
|
82
82
|
|
83
|
-
def _load_from_xml(self):
|
84
|
-
md_datum_root = self.root
|
85
|
-
assert md_datum_root is not None
|
86
|
-
location_node = rqet.find_tag(md_datum_root, 'Location')
|
87
|
-
self.location = (rqet.find_tag_float(location_node,
|
88
|
-
'Coordinate1'), rqet.find_tag_float(location_node, 'Coordinate2'),
|
89
|
-
rqet.find_tag_float(location_node, 'Coordinate3'))
|
90
|
-
self.md_reference = rqet.node_text(rqet.find_tag(md_datum_root, 'MdReference')).strip().lower()
|
91
|
-
assert self.md_reference in valid_md_reference_list
|
92
|
-
self.crs_uuid = self.extract_crs_uuid()
|
93
|
-
|
94
|
-
# todo: the following function is almost identical to one in the grid module: it should be made common and put in model.py
|
95
|
-
|
96
83
|
def extract_crs_uuid(self):
|
97
84
|
"""Returns uuid for coordinate reference system, as stored in reference node of this md datum's xml tree."""
|
98
85
|
|
@@ -103,14 +90,6 @@ class MdDatum(BaseResqpy):
|
|
103
90
|
self.crs_uuid = bu.uuid_from_string(uuid_str)
|
104
91
|
return self.crs_uuid
|
105
92
|
|
106
|
-
def create_part(self):
|
107
|
-
"""Creates xml for this md datum object and adds to parent model as a part; returns root node for part."""
|
108
|
-
|
109
|
-
# note: deprecated, call create_xml() directly
|
110
|
-
assert self.root is None
|
111
|
-
assert self.location is not None
|
112
|
-
self.create_xml(add_as_part = True)
|
113
|
-
|
114
93
|
def create_xml(self, add_as_part = True, add_relationships = True, title = None, originator = None):
|
115
94
|
"""Creates xml for a measured depth datum element; crs node must already exist; optionally adds as part.
|
116
95
|
|
@@ -164,3 +143,14 @@ class MdDatum(BaseResqpy):
|
|
164
143
|
if self.md_reference != other.md_reference or not np.allclose(self.location, other.location):
|
165
144
|
return False
|
166
145
|
return bu.matching_uuids(self.crs_uuid, other.crs_uuid)
|
146
|
+
|
147
|
+
def _load_from_xml(self):
|
148
|
+
md_datum_root = self.root
|
149
|
+
assert md_datum_root is not None
|
150
|
+
location_node = rqet.find_tag(md_datum_root, 'Location')
|
151
|
+
self.location = (rqet.find_tag_float(location_node,
|
152
|
+
'Coordinate1'), rqet.find_tag_float(location_node, 'Coordinate2'),
|
153
|
+
rqet.find_tag_float(location_node, 'Coordinate3'))
|
154
|
+
self.md_reference = rqet.node_text(rqet.find_tag(md_datum_root, 'MdReference')).strip().lower()
|
155
|
+
assert self.md_reference in valid_md_reference_list
|
156
|
+
self.crs_uuid = self.extract_crs_uuid()
|
resqpy/well/_trajectory.py
CHANGED
@@ -419,8 +419,13 @@ class Trajectory(BaseResqpy):
|
|
419
419
|
set_tangent_vectors = True):
|
420
420
|
"""Load MD and control points (xyz) data directly from numpy arrays."""
|
421
421
|
|
422
|
+
if isinstance(mds, list) or isinstance(mds, tuple):
|
423
|
+
mds = np.array(mds, dtype = float)
|
424
|
+
assert mds.ndim == 1
|
422
425
|
self.knot_count = len(mds)
|
423
426
|
assert self.knot_count >= 2 # vertical well could be hamdled by allowing a single station in survey?
|
427
|
+
if isinstance(control_points, list) or isinstance(control_points, tuple):
|
428
|
+
control_points = np.array(control_points, dtype = float)
|
424
429
|
assert control_points.shape == (self.knot_count, 3)
|
425
430
|
self.line_kind_index = 5 # assume minimum curvature spline
|
426
431
|
self.md_uom = wam.rq_length_unit(md_uom)
|
@@ -443,7 +448,7 @@ class Trajectory(BaseResqpy):
|
|
443
448
|
"""Loads the trajectory object based on the centre points of a list of cells."""
|
444
449
|
|
445
450
|
assert grid is not None, 'grid argument missing for trajectory initislisation from cell list'
|
446
|
-
cell_kji0_list = np.array(cell_kji0_list, dtype =
|
451
|
+
cell_kji0_list = np.array(cell_kji0_list, dtype = np.int32)
|
447
452
|
assert cell_kji0_list.ndim == 2 and cell_kji0_list.shape[1] == 3
|
448
453
|
assert spline_mode in ['none', 'linear', 'square', 'cube']
|
449
454
|
|
@@ -478,7 +483,7 @@ class Trajectory(BaseResqpy):
|
|
478
483
|
df = wellspec_dict[well_name]
|
479
484
|
assert len(df) > 0, 'no rows of perforation data found in wellspec for well ' + well_name
|
480
485
|
|
481
|
-
cell_kji0_list = np.empty((len(df), 3), dtype =
|
486
|
+
cell_kji0_list = np.empty((len(df), 3), dtype = np.int32)
|
482
487
|
cell_kji0_list[:, 0] = df['L']
|
483
488
|
cell_kji0_list[:, 1] = df['JW']
|
484
489
|
cell_kji0_list[:, 2] = df['IW']
|
@@ -505,9 +510,9 @@ class Trajectory(BaseResqpy):
|
|
505
510
|
self.title = 'well trajectory'
|
506
511
|
|
507
512
|
try:
|
508
|
-
|
509
|
-
|
510
|
-
|
513
|
+
sep = r'\s+' if space_separated_instead_of_csv else ','
|
514
|
+
|
515
|
+
df = pd.read_csv(trajectory_file, comment = comment_character, sep = sep)
|
511
516
|
if df is None:
|
512
517
|
raise Exception
|
513
518
|
except Exception:
|
resqpy/well/_wellbore_frame.py
CHANGED
@@ -106,7 +106,11 @@ class WellboreFrame(BaseResqpy):
|
|
106
106
|
assert self.node_mds is not None and self.node_mds.ndim == 1
|
107
107
|
|
108
108
|
def _load_from_xml(self):
|
109
|
-
"""Loads the wellbore frame object from an xml node
|
109
|
+
"""Loads the wellbore frame object from an xml node.
|
110
|
+
|
111
|
+
Also loads the associated data either from an hdf5 file or generated from a
|
112
|
+
lattice array definition.
|
113
|
+
"""
|
110
114
|
|
111
115
|
# NB: node is the root level xml node, not a node in the md list!
|
112
116
|
|
@@ -126,7 +130,11 @@ class WellboreFrame(BaseResqpy):
|
|
126
130
|
|
127
131
|
mds_node = rqet.find_tag(node, 'NodeMd')
|
128
132
|
assert mds_node is not None, 'wellbore frame measured depths hdf5 reference not found in xml'
|
129
|
-
|
133
|
+
if rqet.node_type(mds_node) == "DoubleLatticeArray":
|
134
|
+
rqwu.load_lattice_array(self, mds_node, "node_mds", self.trajectory)
|
135
|
+
self.node_count = self.node_mds.size
|
136
|
+
else:
|
137
|
+
rqwu.load_hdf5_array(self, mds_node, "node_mds")
|
130
138
|
|
131
139
|
assert self.node_mds is not None and self.node_mds.ndim == 1 and self.node_mds.size == self.node_count
|
132
140
|
|
@@ -191,7 +191,7 @@ def add_blocked_well_properties_from_wellbore_frame(bw,
|
|
191
191
|
wb_a = np.zeros(bw.cell_count, dtype = bool)
|
192
192
|
length = np.zeros(bw.cell_count, dtype = float)
|
193
193
|
pperf = np.zeros(bw.cell_count, dtype = float)
|
194
|
-
dominant_wbf_interval = np.full(bw.cell_count, -1, dtype =
|
194
|
+
dominant_wbf_interval = np.full(bw.cell_count, -1, dtype = np.int32)
|
195
195
|
ci = 0
|
196
196
|
for wb_ii in range(bw.node_count - 1):
|
197
197
|
if bw.grid_indices[wb_ii] < 0:
|
@@ -258,7 +258,7 @@ def add_blocked_well_properties_from_wellbore_frame(bw,
|
|
258
258
|
wbf_p = wbf_pc.singleton(property_kind = 'wellbore radius')
|
259
259
|
assert wbf_p is not None, 'problem with wellbore radius wellbore frame property'
|
260
260
|
wbf_a = wbf_pc.cached_part_array_ref(wbf_p)
|
261
|
-
wb_a = np.full(bw.cell_count, np.
|
261
|
+
wb_a = np.full(bw.cell_count, np.nan, dtype = float)
|
262
262
|
for i, wbf_contributions in enumerate(wb_fraction_of_wbf):
|
263
263
|
if len(wbf_contributions) == 0:
|
264
264
|
continue # todo: could try to inherit wellbore radius from above or below?
|
@@ -350,7 +350,7 @@ def add_blocked_well_properties_from_wellbore_frame(bw,
|
|
350
350
|
skin_uom = skin_pc.uom_for_part(skin_part)
|
351
351
|
else:
|
352
352
|
assert skin_pc.uom_for_part(skin_part) == skin_uom, 'mixed skin units of measure'
|
353
|
-
wb_skin = np.full(bw.cell_count, np.
|
353
|
+
wb_skin = np.full(bw.cell_count, np.nan, dtype = float)
|
354
354
|
for i, wbf_contributions in enumerate(wb_fraction_of_wbf):
|
355
355
|
if len(wbf_contributions) == 0:
|
356
356
|
continue
|
resqpy/well/well_object_funcs.py
CHANGED
@@ -77,9 +77,8 @@ def add_wells_from_ascii_file(model,
|
|
77
77
|
assert crs_uuid is not None, 'coordinate reference system not found when trying to add wells'
|
78
78
|
|
79
79
|
try:
|
80
|
-
|
81
|
-
|
82
|
-
delim_whitespace = space_separated_instead_of_csv)
|
80
|
+
sep = r'\s+' if space_separated_instead_of_csv else ','
|
81
|
+
df = pd.read_csv(trajectory_file, comment = comment_character, sep = sep)
|
83
82
|
if df is None:
|
84
83
|
raise Exception
|
85
84
|
except Exception:
|
@@ -350,7 +349,6 @@ def add_las_to_trajectory(las: lasio.LASFile, trajectory, realization = None, ch
|
|
350
349
|
|
351
350
|
# Read in data from each curve in turn (skipping first curve which has depths)
|
352
351
|
for curve in las.curves[1:]:
|
353
|
-
|
354
352
|
collection.add_log(
|
355
353
|
title = curve.mnemonic,
|
356
354
|
data = curve.data,
|
@@ -442,10 +440,10 @@ def add_logs_from_cellio(blockedwell, cellio):
|
|
442
440
|
df = df.apply(pd.to_numeric)
|
443
441
|
# Get the cell_indices from the grid for the given i/j/k
|
444
442
|
df['cell_indices'] = grid.natural_cell_indices(
|
445
|
-
np.array((df['k_index'] - 1, df['j_index'] - 1, df['i_index'] - 1), dtype =
|
443
|
+
np.array((df['k_index'] - 1, df['j_index'] - 1, df['i_index'] - 1), dtype = np.int32).T)
|
446
444
|
df = df.drop(['i_index', 'j_index', 'k_index', 'x_in', 'y_in', 'z_in', 'x_out', 'y_out', 'z_out'], axis = 1)
|
447
|
-
assert (df['cell_indices'] == blockedwell.cell_indices
|
448
|
-
|
445
|
+
assert (df['cell_indices'] == blockedwell.cell_indices).all(), \
|
446
|
+
'Cell indices do not match between blocked well and log inputs'
|
449
447
|
|
450
448
|
# Work out if the data columns are continuous, categorical or discrete
|
451
449
|
type_dict = {}
|
@@ -468,11 +466,11 @@ def add_logs_from_cellio(blockedwell, cellio):
|
|
468
466
|
if log not in ['cell_indices']:
|
469
467
|
data_type = type_dict[log]
|
470
468
|
if log == 'ZONES':
|
471
|
-
data_type, dtype, null, discrete = 'discrete',
|
469
|
+
data_type, dtype, null, discrete = 'discrete', np.int32, -1, True
|
472
470
|
elif data_type == 'continuous':
|
473
471
|
dtype, null, discrete = float, np.nan, False
|
474
472
|
else:
|
475
|
-
dtype, null, discrete =
|
473
|
+
dtype, null, discrete = np.int32, -1, True
|
476
474
|
if data_type == 'categorical':
|
477
475
|
lookup_uuid = lookup_dict[log] # For categorical data, find or generate a StringLookupTable
|
478
476
|
else:
|
resqpy/well/well_utils.py
CHANGED
@@ -35,6 +35,39 @@ def load_hdf5_array(object, node, array_attribute, tag = 'Values', dtype = 'floa
|
|
35
35
|
array_attribute = array_attribute)
|
36
36
|
|
37
37
|
|
38
|
+
def load_lattice_array(object, node, array_attribute, trajectory):
|
39
|
+
"""Loads the property array data as an attribute of object, from the lattice array referenced in xml node.
|
40
|
+
|
41
|
+
This loader expects the XML node to be in the form of a lattice array, which is a
|
42
|
+
variant of NodeMd data defined as a series of regularly spaced measured depth values
|
43
|
+
computed from the metadata in the XML (start_value, offset, step_value, step_count).
|
44
|
+
Checks that the computed NodeMds are valid on the trajectory, and only loads those.
|
45
|
+
|
46
|
+
:param: object: The object to load the data into (typically a WellboreFrame)
|
47
|
+
:param: node: The XML node to load the metadata from
|
48
|
+
:param: array_attribute: The name of the attribute on 'object' to load the data into
|
49
|
+
:param: trajectory: The trajectory object to use to check the validity of the data
|
50
|
+
|
51
|
+
:meta private:
|
52
|
+
"""
|
53
|
+
|
54
|
+
def check_md(md: float, trajectory) -> bool:
|
55
|
+
xyz = np.array(trajectory.xyz_for_md(md))
|
56
|
+
return isinstance(xyz, np.ndarray) and xyz.shape == (3,)
|
57
|
+
|
58
|
+
if array_attribute is not None and getattr(object, array_attribute, None) is not None:
|
59
|
+
return
|
60
|
+
|
61
|
+
start_value = rqet.find_tag_float(node, "StartValue", must_exist = True)
|
62
|
+
offset = rqet.find_tag(node, "Offset", must_exist = True)
|
63
|
+
step_value = rqet.find_tag_float(offset, "Value", must_exist = True)
|
64
|
+
step_count = rqet.find_tag_int(offset, "Count", must_exist = True)
|
65
|
+
if step_count > 0:
|
66
|
+
step_mds = start_value + np.arange(step_count) * step_value
|
67
|
+
valid_mds = [md for md in step_mds if check_md(md, trajectory)]
|
68
|
+
object.__dict__[array_attribute] = np.array(valid_mds)
|
69
|
+
|
70
|
+
|
38
71
|
def extract_xyz(xyz_node):
|
39
72
|
"""Extracts an x,y,z coordinate from a solitary point xml node.
|
40
73
|
|
@@ -1,12 +1,11 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.3
|
2
2
|
Name: resqpy
|
3
|
-
Version:
|
3
|
+
Version: 5.1.6
|
4
4
|
Summary: Python API for working with RESQML models
|
5
|
-
Home-page: https://github.com/bp/resqpy
|
6
5
|
License: MIT
|
7
6
|
Keywords: RESQML
|
8
7
|
Author: BP
|
9
|
-
Requires-Python: >=3.
|
8
|
+
Requires-Python: >=3.9,<3.13
|
10
9
|
Classifier: Development Status :: 5 - Production/Stable
|
11
10
|
Classifier: License :: OSI Approved :: MIT License
|
12
11
|
Classifier: Operating System :: OS Independent
|
@@ -14,17 +13,17 @@ Classifier: Programming Language :: Python :: 3
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.9
|
15
14
|
Classifier: Programming Language :: Python :: 3.10
|
16
15
|
Classifier: Programming Language :: Python :: 3.11
|
17
|
-
Classifier: Programming Language :: Python :: 3.
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
18
17
|
Classifier: Topic :: Scientific/Engineering
|
19
18
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
20
19
|
Classifier: Topic :: System :: Filesystems
|
21
20
|
Requires-Dist: h5py (>=3.7,<4.0)
|
22
21
|
Requires-Dist: joblib (>=1.2,<2.0)
|
23
22
|
Requires-Dist: lasio (>=0.31,<0.32)
|
24
|
-
Requires-Dist: lxml (>=
|
25
|
-
Requires-Dist: numba (>=0.
|
26
|
-
Requires-Dist: numpy (>=1.
|
27
|
-
Requires-Dist: pandas (>=
|
23
|
+
Requires-Dist: lxml (>=5.1,<6.0)
|
24
|
+
Requires-Dist: numba (>=0.59,<1.0)
|
25
|
+
Requires-Dist: numpy (>=1.26,<2.0)
|
26
|
+
Requires-Dist: pandas (>=2.2,<3.0)
|
28
27
|
Requires-Dist: scipy (>=1.9,<2.0)
|
29
28
|
Project-URL: Documentation, https://resqpy.readthedocs.io/en/latest/
|
30
29
|
Project-URL: Repository, https://github.com/bp/resqpy
|
@@ -1,4 +1,4 @@
|
|
1
|
-
resqpy/__init__.py,sha256=
|
1
|
+
resqpy/__init__.py,sha256=cnR7ZBD-Sv8zdt5JWWw7n0iqZIaIhsYS7akdPjFzG10,555
|
2
2
|
resqpy/crs.py,sha256=R7DfcTP5xGv5pu9Y8RHA2WVM9DjBCSVMoHcz4RmQ7Yw,27646
|
3
3
|
resqpy/derived_model/__init__.py,sha256=NFvMSOKI3cxmH7lAbddV43JjoUj-r2G7ExEfOqinD1I,1982
|
4
4
|
resqpy/derived_model/_add_edges_per_column_property_array.py,sha256=cpW3gwp6MSYIrtvFmCjoJXcyUsgGuCDbgmwlJCJebUs,6410
|
@@ -24,52 +24,51 @@ resqpy/derived_model/_unsplit_grid.py,sha256=aqcdyn4WhDy7Kys3wnb55QwVXehmir4VW7T
|
|
24
24
|
resqpy/derived_model/_zonal_grid.py,sha256=H-IGMudUV-tiRHZqvl9B1wxMQNjeAM2zHvTllNiagPA,18825
|
25
25
|
resqpy/derived_model/_zone_layer_ranges_from_array.py,sha256=4pHkp7yqvkif_pC59VEK0g0JeFx7kt8mqhqADTOcucI,4358
|
26
26
|
resqpy/fault/__init__.py,sha256=IStX_EhPnppIExf_mgYrBddC4KP26VcqblcfXiBT614,996
|
27
|
-
resqpy/fault/_gcs_functions.py,sha256=
|
28
|
-
resqpy/fault/_grid_connection_set.py,sha256=
|
29
|
-
resqpy/grid/__init__.py,sha256=
|
27
|
+
resqpy/fault/_gcs_functions.py,sha256=NRyhKkYChRaKDUIQ6pfVQiD67e4TTm3LnBvWEPtpkDU,29569
|
28
|
+
resqpy/fault/_grid_connection_set.py,sha256=xStOkWHsbh9m6lql7f2PDURnoFOIM1mFmx-QG6yPaKo,126124
|
29
|
+
resqpy/grid/__init__.py,sha256=FTeNW9kJ8By6gA2-x-NisQQ8cY8RHCAro0lT-3ssxYQ,601
|
30
30
|
resqpy/grid/_cell_properties.py,sha256=pbyAK2eV9n4teOxm2q5hyBinohEbevFPrCfMcpGiqUU,20689
|
31
31
|
resqpy/grid/_connection_sets.py,sha256=-277bh9pMoeESSzy9oZehL-vc82aMGZuSLQs2KJ4Wfg,10120
|
32
32
|
resqpy/grid/_create_grid_xml.py,sha256=p-jKo1BZ-DlhEYixVzadtY-QsqA8ygcXvMYS_TvQCjg,22837
|
33
|
-
resqpy/grid/_defined_geometry.py,sha256=
|
34
|
-
resqpy/grid/_extract_functions.py,sha256=
|
33
|
+
resqpy/grid/_defined_geometry.py,sha256=QYQ3wLbPrlPobgUi9R1izTD4JD9qMGf5eyqbM68Hg-0,32297
|
34
|
+
resqpy/grid/_extract_functions.py,sha256=zfB8rLnt1qdz627BOiM4igXQKbCnsM8fV0HMbnLusTk,28585
|
35
35
|
resqpy/grid/_face_functions.py,sha256=0I7O6DDz7nJWczi_G2bE3L2XUr4acxREwKygXWEp6F4,16516
|
36
36
|
resqpy/grid/_faults.py,sha256=OmukVoLpdrndqDxwE6Rj7Ul5tj3FUQVPhE0raH2FHpg,12236
|
37
|
-
resqpy/grid/_grid.py,sha256
|
38
|
-
resqpy/grid/_grid_types.py,sha256=
|
37
|
+
resqpy/grid/_grid.py,sha256=-OhJpi9x8r74_7_CBrQsanqhFiZQcCiJkvbnhPRq2qQ,135758
|
38
|
+
resqpy/grid/_grid_types.py,sha256=YAmRrrm-J2HKuuwCRCAkE3ppcQLiwc4EEc6dc-sy9Fc,4362
|
39
39
|
resqpy/grid/_intervals_info.py,sha256=ODjDz22n8U9pSpO0Muj8mJr2hYWauFDzgcVQ0RM3csQ,338
|
40
|
-
resqpy/grid/_moved_functions.py,sha256=XboxA0pE55j-P_x5g051WheVamxkAatQGbU5aq2GkaE,604
|
41
40
|
resqpy/grid/_pillars.py,sha256=WXvLjORlNHnm0KI3qgoRtCyXdcT9vQBkJDQWL2wtJwg,7243
|
42
41
|
resqpy/grid/_pixel_maps.py,sha256=Aqn9dpDKjX_v8BnWMdN__ulqjeuXfE6W2_Z7EDaUqdE,5386
|
43
|
-
resqpy/grid/_points_functions.py,sha256=
|
44
|
-
resqpy/grid/_regular_grid.py,sha256=
|
42
|
+
resqpy/grid/_points_functions.py,sha256=72dCLWHrOUM9xSwSaEuxPUA__b6WAdk5rbeWatILdaI,70585
|
43
|
+
resqpy/grid/_regular_grid.py,sha256=5TzyD82S3K0H2zfBXHcGpOODmwc4X28WAUqgZ2kHCLc,46038
|
45
44
|
resqpy/grid/_transmissibility.py,sha256=cLtuVaLgBQqRXa-_YQ5mjR_QC842Jxn2d-Hl6171yOY,22575
|
46
45
|
resqpy/grid/_write_hdf5_from_caches.py,sha256=s3gcoilsFCCSw_wjnTjWe1xMHEWr_cessoGVgzqiqVI,9707
|
47
46
|
resqpy/grid/_write_nexus_corp.py,sha256=yEVfiObsedEAXX6UG6ZTf56kZnQVkd3lLqE2NpL-KBM,6147
|
48
47
|
resqpy/grid/_xyz.py,sha256=RLQWOdM_DRoCj4JypwB5gUJ78HTdk5JnZHSeAzuU634,13087
|
49
|
-
resqpy/grid_surface/__init__.py,sha256=
|
50
|
-
resqpy/grid_surface/_blocked_well_populate.py,sha256=
|
51
|
-
resqpy/grid_surface/_find_faces.py,sha256=
|
48
|
+
resqpy/grid_surface/__init__.py,sha256=zSbyDwUH_p0UXd9PAcAXvcS1wrmRVnZvXXa1zQSQBlY,2925
|
49
|
+
resqpy/grid_surface/_blocked_well_populate.py,sha256=Lme1AR-nLWOUlNnmHMVThk6jEg_lAZxWWtL82Yksppw,35867
|
50
|
+
resqpy/grid_surface/_find_faces.py,sha256=sBzy9mWQZNU41kE5v3taVNDKnqzTcvnOT2FVAXABP0c,120573
|
52
51
|
resqpy/grid_surface/_grid_skin.py,sha256=D0cjHkcuT5KCKb-8EZfXgh0GgJj3kzOBS2wVNXg4bfY,26056
|
53
52
|
resqpy/grid_surface/_grid_surface.py,sha256=l2NJo7Kiucolbb_TlLPC7NGdksg_JahkihfsrJVq99w,14379
|
54
53
|
resqpy/grid_surface/_trajectory_intersects.py,sha256=Och9cZYU9Y7ofovhPzsLyIblRUl2xj9_5nHH3fMZp-A,22498
|
55
54
|
resqpy/grid_surface/grid_surface_cuda.py,sha256=RVhrhzuQOIl3QlUocUeHdmmv6M_HNXe5UH3sDTZRIQI,40016
|
56
55
|
resqpy/lines/__init__.py,sha256=zE7j-BeqkOowj_tsZWd2X_fT-RpbuIh17zfEyj2N0oY,539
|
57
56
|
resqpy/lines/_common.py,sha256=nlgVgZ8utHXuHDyzuP0IpkUJViDNmmy7EBqwLzxSI2M,11960
|
58
|
-
resqpy/lines/_polyline.py,sha256=
|
57
|
+
resqpy/lines/_polyline.py,sha256=boiVQ2lBLp3c0b1bEA2T_j_a5gNsMI2orxZnitZVdSY,42227
|
59
58
|
resqpy/lines/_polyline_set.py,sha256=3K3z_G9l_3mfjLdCL-YVscyj1FA6DHh1uj9rXPtWFOY,27986
|
60
59
|
resqpy/model/__init__.py,sha256=hbxO-IpCOH_82TZqj6e1FjrWxO0tZu2gj2HCN9x-Svw,378
|
61
|
-
resqpy/model/_catalogue.py,sha256=
|
60
|
+
resqpy/model/_catalogue.py,sha256=duvZlNlTPjAfXyqae0J9lMSEx_8-WIcrw2MYxnNEg_Q,30487
|
62
61
|
resqpy/model/_context.py,sha256=0tLBVMcuuIj3i87Ig8lhFMLHE5GHgEA2PEl1NjKaohc,2840
|
63
|
-
resqpy/model/_forestry.py,sha256=
|
62
|
+
resqpy/model/_forestry.py,sha256=42dMwqdvxdRYYwqVSC4ky2iDp9hmqUEEtX2mxMVMLeA,34884
|
64
63
|
resqpy/model/_grids.py,sha256=d7hRQRmni5pJrm1CY31D2icJV1XDar7xTmUexq_eVGY,3371
|
65
|
-
resqpy/model/_hdf5.py,sha256
|
66
|
-
resqpy/model/_model.py,sha256=
|
67
|
-
resqpy/model/_xml.py,sha256=
|
64
|
+
resqpy/model/_hdf5.py,sha256=-dq2r3HzBKf0F43kwPy--MZOOjQZlDS4RJ6nG3VOeSs,14448
|
65
|
+
resqpy/model/_model.py,sha256=w9NcyFYa4woIGGEZlFiHR-LeSWgVjPUOtGq6sy4p48c,106323
|
66
|
+
resqpy/model/_xml.py,sha256=TiZKHZezMdcjRvHSa-HzzrYe9kyDdd8L4hacNV0bjEg,24402
|
68
67
|
resqpy/multi_processing/__init__.py,sha256=ZRudHfN9aaZjxvat7t8BZr6mwMi9baiCNjczwwT0WjI,909
|
69
68
|
resqpy/multi_processing/_multiprocessing.py,sha256=bnCKfSC1tWwvZmZ7BZqCyje0C93m6q7HZPxNpx8xoxA,7301
|
70
69
|
resqpy/multi_processing/wrappers/__init__.py,sha256=7vjuTWdHnp3rN9Ud8ljpDnt1NbBAyhA08lv-sQ9Kf3o,72
|
71
70
|
resqpy/multi_processing/wrappers/blocked_well_mp.py,sha256=_2fEsSmJVQCnbQIjTHqmnNEugfhN1KvX-o4ZbvtChdI,5952
|
72
|
-
resqpy/multi_processing/wrappers/grid_surface_mp.py,sha256=
|
71
|
+
resqpy/multi_processing/wrappers/grid_surface_mp.py,sha256=2XkaD_YWNLz6xFvegkuPM8YN_rRXmOVUoVJmXmTkKBg,27083
|
73
72
|
resqpy/multi_processing/wrappers/mesh_mp.py,sha256=0VYoqtgBFfrlyYB6kkjbdrRQ5FKe6t5pHJO3wD9b8Fc,5793
|
74
73
|
resqpy/olio/__init__.py,sha256=j2breqKYVufhw5k8qS2uZwB3tUKT7FhdZ23ninS75YA,84
|
75
74
|
resqpy/olio/ab_toolbox.py,sha256=bZlAhOJVS0HvIYBW0Lg68re17N8eltoQhIUh0xuUyVc,2147
|
@@ -89,21 +88,21 @@ resqpy/olio/keyword_files.py,sha256=8hifLG00eUmHOylbSQNfPwPQWd05tT14bCmCRHteefc,
|
|
89
88
|
resqpy/olio/load_data.py,sha256=koFJMo7kcn3wSkvUGCqhdIOb7hTADJaEYhzlu30oOwA,19204
|
90
89
|
resqpy/olio/point_inclusion.py,sha256=yseq-iWdAypOiZg1vbsEmYhouqaYv0_P9kc_ifYHb1A,6628
|
91
90
|
resqpy/olio/random_seed.py,sha256=ZcuaNKtUtVyp236uVQbEyFmb3122JiSsn1uiCCVfDxw,1103
|
92
|
-
resqpy/olio/read_nexus_fault.py,sha256
|
93
|
-
resqpy/olio/relperm.py,sha256=
|
91
|
+
resqpy/olio/read_nexus_fault.py,sha256=-KpinYLLWOy6JADCzI8u-J6HJQaiOrjF_ZGLsGCgqbQ,5659
|
92
|
+
resqpy/olio/relperm.py,sha256=ONGdaYKv-yHbeXB3SSUvwwqCQO5RijhvmiOgNE_5MYo,17130
|
94
93
|
resqpy/olio/simple_lines.py,sha256=qaR11W5UPgRmtMeFQ-pXg0jOvkJZ_XPzSUpAXqeYtlc,12189
|
95
94
|
resqpy/olio/time.py,sha256=LtoSIf1A6wunHSpDgKsSGEr0rbcSQyy35TgJvY37PrI,760
|
96
95
|
resqpy/olio/trademark.py,sha256=p_EWvUUnfalOA0RC94fSWMDgdGY9-FdZuGtAjg3wNcY,822
|
97
|
-
resqpy/olio/transmission.py,sha256=
|
98
|
-
resqpy/olio/triangulation.py,sha256=
|
96
|
+
resqpy/olio/transmission.py,sha256=auz_12TKtSPy6Fv3wmKn5lXPRAEnn2tYVyTQfsj37xU,61869
|
97
|
+
resqpy/olio/triangulation.py,sha256=sBNP4MhSpY2bv6BYIn7890stqetkK5dag9pYNFiUs2g,46037
|
99
98
|
resqpy/olio/uuid.py,sha256=JRMi-RZNeGm8tGNloIwTATzNtdj29lBQDV9OILboPRI,7324
|
100
99
|
resqpy/olio/vdb.py,sha256=lQYuK1kr1Wnucq2EoKgT6lrR7vloCemnCKZktzBcLUc,45231
|
101
|
-
resqpy/olio/vector_utilities.py,sha256=
|
102
|
-
resqpy/olio/volume.py,sha256=
|
103
|
-
resqpy/olio/wellspec_keywords.py,sha256=
|
100
|
+
resqpy/olio/vector_utilities.py,sha256=T8n9JMhE13msuy1dwJeIWw6ByKbm2o4zUV8l5frVsuk,61784
|
101
|
+
resqpy/olio/volume.py,sha256=inKZzW8UiYvyetltz_r_OgO3UzVtqdOz_RMg-WqlyDo,5475
|
102
|
+
resqpy/olio/wellspec_keywords.py,sha256=ad3B727golWYiko54OZOw7vG21IvpNxCMCyLv8jSkcI,26533
|
104
103
|
resqpy/olio/write_data.py,sha256=bIX7ilMkXWCMz_zQh-Gqk56sNzng4W5l4BahW2EV7Kw,5142
|
105
|
-
resqpy/olio/write_hdf5.py,sha256=
|
106
|
-
resqpy/olio/xml_et.py,sha256=
|
104
|
+
resqpy/olio/write_hdf5.py,sha256=iUIYPWlbJsSSq9UXXiXAW_S6TeK-N2M7QvlJJE43EK8,19015
|
105
|
+
resqpy/olio/xml_et.py,sha256=aPjxr2XWvYcwlnckL_UiZmd5EGEoIfy_JxeOKOk3vwQ,25322
|
107
106
|
resqpy/olio/xml_namespaces.py,sha256=PiQi2W7gRLxhMSEs26ahT4MlagYqsjMWJlNpIiZupoA,1824
|
108
107
|
resqpy/olio/zmap_reader.py,sha256=YuhZjde_DZszVFsUKfu0XieKGg7ONXtJWskRV9Pw7VE,5709
|
109
108
|
resqpy/organize/__init__.py,sha256=H1c7B4aRJf5peaGUTvGrCVug4Xr_JW38zeWL-LyCDtk,2206
|
@@ -127,15 +126,16 @@ resqpy/organize/structural_organization_interpretation.py,sha256=xEpm1KKiP9dKktW
|
|
127
126
|
resqpy/organize/tectonic_boundary_feature.py,sha256=mMSsIW8YJ6qpeOe-6gRFaQbK39-WIiGunxPSnwxFyqY,2675
|
128
127
|
resqpy/organize/wellbore_feature.py,sha256=E2gFwgPZGr8nkhRHAIR0wTZ8uwcze7y2WBIV7AXeW2A,1843
|
129
128
|
resqpy/organize/wellbore_interpretation.py,sha256=jRAHq90tR2dCQSXsZicujXhSVHOEPoGjFgh5S87SMAI,6973
|
130
|
-
resqpy/property/__init__.py,sha256=
|
131
|
-
resqpy/property/_collection_add_part.py,sha256=
|
132
|
-
resqpy/property/_collection_create_xml.py,sha256=
|
133
|
-
resqpy/property/_collection_get_attributes.py,sha256=
|
129
|
+
resqpy/property/__init__.py,sha256=gRnzjdn6bxCQStfHL5qMOs43okVRW168TjqU0C9oL2g,2360
|
130
|
+
resqpy/property/_collection_add_part.py,sha256=uM64TWqJ0aBUwP1u1OJNTUhKLGlmOQj14fGPLG-2pRs,17156
|
131
|
+
resqpy/property/_collection_create_xml.py,sha256=p9GASodhg4vQqDDvCOHScto_Qtz_nDADGtvZY92Dcu8,13001
|
132
|
+
resqpy/property/_collection_get_attributes.py,sha256=9uHH9TW0Rty7BMclLqQivr6-uglKSjFZkpWdq47OgAo,32697
|
134
133
|
resqpy/property/_collection_support.py,sha256=77_DG-0pzhMWdG_mNDiGfihXD7Pp-CvDSGCV8ZlDjj4,5889
|
135
134
|
resqpy/property/_property.py,sha256=JcG7h6k4cJ4l3WC_VCsvoqHM3FBxrnUuxbIK2Ono1M0,24426
|
136
|
-
resqpy/property/
|
137
|
-
resqpy/property/
|
138
|
-
resqpy/property/
|
135
|
+
resqpy/property/attribute_property_set.py,sha256=gATFe-vI00GrgaJNMHSKbM0xmlxIsO5DT1qRSU9snYI,12295
|
136
|
+
resqpy/property/grid_property_collection.py,sha256=37dVQSBSTpX22UfBcpPvwGjd8H3O2MepKpWXYc4yJvM,66858
|
137
|
+
resqpy/property/property_collection.py,sha256=RJEooAeoEtxQtsm2i0-FtRL8drCo-JneYsgxrJwaxqU,154652
|
138
|
+
resqpy/property/property_common.py,sha256=wf429weNtgf6J4gCNNoRwj64elQvUPI_ZWzg4qI7l6c,35993
|
139
139
|
resqpy/property/property_kind.py,sha256=6SK0La09eisHPYOSgdx69K_Ordrq0x2tz4IAyurVyY8,5557
|
140
140
|
resqpy/property/string_lookup.py,sha256=eH-lbLRbb8JKtO91FTtyuYseRGwPkmsghcXbKUTvVgI,7737
|
141
141
|
resqpy/property/well_interval_property.py,sha256=_6k0NBX2rd2uGjkur37qCslF9Mow14d8LxPGqqp00gg,1077
|
@@ -144,11 +144,11 @@ resqpy/property/well_log.py,sha256=iIEzFznuj4nkB37MB5YsGSN_mml9jgJNBZWIrJlmhnw,1
|
|
144
144
|
resqpy/property/well_log_collection.py,sha256=BvvRjDkXjuX2iGUwAGmnIvj6L3zIYAP0db3PoAyj3Mw,7633
|
145
145
|
resqpy/rq_import/__init__.py,sha256=JV6wDE-_oJ-wY5O5Adaqxoti44NC0QLqrU2esyXvyHA,713
|
146
146
|
resqpy/rq_import/_add_ab_properties.py,sha256=r9MogJr8QYTVFqKHKv8LQv_PYaDZmA_-aaYy-qeAfTE,4493
|
147
|
-
resqpy/rq_import/_add_surfaces.py,sha256=
|
148
|
-
resqpy/rq_import/_grid_from_cp.py,sha256=
|
149
|
-
resqpy/rq_import/_import_nexus.py,sha256=
|
150
|
-
resqpy/rq_import/_import_vdb_all_grids.py,sha256=
|
151
|
-
resqpy/rq_import/_import_vdb_ensemble.py,sha256=
|
147
|
+
resqpy/rq_import/_add_surfaces.py,sha256=f-1nODJpIm4s3OyfA8hHO8WyzH3OT8YfoiE9D_o5dLA,7620
|
148
|
+
resqpy/rq_import/_grid_from_cp.py,sha256=I_TIUjtpc1QwUBxis5URywoirAqMiYqbPWepsqgEKfs,31996
|
149
|
+
resqpy/rq_import/_import_nexus.py,sha256=cOLVS6CNSOE-nuTV7tkNZTYtTzwIaclu0HaBGJFUeZw,35266
|
150
|
+
resqpy/rq_import/_import_vdb_all_grids.py,sha256=m2B4o-_Mmv9YkeIyVI_oQnnB7DNytN3WGfpm3rF_q-A,6942
|
151
|
+
resqpy/rq_import/_import_vdb_ensemble.py,sha256=CeoNVeJ88lbPq19gNNvpZNFQmCQE0K7iEEd2cVKjml8,21284
|
152
152
|
resqpy/strata/__init__.py,sha256=S8-jJMJlCEwt9Vywe7TftZN3w0tEWeqopmuWRRyBqGI,1311
|
153
153
|
resqpy/strata/_binary_contact_interpretation.py,sha256=CCE10qVYznbevssHyNqTZv0Ld-jPEE6-iN7za2XfsFM,8861
|
154
154
|
resqpy/strata/_geologic_unit_interpretation.py,sha256=8DXSTptMq56sa1zdXTh4WKzXekkfz_z1fJlTf8bmmQs,10381
|
@@ -160,40 +160,40 @@ resqpy/strata/_stratigraphic_unit_interpretation.py,sha256=hlzHamLea0qbFy15WZV2w
|
|
160
160
|
resqpy/surface/__init__.py,sha256=YYwmqudBpeW-Qw4gwxlwZHGIBnc9l_xdqjExeI9MKm4,794
|
161
161
|
resqpy/surface/_base_surface.py,sha256=LsWrDrbuuaEVRgf2Dlbc-6ZvGQpjtrKuxF7Jjebvlis,2331
|
162
162
|
resqpy/surface/_combined_surface.py,sha256=8TnNbSywjej6tW_vRr5zoVgBbvnadCaqWk6WyHWHTYQ,3082
|
163
|
-
resqpy/surface/_mesh.py,sha256=
|
163
|
+
resqpy/surface/_mesh.py,sha256=yEFldNWT2g8MCGcU4mTeWzDrLHHGLLGLIle1gAjJ_lg,42352
|
164
164
|
resqpy/surface/_pointset.py,sha256=niTkBik9hAvqrY8340K1TRG7mg4FMQbbp12WZiiXPMs,27416
|
165
|
-
resqpy/surface/_surface.py,sha256=
|
166
|
-
resqpy/surface/_tri_mesh.py,sha256=
|
167
|
-
resqpy/surface/_tri_mesh_stencil.py,sha256=
|
168
|
-
resqpy/surface/_triangulated_patch.py,sha256=
|
165
|
+
resqpy/surface/_surface.py,sha256=FO8bvL1HoSJw0TGHC4FTTIgOzAEElx4GqaYlEh_NhwI,94079
|
166
|
+
resqpy/surface/_tri_mesh.py,sha256=f2BiGYNj5v8CgmWJKEZ7aKp1WX9iWX4myETCjVQ5dCA,26746
|
167
|
+
resqpy/surface/_tri_mesh_stencil.py,sha256=eXt_HIKvsXGsjQ7nm_NbozR6ProQxPbeO52r79j80ig,16087
|
168
|
+
resqpy/surface/_triangulated_patch.py,sha256=FKn_Irzp4aLFkkN_-tx1MLMKjEAiOLE8636sOA481TQ,26802
|
169
169
|
resqpy/time_series/__init__.py,sha256=jiB3HJUWe47OOJTVmRJ4Gh5vm-XdMaMXmD52kAGr2zY,1074
|
170
|
-
resqpy/time_series/_any_time_series.py,sha256=
|
170
|
+
resqpy/time_series/_any_time_series.py,sha256=PabSxptRcvxsr3bY0tDGHGHm02Fn8meBuIqBAgyMNOU,8953
|
171
171
|
resqpy/time_series/_from_nexus_summary.py,sha256=LWTcJNx_rDFNGP2iWk74ABip_f__iYNBE0R8lVzHOYo,6617
|
172
172
|
resqpy/time_series/_functions.py,sha256=D5Wzb7RRfNmmNipQj9DSH-I3eQewP7Zqzkb2T1EGeYk,6366
|
173
|
-
resqpy/time_series/_geologic_time_series.py,sha256
|
173
|
+
resqpy/time_series/_geologic_time_series.py,sha256=-4oMxE0R_ZEqyxb9qckawiHS0SJ-rVSZZ11pF6yYn3M,3349
|
174
174
|
resqpy/time_series/_time_duration.py,sha256=bzRf0fynlB68KUYKa0Ih7qwd4ZJnRjl_Y6AxgX7LAsM,2759
|
175
175
|
resqpy/time_series/_time_series.py,sha256=ceCuFbmYmppx0jBitdyjtSKkcLxjZ-qyhFN_HQX-3CQ,10818
|
176
176
|
resqpy/unstructured/__init__.py,sha256=8te-ghWhkDGe0QaLDClvVEkSMtnDtX46K1QODmJU8Xw,603
|
177
|
-
resqpy/unstructured/_hexa_grid.py,sha256=
|
178
|
-
resqpy/unstructured/_prism_grid.py,sha256=
|
179
|
-
resqpy/unstructured/_pyramid_grid.py,sha256=
|
180
|
-
resqpy/unstructured/_tetra_grid.py,sha256=
|
181
|
-
resqpy/unstructured/_unstructured_grid.py,sha256=
|
177
|
+
resqpy/unstructured/_hexa_grid.py,sha256=M22p_5nysAgF8zlqr3WPjwB5hYD6BzVu7XE99yG_hvs,15604
|
178
|
+
resqpy/unstructured/_prism_grid.py,sha256=pTckhCQZVbqzJ7eDU9KOauujer0F-9XOHEcCrqy9eMQ,36408
|
179
|
+
resqpy/unstructured/_pyramid_grid.py,sha256=dmukk_jlKktjfMEyfCMTpgG3hz3mZFo0O84vSWHxN-M,8138
|
180
|
+
resqpy/unstructured/_tetra_grid.py,sha256=awF9JKI3ws2VXKa_xPZkn8AXLdIsCWrM3HL7CeO6u_U,12729
|
181
|
+
resqpy/unstructured/_unstructured_grid.py,sha256=7DSsywdeTAkhM2Vl4_Yk6aMbb20sgEy5PUmqM5sSyVE,51808
|
182
182
|
resqpy/weights_and_measures/__init__.py,sha256=Kp1pPZFH4rS5_PkCERZBEzGoat6n_dSS0y_KLhuIVBM,1135
|
183
183
|
resqpy/weights_and_measures/nexus_units.py,sha256=pHqcFbe-8nyqozFgN5Ce-W-UvEnXQ6yiaX3dP1ONtAQ,5434
|
184
184
|
resqpy/weights_and_measures/weights_and_measures.py,sha256=1WnrmhtcyCgY2crClNddmfwtf33JdVZy9wNhqPQIvuc,16210
|
185
185
|
resqpy/well/__init__.py,sha256=v5_gd7sSPRM9q2KsLiLWaw3jbnXFZkou38qeB7_HSN4,990
|
186
|
-
resqpy/well/_blocked_well.py,sha256=
|
187
|
-
resqpy/well/_deviation_survey.py,sha256=
|
188
|
-
resqpy/well/_md_datum.py,sha256=
|
189
|
-
resqpy/well/_trajectory.py,sha256=
|
190
|
-
resqpy/well/_wellbore_frame.py,sha256=
|
186
|
+
resqpy/well/_blocked_well.py,sha256=Greo8r4AD_TRoclboIn5jO0_7v2rLN-GXYApPQ6ScOo,192741
|
187
|
+
resqpy/well/_deviation_survey.py,sha256=AsjTl56v8qa2lSxKAMn4vhEadqRTzwH98PmOObCBoe0,23086
|
188
|
+
resqpy/well/_md_datum.py,sha256=O_rPuKsITUi5JD8OzJsf4a6TpWNDCEmjDk8wpQFgJGQ,6709
|
189
|
+
resqpy/well/_trajectory.py,sha256=lt2_MXeRWjsXTMqZZ5n4-fAT0d41RatCG9QUoYopjOQ,52752
|
190
|
+
resqpy/well/_wellbore_frame.py,sha256=7pAJN-yjvyxg8rXzfRDSpHGoE31T7TaLxkyRiUcsm6o,15502
|
191
191
|
resqpy/well/_wellbore_marker.py,sha256=ZqcZC5Xmta3IJOAaZXZAWAQX9iaS312WjhnJSge8yks,8403
|
192
192
|
resqpy/well/_wellbore_marker_frame.py,sha256=xvYH2_2Ie3a18LReFymbUrZboOx7Rhv5DODEVO4-B-k,20933
|
193
|
-
resqpy/well/blocked_well_frame.py,sha256=
|
194
|
-
resqpy/well/well_object_funcs.py,sha256=
|
195
|
-
resqpy/well/well_utils.py,sha256
|
196
|
-
resqpy-
|
197
|
-
resqpy-
|
198
|
-
resqpy-
|
199
|
-
resqpy-
|
193
|
+
resqpy/well/blocked_well_frame.py,sha256=Rx8jwkCjchseDZaTttPkA1-f6l7W6vRGrxWtDHlEPx8,22560
|
194
|
+
resqpy/well/well_object_funcs.py,sha256=1O4EVPuTn-kN3uT_V4TbSwehnMUMY0TX36XOUgasTcc,24689
|
195
|
+
resqpy/well/well_utils.py,sha256=-g_pg2v5XD9g4SQz9sk7KK-x2xEQZHzWehCQqiEGo6M,7627
|
196
|
+
resqpy-5.1.6.dist-info/LICENSE,sha256=2duHPIkKQyESMdQ4hKjL8CYEsYRHXaYxt0YQkzsUYE4,1059
|
197
|
+
resqpy-5.1.6.dist-info/METADATA,sha256=ixIzugCD9ZynPEJP_6VZiiUrn042oJmOx8HoilUgePw,3986
|
198
|
+
resqpy-5.1.6.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
199
|
+
resqpy-5.1.6.dist-info/RECORD,,
|
resqpy/grid/_moved_functions.py
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
"""Submodule containing some general grid functions that have now been moved. This file will be deleted in a later release."""
|
2
|
-
|
3
|
-
import warnings
|
4
|
-
|
5
|
-
import resqpy.grid._points_functions as pf
|
6
|
-
import resqpy.property.property_kind as pk
|
7
|
-
|
8
|
-
|
9
|
-
def establish_zone_property_kind(model):
|
10
|
-
"""MOVED: Returns zone local property kind object, creating the xml and adding as part if not found in model."""
|
11
|
-
warnings.warn(
|
12
|
-
'This function has been moved to property/property_kind. Please update your code to the new '
|
13
|
-
'location.', DeprecationWarning)
|
14
|
-
|
15
|
-
return pk.establish_zone_property_kind(model)
|
File without changes
|