resqpy 4.13.1__py3-none-any.whl → 4.13.3__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
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,,