xtgeo 4.12.1__cp313-cp313-win_amd64.whl → 4.13.1__cp313-cp313-win_amd64.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.

Potentially problematic release.


This version of xtgeo might be problematic. Click here for more details.

@@ -448,99 +448,6 @@ def _get_randomline_fence(self, fencespec, hincrement, atleast, nextend):
448
448
  return fspec
449
449
 
450
450
 
451
- def operation_polygons(self, poly, value, opname="add", inside=True):
452
- """Operations restricted to polygons"""
453
-
454
- # keep this for a while (e.g. mid 2024), and then replace it with _v2 below.
455
- if not isinstance(poly, Polygons):
456
- raise ValueError("The poly input is not a Polygons instance")
457
- if opname not in VALID_OPER_POLYS:
458
- raise ValueError(f"Operation key opname has invalid value: {opname}")
459
-
460
- # make a copy of the RegularSurface which is used a "filter" or "proxy"
461
- # value will be 1 inside polygons, 0 outside. Undef cells are kept as is
462
-
463
- proxy = self.copy()
464
- proxy.values *= 0.0
465
- vals = proxy.get_values1d(fill_value=UNDEF)
466
-
467
- # value could be a scalar or another surface; if another surface,
468
- # must ensure same topology
469
-
470
- if isinstance(value, type(self)):
471
- if not self.compare_topology(value):
472
- raise ValueError("Input is RegularSurface, but not same map topology")
473
- value = value.values.copy()
474
- else:
475
- # turn scalar value into numpy array
476
- value = self.values.copy() * 0 + value
477
-
478
- idgroups = poly.get_dataframe(copy=False).groupby(poly.pname)
479
-
480
- for _, grp in idgroups:
481
- xcor = grp[poly.xname].values
482
- ycor = grp[poly.yname].values
483
-
484
- ier = _cxtgeo.surf_setval_poly(
485
- proxy.xori,
486
- proxy.xinc,
487
- proxy.yori,
488
- proxy.yinc,
489
- proxy.ncol,
490
- proxy.nrow,
491
- proxy.yflip,
492
- proxy.rotation,
493
- vals,
494
- xcor,
495
- ycor,
496
- 1.0,
497
- 0,
498
- )
499
- if ier == -9:
500
- xtg.warn("Polygon is not closed")
501
-
502
- proxy.set_values1d(vals)
503
- proxyv = proxy.values.astype(np.int8)
504
-
505
- proxytarget = 1
506
- if not inside:
507
- proxytarget = 0
508
-
509
- tmp = None
510
- if opname == "add":
511
- tmp = self.values.copy() + value
512
- elif opname == "sub":
513
- tmp = self.values.copy() - value
514
- elif opname == "mul":
515
- tmp = self.values.copy() * value
516
- elif opname == "div":
517
- # Dividing a map of zero is always a hazzle; try to obtain 0.0
518
- # as result in these cases
519
- if 0.0 in value:
520
- xtg.warn(
521
- "Dividing a surface with value=0.0 or surface with zero "
522
- "elements; may get unexpected results, try to "
523
- "achieve zero values as result!"
524
- )
525
- with np.errstate(divide="ignore", invalid="ignore"):
526
- this = ma.filled(self.values, fill_value=1.0)
527
- that = ma.filled(value, fill_value=1.0)
528
- mask = ma.getmaskarray(self.values)
529
- tmp = np.true_divide(this, that)
530
- tmp = np.where(np.isinf(tmp), 0, tmp)
531
- tmp = np.nan_to_num(tmp)
532
- tmp = ma.array(tmp, mask=mask)
533
-
534
- elif opname == "set":
535
- tmp = value
536
- elif opname == "eli":
537
- tmp = value * 0 + UNDEF
538
- tmp = ma.masked_greater(tmp, UNDEF_LIMIT)
539
-
540
- self.values[proxyv == proxytarget] = tmp[proxyv == proxytarget]
541
- del tmp
542
-
543
-
544
451
  def _proxy_map_polygons(surf, poly, inside=True):
