resqpy 4.13.1__py3-none-any.whl → 4.13.3__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 CHANGED
@@ -28,6 +28,6 @@
28
28
 
29
29
  import logging
30
30
 
31
- __version__ = "4.13.1" # Set at build time
31
+ __version__ = "4.13.3" # Set at build time
32
32
  log = logging.getLogger(__name__)
33
33
  log.info(f"Imported resqpy version {__version__}")
resqpy/lines/_polyline.py CHANGED
@@ -427,6 +427,10 @@ class Polyline(rql_c._BasePolyline):
427
427
  """
428
428
 
429
429
  assert 0.0 <= fraction <= 1.0
430
+ if maths.isclose(fraction, 0.0):
431
+ return self.coordinates[0]
432
+ if maths.isclose(fraction, 1.0):
433
+ return (self.coordinates[0] if self.isclosed else self.coordinates[-1])
430
434
  target = fraction * self.full_length(in_xy = in_xy)
431
435
  seg_index = 0
432
436
  while True:
@@ -539,6 +539,16 @@ class Surface(rqsb.BaseSurface):
539
539
  assert saucer_parameter is None or 0.0 <= saucer_parameter < 1.0
540
540
  crs = rqc.Crs(self.model, uuid = point_set.crs_uuid)
541
541
  p = point_set.full_array_ref()
542
+ assert p.ndim >= 2
543
+ assert p.shape[-1] == 3
544
+ p = p.reshape((-1, 3))
545
+ nan_mask = np.isnan(p)
546
+ if np.any(nan_mask):
547
+ row_mask = np.logical_not(np.any(nan_mask, axis = -1))
548
+ log.info(
549
+ f'removing {len(p) - np.count_nonzero(row_mask)} NaN points from point set {point_set.title} prior to surface triangulation'
550
+ )
551
+ p = p[row_mask, :]
542
552
  if crs.xy_units == crs.z_units or not reorient:
543
553
  unit_adjusted_p = p
544
554
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: resqpy
3
- Version: 4.13.1
3
+ Version: 4.13.3
4
4
  Summary: Python API for working with RESQML models
5
5
  Home-page: https://github.com/bp/resqpy
6
6
  License: MIT
@@ -1,4 +1,4 @@
1
- resqpy/__init__.py,sha256=ONTVfTCvPHCFvFoelqJl0G_s5-oZU_N2qRcPJGxGcLA,556
1
+ resqpy/__init__.py,sha256=GRQwmZJynGjYpfS2jlLwWQLs5UDxrUZvT1dbp93aE5E,556
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
@@ -55,7 +55,7 @@ resqpy/grid_surface/_trajectory_intersects.py,sha256=Och9cZYU9Y7ofovhPzsLyIblRUl
55
55
  resqpy/grid_surface/grid_surface_cuda.py,sha256=RVhrhzuQOIl3QlUocUeHdmmv6M_HNXe5UH3sDTZRIQI,40016
56
56
  resqpy/lines/__init__.py,sha256=zE7j-BeqkOowj_tsZWd2X_fT-RpbuIh17zfEyj2N0oY,539
57
57
  resqpy/lines/_common.py,sha256=nlgVgZ8utHXuHDyzuP0IpkUJViDNmmy7EBqwLzxSI2M,11960
58
- resqpy/lines/_polyline.py,sha256=OjxSKi9vPqFI4GjVkkA9ZDYewu-gu59bF4NNqJ0hUVo,42454
58
+ resqpy/lines/_polyline.py,sha256=37E0pGDDaBuqtmvXq2zHyYO97uUIUWljZoSWNibQemc,42659
59
59
  resqpy/lines/_polyline_set.py,sha256=3K3z_G9l_3mfjLdCL-YVscyj1FA6DHh1uj9rXPtWFOY,27986
60
60
  resqpy/model/__init__.py,sha256=hbxO-IpCOH_82TZqj6e1FjrWxO0tZu2gj2HCN9x-Svw,378
61
61
  resqpy/model/_catalogue.py,sha256=ZSzLaZWBLgrna6DPPfEQK72hmuRieLrWr5jhj51YIsI,30205
@@ -162,7 +162,7 @@ resqpy/surface/_base_surface.py,sha256=LsWrDrbuuaEVRgf2Dlbc-6ZvGQpjtrKuxF7Jjebvl
162
162
  resqpy/surface/_combined_surface.py,sha256=8TnNbSywjej6tW_vRr5zoVgBbvnadCaqWk6WyHWHTYQ,3082
163
163
  resqpy/surface/_mesh.py,sha256=bhHfIjRg9xWhv1aWW9oDhTK6LlwS5rZBST1ONJuG8pg,42192
164
164
  resqpy/surface/_pointset.py,sha256=niTkBik9hAvqrY8340K1TRG7mg4FMQbbp12WZiiXPMs,27416
165
- resqpy/surface/_surface.py,sha256=W8DP8aVHdfh3xh5pGblRwJ3sUfJ9nQwpZav5Bce-KFA,65246
165
+ resqpy/surface/_surface.py,sha256=yOqB9c-Rwh7Micj3vKb0M5SC77Tg9B1zokwPFtO7S9c,65671
166
166
  resqpy/surface/_tri_mesh.py,sha256=hIaaBKpdJJ0x12LzT04y2j_uxZpvJ_mZdHoJ_JTWFdY,24546
167
167
  resqpy/surface/_triangulated_patch.py,sha256=cmZVssA5Yde0JzgawkahlZFNFcmgxJS59HxirOu7nQ4,25907
168
168
  resqpy/time_series/__init__.py,sha256=jiB3HJUWe47OOJTVmRJ4Gh5vm-XdMaMXmD52kAGr2zY,1074
@@ -192,7 +192,7 @@ resqpy/well/_wellbore_marker_frame.py,sha256=xvYH2_2Ie3a18LReFymbUrZboOx7Rhv5DOD
192
192
  resqpy/well/blocked_well_frame.py,sha256=Lg7TgynfPv9WkklXTLt9VN6uBXWUqX1LI-Xmv_FBqYk,22555
193
193
  resqpy/well/well_object_funcs.py,sha256=LYTcC07ezlBxClfrug_B4iXXZUkXDPgsVufNzp361Wo,24703
194
194
  resqpy/well/well_utils.py,sha256=zwpYjT85nXAwWBhYB1Pygu2SgouZ-44k6hEOnpoMfBI,5969
195
- resqpy-4.13.1.dist-info/LICENSE,sha256=2duHPIkKQyESMdQ4hKjL8CYEsYRHXaYxt0YQkzsUYE4,1059
196
- resqpy-4.13.1.dist-info/METADATA,sha256=bw78ntln49Qw78rWe2zN0u1nK4zp1KkbTtOLHQ3wp-w,4028
197
- resqpy-4.13.1.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
198
- resqpy-4.13.1.dist-info/RECORD,,
195
+ resqpy-4.13.3.dist-info/LICENSE,sha256=2duHPIkKQyESMdQ4hKjL8CYEsYRHXaYxt0YQkzsUYE4,1059
196
+ resqpy-4.13.3.dist-info/METADATA,sha256=LDlWV9zMuXTa_Ixmd-ZBpiAeG2DnTD58ogIYLYCZHQw,4028
197
+ resqpy-4.13.3.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
198
+ resqpy-4.13.3.dist-info/RECORD,,