545
452
  """Return a proxy map where on one to do operations, as 0 and 1."""
546
453
  inside_value = 1 if inside else 0
@@ -574,7 +481,7 @@ def _proxy_map_polygons(surf, poly, inside=True):
574
481
  return proxy
575
482
 
576
483
 
577
- def operation_polygons_v2(self, poly, value: float | Any, opname="add", inside=True):
484
+ def operation_polygons(self, poly, value: float | Any, opname="add", inside=True):
578
485
  """Operations restricted to polygons, using matplotlib (much faster).
579
486
 
580
487
  The 'value' can be a number or another regular surface (with same design)
@@ -1883,7 +1883,7 @@ class RegularSurface:
1883
1883
  # Operations restricted to inside/outside polygons
1884
1884
  # ==================================================================================
1885
1885
 
1886
- def operation_polygons(self, poly, value, opname="add", inside=True, _version=2):
1886
+ def operation_polygons(self, poly, value, opname="add", inside=True):
1887
1887
  """A generic function for map operations inside or outside polygon(s).
1888
1888
 
1889
1889
  Args:
@@ -1895,14 +1895,9 @@ class RegularSurface:
1895
1895
  on polygons (this key will be removed in later versions and shall not
1896
1896
  be applied)
1897
1897
  """
1898
- if _version == 2:
1899
- _regsurf_oper.operation_polygons_v2(
1900
- self, poly, value, opname=opname, inside=inside
1901
- )
1902
- else:
1903
- _regsurf_oper.operation_polygons(
1904
- self, poly, value, opname=opname, inside=inside
1905
- )
1898
+ _regsurf_oper.operation_polygons(
1899
+ self, poly, value, opname=opname, inside=inside
1900
+ )
1906
1901
 
1907
1902
  # shortforms
1908
1903
  def add_inside(self, poly, value):
@@ -1,5 +1,7 @@
1
1
  """Blocked Well input and output, private module for ROXAPI"""
2
2
 
3
+ import warnings
4
+
3
5
  import numpy as np
4
6
  import numpy.ma as npma
5
7
  import pandas as pd
@@ -191,7 +193,6 @@ def _roxapi_export_bwell(self, rox, gname, bwname, wname, lognames, ijk, realisa
191
193
  else:
192
194
  bwlog = bwprops[lname]
193
195
  bwprop = bwlog.get_values(realisation=realisation)
194
-
195
196
  usedtype = bwprop.dtype
196
197
  dind = bwset.get_data_indices([self._wname], realisation=realisation)
197
198
 
@@ -199,9 +200,28 @@ def _roxapi_export_bwell(self, rox, gname, bwname, wname, lognames, ijk, realisa
199
200
  raise ValueError(
200
201
  "Dataframe is of wrong size, changing numbers of rows is not possible"
201
202
  )
202
- maskedvalues = np.ma.masked_invalid(
203
- self.get_dataframe(copy=False)[lname].values
204
- ).astype(usedtype)
203
+
204
+ # Get the values
205
+ values = self.get_dataframe(copy=False)[lname].values
206
+
207
+ # Create masked array first, then handle casting
208
+ masked_values = np.ma.masked_invalid(values)
209
+
210
+ # Handle casting based on target type
211
+ if np.issubdtype(usedtype, np.integer):
212
+ # For integer types, suppress the warning and handle invalid values
213
+ with warnings.catch_warnings():
214
+ warnings.filterwarnings(
215
+ "ignore", "invalid value encountered in cast", RuntimeWarning
216
+ )
217
+ # Fill masked values with a valid integer before casting
218
+ filled_values = np.ma.filled(masked_values, fill_value=0)
219
+ cast_values = filled_values.astype(usedtype)
220
+ # Recreate the masked array with the original mask
221
+ maskedvalues = np.ma.masked_array(cast_values, mask=masked_values.mask)
222
+ else:
223
+ # For float types, direct cast is fine
224
+ maskedvalues = masked_values.astype(usedtype)
205
225
 
206
226
  # there are cases where the RMS API complains on the actual value of the masked
207
227
  # array being outside range; hence remedy is to set 'data' value to a usedtype
xtgeo/xyz/_xyz_io.py CHANGED
@@ -288,15 +288,17 @@ def import_rms_attr(pfile, zname="Z_TVDSS"):
288
288
  names=names,
289
289
  dtype=dtypes,
290
290
  )
291
+
291
292
  for col in dfr.columns[3:]:
292
293
  if col in _attrs:
293
- # pandas gives a FutureWarning here due to casting what was
294
- # previously a string to a float/int.
294
+ # avoid FutureWarning by not using .replace() for mixed dtypes
295
295
  if _attrs[col] == "float":
296
- dfr[col] = dfr[col].replace("UNDEF", UNDEF).astype(float)
296
+ s = dfr[col].mask(dfr[col] == "UNDEF", UNDEF)
297
+ dfr[col] = pd.to_numeric(s, errors="coerce").astype(float)
297
298
  elif _attrs[col] == "int":
298
- dfr[col] = dfr[col].replace("UNDEF", UNDEF_INT).astype(int)
299
-
299
+ s = dfr[col].mask(dfr[col] == "UNDEF", UNDEF_INT)
300
+ s = pd.to_numeric(s, errors="coerce").fillna(UNDEF_INT).astype(int)
301
+ dfr[col] = s
300
302
  # cast to numerical if possible
301
303
  with contextlib.suppress(ValueError, TypeError):
302
304
  dfr[col] = pd.to_numeric(dfr[col])
xtgeo/xyz/points.py CHANGED
@@ -504,6 +504,7 @@ class Points(XYZ):
504
504
  "Direct access to the dataframe property in Points class will be "
505
505
  "deprecated in xtgeo 5.0. Use `get_dataframe()` instead.",
506
506
  PendingDeprecationWarning,
507
+ stacklevel=2,
507
508
  )
508
509
  return self._df
509
510
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: xtgeo
3
- Version: 4.12.1
3
+ Version: 4.13.1
4
4
  Summary: XTGeo is a Python library for 3D grids, surfaces, wells, etc
5
5
  Keywords: grids,surfaces,wells,cubes
6
6
  Author-Email: Equinor <fg_fmu-atlas@equinor.com>
@@ -50,6 +50,7 @@ Requires-Dist: coverage>=4.1; extra == "dev"
50
50
  Requires-Dist: hypothesis; extra == "dev"
51
51
  Requires-Dist: mypy; extra == "dev"
52
52
  Requires-Dist: pandas-stubs; extra == "dev"
53
+ Requires-Dist: psutil; extra == "dev"
53
54
  Requires-Dist: pydocstyle; extra == "dev"
54
55
  Requires-Dist: pytest; extra == "dev"
55
56
  Requires-Dist: pytest-benchmark; extra == "dev"
@@ -1,8 +1,8 @@
1
- cxtgeo.py,sha256=TdHva0vqjD5B_9jA6kxvev9i2kvZ4Oftc1bQoLdFNXQ,33972
2
- cxtgeoPYTHON_wrap.c,sha256=E76gd7QM28i3EYkuQEA1V_-3cxzXxsi_b151ZcEszxk,655525
1
+ cxtgeo.py,sha256=Am9tF-v-D87wEB9lzenKD601MEQUDVLkgy0ZL0eZ2zw,32172
2
+ cxtgeoPYTHON_wrap.c,sha256=NAOsLVPMklaVIaeRS9Z-k2-obR5na8HnUEQrWS6HfGM,629898
3
3
  xtgeo/__init__.py,sha256=edNCOXuPS5qjutDGX5-2Pz0T2Lpx1GoeG3IoeXUdBw8,5834
4
- xtgeo/_cxtgeo.cp313-win_amd64.pyd,sha256=qKnEv8sFgYCJtNDUSAUfTsNkU5rLv8WB76p1JaqvkVM,720896
5
- xtgeo/_internal.cp313-win_amd64.pyd,sha256=LUrjBsnuKJVl7CoL5TaQ-h9TGv2Ij4iggU0Y-6n_VAc,986112
4
+ xtgeo/_cxtgeo.cp313-win_amd64.pyd,sha256=7v_ua7xzA85UgYNnFixE1vpgjeNQfpatINSFTmjx-Kg,690176
5
+ xtgeo/_internal.cp313-win_amd64.pyd,sha256=i-Fu6pfvNhQd7DH1sz1HOum2vtW92Q0HHve7tecP2k8,1122304
6
6
  xtgeo/common/__init__.py,sha256=6R_OizhLnAoJUmUoQtGqgNvGcn1HWc4udc6YvRRlxWQ,480
7
7
  xtgeo/common/_angles.py,sha256=fAX5FzgqIjjIDe9_C7gy6zPjdaSQuzMb8Z2XdKSx-6Y,851
8
8
  xtgeo/common/_xyz_enum.py,sha256=gb1PVOWMTRb4YGDq9Q0YVVkKqMyI_xBg1vUBvOLXlfs,1095
@@ -12,18 +12,18 @@ xtgeo/common/exceptions.py,sha256=OZyU9C8cS4NhCnjQyREfuoVy9mdvGCiccd4nC9yn_N4,12
12
12
  xtgeo/common/log.py,sha256=8-wTrZd87UNr_ZEb_lZvR1khUeKmIO_UECMpV_Q_btM,2835
13
13
  xtgeo/common/sys.py,sha256=lvvmS4D7qaAVVg5UueNSt44WeEgpZcmyINEGKLHXctM,5144
14
14
  xtgeo/common/types.py,sha256=LanIGZh0HU2XXfJelZA-FC__J6fLB1DzuN7jj7hNSgU,362
15
- xtgeo/common/version.py,sha256=p2pxrWosgc0UfTf75wklghWBnJUbBeJSL_OqeIo0wdA,748
15
+ xtgeo/common/version.py,sha256=OGkAupIM0EdocaPdwDfusf_WN0L4C7ZBzaQIrLvgxxw,748
16
16
  xtgeo/common/xtgeo_dialog.py,sha256=XX445byFvdRjT2Eg9Mgd3ChRQ9d1Mj5MEdsBRYBSo8A,17733
17
17
  xtgeo/cube/__init__.py,sha256=5_F9Cefu4081jIwDqsyJGKTlrVLe1UfwI8wQXVRYPDM,169
18
18
  xtgeo/cube/_cube_export.py,sha256=YcU_0c_kFyh8T_ytY8XRR9Bmt8KK3J1taMLzo_w_m4c,6659
19
19
  xtgeo/cube/_cube_import.py,sha256=F6uWEXWxX0a4Px6HVa0pRCPNcfr36bMe_559CSf4h9c,17314
20
20
  xtgeo/cube/_cube_roxapi.py,sha256=UvU4yr1b1ZTyYxBIj7_ei2aub_VqAdP9S_6znpzDJ14,5101
21
21
  xtgeo/cube/_cube_utils.py,sha256=Mx79j29QLBJQ8wlwAfVgb-xN0ud7ilRIh6jOx7HMs2o,7727
22
- xtgeo/cube/_cube_window_attributes.py,sha256=NAgm2WCjpiFx5eLUM5G0HqUSf0SKaVb6hVOXMD7x3zs,12956
22
+ xtgeo/cube/_cube_window_attributes.py,sha256=Q1lcyVF5dm-_FfFXOnsR6hrVB6PuOrNFCKJy_g_gkSs,10254
23
23
  xtgeo/cube/cube1.py,sha256=QKqKIGH814zehx-avRuett996cx8lI-2bYyjuqaCmkw,35864
24
24
  xtgeo/grid3d/__init__.py,sha256=yctcaBS-PW_s3hCd7xq-XZZi514R_fgcpIrMnETZ87w,347
25
25
  xtgeo/grid3d/_ecl_grid.py,sha256=Oqe0_4ErUZkM-le4EnM6hMqXGMpMZyrr9-W9Xa7ZN1A,26679
26
- xtgeo/grid3d/_ecl_inte_head.py,sha256=t2Bft2D75hJTmJkEBrBQWy1-Ex7ipUepLV16EG0zM-s,4773
26
+ xtgeo/grid3d/_ecl_inte_head.py,sha256=zCP4cIM9VuT8vZfMTuAjFSuyP2UHhtT3RZO73m0mxPE,4901
27
27
  xtgeo/grid3d/_ecl_logi_head.py,sha256=pioEgigpnLjyDWq07Msp82xS15GCxrBZfSpEd2klEuQ,2735
28
28
  xtgeo/grid3d/_ecl_output_file.py,sha256=8IPXV-WMkh37VH78XibmMuVK9zBkmimqwc-uqy_1VCQ,2095
29
29
  xtgeo/grid3d/_egrid.py,sha256=S-X1B8vmO_Zmj8dJZuEdVUDDu3noXhTGgg6udB2hHVg,34839
@@ -34,15 +34,16 @@ xtgeo/grid3d/_grid3d.py,sha256=rTqfhwK4dNX1A5M-xUC-9hWwfxrkX6_TVgwc79KCXCI,769
34
34
  xtgeo/grid3d/_grid3d_fence.py,sha256=yDmKwlErNCl13vV7opJjKlzlwCzwk2gSJnzIb4jGpHg,9501
35
35
  xtgeo/grid3d/_grid3d_utils.py,sha256=VBbdzah_D8yeaMU4vMQRYTFRKq95QaGqPk4oXYBWdHw,7477
36
36
  xtgeo/grid3d/_grid_boundary.py,sha256=xNumtMeOfjmwS5vzv1Nl_yZpGiDEQXk896pXzugdUVs,2384
37
- xtgeo/grid3d/_grid_etc1.py,sha256=V8XeVU4-1ZRDOmyDQS3FrU_SY6bZkssvMuV_boR6Uzw,45156
37
+ xtgeo/grid3d/_grid_etc1.py,sha256=wrZhrqxM2_1NTgGawQyyy0WWN-bGRMdE1t7yFd6RxlU,46602
38
38
  xtgeo/grid3d/_grid_export.py,sha256=G36va-Kz93W-P2z8Qr-0Dq-o7Abfsd3OC8ESCAFRh2M,7492
39
- xtgeo/grid3d/_grid_hybrid.py,sha256=4xtZlZSzn0BY8Kl8TY6Su3QtCH16ax-Tf49ItvHaRPk,1666
39
+ xtgeo/grid3d/_grid_hybrid.py,sha256=jMkLIEkab3f9_I8cKAc9wKczZZ3HpBFhwYwyBme6fe4,1305
40
40
  xtgeo/grid3d/_grid_import.py,sha256=Y11JDjf5tZkDth69aTtbkMfMjRbVvSnQbV3lt-jCuA8,2672
41
41
  xtgeo/grid3d/_grid_import_ecl.py,sha256=WQw0Vr7ftFdM-_Jm1KjhGJ_Ko2PPO0eLgi6lCE98VYo,3554
42
42
  xtgeo/grid3d/_grid_import_roff.py,sha256=davWOUvCYPbvSFKm5bDCJJNPR-9uW_bOn4faGBhudUg,4174
43
43
  xtgeo/grid3d/_grid_import_xtgcpgeom.py,sha256=ZVqkf1QAvv8iDFZxV-2AhGimUjAdFcMwFml7yqocACU,10577
44
44
  xtgeo/grid3d/_grid_refine.py,sha256=jjYgBySFOE1qDaZwPshttkawjyVWPbHW1h3dj7qprQI,8816
45
45
  xtgeo/grid3d/_grid_roxapi.py,sha256=ixanN3VNGQM3QeVxXLHj_hKZJSiG3cdZwHc2NdXg_ms,9199
46
+ xtgeo/grid3d/_grid_translate_coords.py,sha256=EvexYZyvtsTFsd2Pdg9UkmNXq8ZE2Q-jX0Dv48Ib8Lk,4850
46
47
  xtgeo/grid3d/_grid_wellzone.py,sha256=5OwMsmksC0Wza5XXfUiDHCzSLWqmV3JbSORDUFPXZho,5951
47
48
  xtgeo/grid3d/_gridprop_export.py,sha256=wKYm6UhRCrDwf74V_HuWvdlYKgET6iIm8i1fGpPgbGY,6735
48
49
  xtgeo/grid3d/_gridprop_import_eclrun.py,sha256=E8fgp5VFbJknoitP-t2JJv5LcIUuLutIDJuVXBS_ugE,5260
@@ -51,20 +52,20 @@ xtgeo/grid3d/_gridprop_import_roff.py,sha256=vAHfXTjopeFLCVtseQdqlgkLNFfT9aW9I0n
51
52
  xtgeo/grid3d/_gridprop_import_xtgcpprop.py,sha256=ToajcbJL4cHo-gV1ab2rPQ0U5DxNnUfetvO1tetafNc,5027
52
53
  xtgeo/grid3d/_gridprop_lowlevel.py,sha256=1PBIn2ZMiF5Gj9u2n6xu2PFDiJ6NdrgYaL89lkq3_yo,5257
53
54
  xtgeo/grid3d/_gridprop_op1.py,sha256=5es5e-b14OsEnk1xt-C2iuyv0DEYYkC_0Nq7Coe6Tw8,9228
54
- xtgeo/grid3d/_gridprop_roxapi.py,sha256=4Aa4Vqzmml6RjePuRqyl68WeCxuICYv7p1u6KgL_R94,9262
55
+ xtgeo/grid3d/_gridprop_roxapi.py,sha256=HC__3rEGIi1wq9BkRSpXUtHBcD3eypftjRTHmoFxpM0,9394
55
56
  xtgeo/grid3d/_gridprop_value_init.py,sha256=xMAFhTKiZvq3QLcsYuuFRBBWzEQR9gxw7rMuj5ko5P4,4454
56
57
  xtgeo/grid3d/_gridprops_import_eclrun.py,sha256=M7hvBazZPjYsKOYBL1SHCcYqztgonARuQtXBQ_hyMdI,11782
57
58
  xtgeo/grid3d/_gridprops_import_roff.py,sha256=fCCMwa8OgLXk9zMvFpr4nfsKLkmBFKKLSfLwUHenyTA,2550
58
59
  xtgeo/grid3d/_roff_grid.py,sha256=kppx044-JmfLvaIt5NPABnIoLwJ1BGQc2gFeog7Cl0g,17742
59
60
  xtgeo/grid3d/_roff_parameter.py,sha256=9gVlFMyT2QbwUvm_FCJG0hTvJPrK2Y86kbeljs2eCbc,11376
60
- xtgeo/grid3d/grid.py,sha256=d628JbJ5VqM-jiCyyITCNflPbSo-9ESE_v0nGGNJKh0,109596
61
+ xtgeo/grid3d/grid.py,sha256=sjQnS-peWf1ZcI7P_NMJq-WQcrpHWLslTuDjdkCcY2c,112768
61
62
  xtgeo/grid3d/grid_properties.py,sha256=OlIyo1PXrTRFHGn8avXdBXNpFM5DJuLjVRB9koayKGQ,24993
62
63
  xtgeo/grid3d/grid_property.py,sha256=Wm9H6Nzqs8fSD35eg3NqTb-i6HGThsRmwbynZLg1nMo,45980
63
64
  xtgeo/grid3d/types.py,sha256=eaBHJL91zXV0ipaY30K_ZpEdUfjj681CoAbKfvNZ_5Q,290
64
65
  xtgeo/io/__init__.py,sha256=k5OQUG7ePoTleAh8ECiwowCg1imL6dx9O7gPUArcQQw,23
65
- xtgeo/io/_file.py,sha256=-bacKEMpbPMF1al3gqoV5pu0J57g26mRdSasxNk20Gg,21085
66
+ xtgeo/io/_file.py,sha256=ij_SgzZJTks4W9j0KX26qEHU0JTF9ZJCCklgajj0eQQ,21090
66
67
  xtgeo/metadata/__init__.py,sha256=VV81ga8OzzrowieSQZ5bZxo3Ug70Dch89iwZF1mOshA,337
67
- xtgeo/metadata/metadata.py,sha256=0EVNcXXDh3mimYNZYW3FIYe3bXIzeEKRyqZOzBhu31E,12874
68
+ xtgeo/metadata/metadata.py,sha256=4avOpkzwPWV9HblUhRptvnOpKKfMk8tB4KiZPgwl1p4,13339
68
69
  xtgeo/roxutils/__init__.py,sha256=_f2qb32IFeZ_8YhcTDFlNgsWyH0HPDJQ7V0qUbjmUSs,99
69
70
  xtgeo/roxutils/_roxar_loader.py,sha256=mKg3SsHJDzaGEYQwuY2yPcTxOnCybKmq3IeLmteCJPg,1958
70
71
  xtgeo/roxutils/_roxutils_etc.py,sha256=Lma5Hskrld2PDLicSTkASse2t3eqxvtnure9uDCyjxo,3852
@@ -81,15 +82,15 @@ xtgeo/surface/_regsurf_gridding.py,sha256=igldvuMznjPxPSNY8vBpKRhV5C4yLq4QrrtIu_
81
82
  xtgeo/surface/_regsurf_ijxyz_parser.py,sha256=7pyXWkYUoziDeDx4C2U1ywdXfX9-aa6Fw6OWDCbvN2o,10155
82
83
  xtgeo/surface/_regsurf_import.py,sha256=0xGbf2R5R4MYPfieH17d0IxJyb4p2WvqIds2EA3Ppig,10743
83
84
  xtgeo/surface/_regsurf_lowlevel.py,sha256=T7-7bU1vteKTb4UUocP8ia5-BkXIZNiplxmXLEsOSYo,3610
84
- xtgeo/surface/_regsurf_oper.py,sha256=2Gp1_CDUSeA753FtrhzE-nPh3wOH6kOIZi_BVkRNMrM,17807
85
+ xtgeo/surface/_regsurf_oper.py,sha256=mshy54xn-QSDtU-sjWTfznufwcsOZoQjGwbVV9mel6c,14693
85
86
  xtgeo/surface/_regsurf_roxapi.py,sha256=fy07kF_BlLQ5ZLRENltsMZEjZxwfiJ6KmLTgaqiuqz0,8718
86
87
  xtgeo/surface/_regsurf_utils.py,sha256=IPzvh_Gpfz_oELuMRFmnVQahBw_A2b5H4W_JCLl0rFk,2388
87
88
  xtgeo/surface/_surfs_import.py,sha256=6zHTgBkB3g6XRE_OS2W20aFwLYbwU-VU7oEtQhZ1iLw,1283
88
89
  xtgeo/surface/_zmap_parser.py,sha256=yhtLOCUEmtdaCGYxDS9Qgw7ne2G7llBZ39B_noTXHlQ,4208
89
- xtgeo/surface/regular_surface.py,sha256=JcK6WiD_k5qqIbYxA5nf9Cn-q209xFgq7c6mDEi-BvM,110752
90
+ xtgeo/surface/regular_surface.py,sha256=2RyNhXkeLZ38wLJic0F3nRS5bCmUMGady2-4sctIMAc,110556
90
91
  xtgeo/surface/surfaces.py,sha256=rlnrp2b-kyvjnVfDNwtazw0nzv6McMbZFGqu5xZB_kY,9639
91
92
  xtgeo/well/__init__.py,sha256=T3oOSJaUj3SwSG-YxeFM-oqppIYq2CZqPxBEB5khIys,615
92
- xtgeo/well/_blockedwell_roxapi.py,sha256=FQbbmUiUWVJeS_NvOny7ZIso6I0v6JlyG73SzeNfSyQ,7710
93
+ xtgeo/well/_blockedwell_roxapi.py,sha256=SzuhJYQhnflx6FN81arg0oPC9YLlLb1QsAa1xmDU6Mo,8662
93
94
  xtgeo/well/_blockedwells_roxapi.py,sha256=fyyxfmUJ1JqS6EI9ALxoNxNGSvjl3YToK5h6sjJi_kY,2052
94
95
  xtgeo/well/_well_aux.py,sha256=t-36pZ24nbo64kpdRXFlQFsbfuWPgyu-XX59mjSDa-s,851
95
96
  xtgeo/well/_well_io.py,sha256=Omq7El3V9LJ0V9UO8QjW4Y3AuvaoEqRjP8fwcv1lY1s,10148
@@ -105,13 +106,13 @@ xtgeo/xyz/__init__.py,sha256=Krd4THP4Wr1iDX6K0NSDgi5RvDtNN3960bzL6NjW6KY,180
105
106
  xtgeo/xyz/_polygons_oper.py,sha256=XVPgA0PISy5wKSgX-Nvgja7KN3LV9l0W9hTvGh5hlUM,9618
106
107
  xtgeo/xyz/_xyz.py,sha256=mgie8KaZkz6RTkWRLamyB5OKQN7m64VbheNlahX56zo,29150
107
108
  xtgeo/xyz/_xyz_data.py,sha256=ZnXqt3HGL2Fz7rQvi25A50xDLwShcnx4X63tibC3PLc,24772
108
- xtgeo/xyz/_xyz_io.py,sha256=hrGbxZ650pCMb9lAhWvjDwqXNcbix_spyAUeLASBHnE,24597
109
+ xtgeo/xyz/_xyz_io.py,sha256=rV6ostW84JVop5F-0-s4GtcPX0Zj32JtqjejGKQXfKs,24718
109
110
  xtgeo/xyz/_xyz_lowlevel.py,sha256=iHYVnDFj5ptpWJ9qNJ_PRO-Y8FM9QLRgP8HrgHT_ErY,1083
110
111
  xtgeo/xyz/_xyz_oper.py,sha256=_uCR-PYEsPQkBKh82oDvUsz7Y2vqsjqoiEdfmd8HIEU,20058
111
112
  xtgeo/xyz/_xyz_roxapi.py,sha256=NWgnPShA8amuHgSTqvy5_y21Qyx2s_6IWP1qPyHTPb8,26585
112
- xtgeo/xyz/points.py,sha256=UhcdR7nEw3Lxa496UMOWOm5IkpQLC_IRU0FcFLpEV-o,23253
113
+ xtgeo/xyz/points.py,sha256=LObAxc8EC5-wxWFX8HJ9F-ouw0uoHdOpvswd-SIB8KQ,23280
113
114
  xtgeo/xyz/polygons.py,sha256=JjvA5BiW0HzaVmuZjnKB55n0OJXZfjOBQHfSNcZBDiA,28791
114
- xtgeo-4.12.1.dist-info/METADATA,sha256=_bQC78VJmRcAEiNh0saCXL7wAfj0v0NO0NorLX8PaRk,5741
115
- xtgeo-4.12.1.dist-info/WHEEL,sha256=vkL3wTIkhjZa3RmEXX20hldNp6Q8qtwRjrXW6K5sw_Q,106
116
- xtgeo-4.12.1.dist-info/licenses/LICENSE.md,sha256=fTqV5eBpeAZO0_jit8j4Ref9ikBSlHJ8xwj5TLg7gFk,7817
117
- xtgeo-4.12.1.dist-info/RECORD,,
115
+ xtgeo-4.13.1.dist-info/METADATA,sha256=20bqQS_a1pJsjxiMvqiW71i8Mv-k8gaMNxHxlF8dzgs,5779
116
+ xtgeo-4.13.1.dist-info/WHEEL,sha256=vkL3wTIkhjZa3RmEXX20hldNp6Q8qtwRjrXW6K5sw_Q,106
117
+ xtgeo-4.13.1.dist-info/licenses/LICENSE.md,sha256=fTqV5eBpeAZO0_jit8j4Ref9ikBSlHJ8xwj5TLg7gFk,7817
118
+ xtgeo-4.13.1.dist-info/RECORD,,
File without changes