xtgeo 4.7.0__cp39-cp39-win_amd64.whl → 4.8.0__cp39-cp39-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.
- xtgeo/_cxtgeo.cp39-win_amd64.pyd +0 -0
- xtgeo/_internal.cp39-win_amd64.pyd +0 -0
- xtgeo/common/log.py +14 -9
- xtgeo/common/version.py +2 -2
- xtgeo/grid3d/_grid_etc1.py +1 -0
- xtgeo/grid3d/grid.py +4 -1
- xtgeo/surface/_regsurf_export.py +4 -2
- xtgeo/well/_well_io.py +2 -3
- {xtgeo-4.7.0.dist-info → xtgeo-4.8.0.dist-info}/METADATA +2 -1
- {xtgeo-4.7.0.dist-info → xtgeo-4.8.0.dist-info}/RECORD +12 -12
- {xtgeo-4.7.0.dist-info → xtgeo-4.8.0.dist-info}/WHEEL +0 -0
- {xtgeo-4.7.0.dist-info → xtgeo-4.8.0.dist-info}/licenses/LICENSE.md +0 -0
xtgeo/_cxtgeo.cp39-win_amd64.pyd
CHANGED
|
Binary file
|
|
Binary file
|
xtgeo/common/log.py
CHANGED
|
@@ -39,6 +39,7 @@ def functimer(
|
|
|
39
39
|
func: Optional[Callable] = None,
|
|
40
40
|
*,
|
|
41
41
|
output: Literal["debug", "info", "print"] = "debug",
|
|
42
|
+
comment: str = "",
|
|
42
43
|
) -> Callable:
|
|
43
44
|
"""A decorator function to measure the execution time of a function.
|
|
44
45
|
|
|
@@ -47,7 +48,7 @@ def functimer(
|
|
|
47
48
|
|
|
48
49
|
Usage is simple, just add the decorator to the function you want to measure:
|
|
49
50
|
|
|
50
|
-
@functimer(output="print")
|
|
51
|
+
@functimer(output="print", comment="My function took a while to run")
|
|
51
52
|
def my_function():
|
|
52
53
|
pass
|
|
53
54
|
|
|
@@ -61,7 +62,7 @@ def functimer(
|
|
|
61
62
|
if func is None:
|
|
62
63
|
|
|
63
64
|
def decorator(func: Callable) -> Callable:
|
|
64
|
-
return functimer(func, output=output)
|
|
65
|
+
return functimer(func, output=output, comment=comment)
|
|
65
66
|
|
|
66
67
|
return decorator
|
|
67
68
|
|
|
@@ -73,16 +74,20 @@ def functimer(
|
|
|
73
74
|
result = func(*args, **kwargs) # Execute the function
|
|
74
75
|
end_time = time.perf_counter() # End the timer
|
|
75
76
|
elapsed_time = f"{end_time - start_time: .5f}"
|
|
77
|
+
|
|
78
|
+
# Build message with optional comment
|
|
79
|
+
message = f"Function {func.__name__} executed in {elapsed_time} seconds"
|
|
80
|
+
if comment:
|
|
81
|
+
message += f" - {comment}"
|
|
82
|
+
|
|
83
|
+
# Output according to specified method
|
|
76
84
|
if output == "print":
|
|
77
|
-
print(
|
|
85
|
+
print(message)
|
|
78
86
|
elif output == "info":
|
|
79
|
-
logger.info(
|
|
80
|
-
"Function %s executed in %s seconds", func.__name__, elapsed_time
|
|
81
|
-
)
|
|
87
|
+
logger.info(message)
|
|
82
88
|
else:
|
|
83
|
-
logger.debug(
|
|
84
|
-
|
|
85
|
-
)
|
|
89
|
+
logger.debug(message)
|
|
90
|
+
|
|
86
91
|
return result
|
|
87
92
|
|
|
88
93
|
return wrapper
|
xtgeo/common/version.py
CHANGED
xtgeo/grid3d/_grid_etc1.py
CHANGED
xtgeo/grid3d/grid.py
CHANGED
|
@@ -1293,7 +1293,10 @@ class Grid(_Grid3D):
|
|
|
1293
1293
|
for izone in range(minzone, maxzone + 1):
|
|
1294
1294
|
mininzn = int(kval[zprval == izone].min()) # 1 base
|
|
1295
1295
|
maxinzn = int(kval[zprval == izone].max()) # 1 base
|
|
1296
|
-
|
|
1296
|
+
|
|
1297
|
+
newd[zoneprop.codes.get(izone, "zone" + str(izone))] = range(
|
|
1298
|
+
mininzn, maxinzn + 1
|
|
1299
|
+
)
|
|
1297
1300
|
|
|
1298
1301
|
self.subgrids = newd # type: ignore
|
|
1299
1302
|
|
xtgeo/surface/_regsurf_export.py
CHANGED
|
@@ -71,8 +71,10 @@ def export_irap_ascii(self: RegularSurface, mfile: FileWrapper) -> None:
|
|
|
71
71
|
# Find the nearest factorization
|
|
72
72
|
for i in range(start, 1, -1):
|
|
73
73
|
if size % i == 0:
|
|
74
|
-
return (size // i, i)
|
|
75
|
-
|
|
74
|
+
return (int(size // i), int(i)) # Ensure integers are returned
|
|
75
|
+
|
|
76
|
+
# If we can't find a perfect divisor, return a valid shape
|
|
77
|
+
return (int(size), 1)
|
|
76
78
|
|
|
77
79
|
buffer = io.StringIO()
|
|
78
80
|
|
xtgeo/well/_well_io.py
CHANGED
|
@@ -196,7 +196,6 @@ def _check_special_logs(dfr, mdlogname, zonelogname, strict, wname):
|
|
|
196
196
|
|
|
197
197
|
def export_rms_ascii(self, wfile, precision=4):
|
|
198
198
|
"""Export to RMS well format."""
|
|
199
|
-
|
|
200
199
|
with open(wfile, "w", encoding="utf-8") as fwell:
|
|
201
200
|
print("1.0", file=fwell)
|
|
202
201
|
print("Unknown", file=fwell)
|
|
@@ -225,7 +224,7 @@ def export_rms_ascii(self, wfile, precision=4):
|
|
|
225
224
|
# make the disc as is np.int
|
|
226
225
|
for lname in self.wlogtypes:
|
|
227
226
|
if self.wlogtypes[lname] == _AttrType.DISC.value:
|
|
228
|
-
tmpdf[[lname]] = tmpdf[[lname]].astype(int)
|
|
227
|
+
tmpdf[[lname]] = tmpdf[[lname]].fillna(-999).astype(int)
|
|
229
228
|
|
|
230
229
|
cformat = "%-." + str(precision) + "f"
|
|
231
230
|
tmpdf.to_csv(
|
|
@@ -234,7 +233,7 @@ def export_rms_ascii(self, wfile, precision=4):
|
|
|
234
233
|
header=False,
|
|
235
234
|
index=False,
|
|
236
235
|
float_format=cformat,
|
|
237
|
-
escapechar="
|
|
236
|
+
escapechar="\\",
|
|
238
237
|
mode="a",
|
|
239
238
|
)
|
|
240
239
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: xtgeo
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.8.0
|
|
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>
|
|
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
22
|
Classifier: Topic :: Scientific/Engineering
|
|
22
23
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
23
24
|
Classifier: Topic :: Software Development :: Libraries
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
cxtgeo.py,sha256=opPeIg7PX9RbxankrAbw2ycZ3fxWOxa87rdJscQTnKg,34954
|
|
2
2
|
cxtgeoPYTHON_wrap.c,sha256=yBRHvZLcTNwiImhStko5ahviRGu1taefRm0BHwb2XLg,672064
|
|
3
3
|
xtgeo/__init__.py,sha256=edNCOXuPS5qjutDGX5-2Pz0T2Lpx1GoeG3IoeXUdBw8,5834
|
|
4
|
-
xtgeo/_cxtgeo.cp39-win_amd64.pyd,sha256=
|
|
5
|
-
xtgeo/_internal.cp39-win_amd64.pyd,sha256=
|
|
4
|
+
xtgeo/_cxtgeo.cp39-win_amd64.pyd,sha256=KWsf0-C5XNCIv9X2nZeSsHsHDMETHBR-dupfBDpOD3I,528384
|
|
5
|
+
xtgeo/_internal.cp39-win_amd64.pyd,sha256=22MuEwMosAGzUTNh5XEcetsTkyg4l3g_6Yrwq7vTl9g,421888
|
|
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
|
|
9
9
|
xtgeo/common/calc.py,sha256=3By6HO_njSOj-WV3qodkVDHx_O67zIvzHubmrNDwfcQ,10530
|
|
10
10
|
xtgeo/common/constants.py,sha256=Ug_Vk4daedpu3wooPNGUITBuK71gKDFTDVWcG3e74CI,779
|
|
11
11
|
xtgeo/common/exceptions.py,sha256=OZyU9C8cS4NhCnjQyREfuoVy9mdvGCiccd4nC9yn_N4,1217
|
|
12
|
-
xtgeo/common/log.py,sha256=
|
|
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=
|
|
15
|
+
xtgeo/common/version.py,sha256=ye9ffrOKBgVeC9SOGaIK_EyHNMwBDSzSxcj5u4screQ,532
|
|
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
|
|
@@ -34,7 +34,7 @@ xtgeo/grid3d/_grid3d.py,sha256=rTqfhwK4dNX1A5M-xUC-9hWwfxrkX6_TVgwc79KCXCI,769
|
|
|
34
34
|
xtgeo/grid3d/_grid3d_fence.py,sha256=LGxNMbmRq1BigXOVu2g_gNlfpMwbxd_F5UaahsCW-qs,6177
|
|
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=
|
|
37
|
+
xtgeo/grid3d/_grid_etc1.py,sha256=pxyvb0dAAKDWPa7WSGTByLghY_b7R4Z9BzxhpEtWZyY,44281
|
|
38
38
|
xtgeo/grid3d/_grid_export.py,sha256=MRnkVoq7zjj2QvfKeAwmWd75Jjv5KCuDgsROLcdQGQY,7383
|
|
39
39
|
xtgeo/grid3d/_grid_hybrid.py,sha256=38ZAj4INR3i735ew7rNWoyn5ZrrzS_ZgBScVOWcu2x0,1662
|
|
40
40
|
xtgeo/grid3d/_grid_import.py,sha256=Y11JDjf5tZkDth69aTtbkMfMjRbVvSnQbV3lt-jCuA8,2672
|
|
@@ -57,7 +57,7 @@ xtgeo/grid3d/_gridprops_import_eclrun.py,sha256=M7hvBazZPjYsKOYBL1SHCcYqztgonARu
|
|
|
57
57
|
xtgeo/grid3d/_gridprops_import_roff.py,sha256=fCCMwa8OgLXk9zMvFpr4nfsKLkmBFKKLSfLwUHenyTA,2550
|
|
58
58
|
xtgeo/grid3d/_roff_grid.py,sha256=rrovt4qDmbOIZrcoXYYf1HzYULxw6S-6PYpg2j0FpOk,17648
|
|
59
59
|
xtgeo/grid3d/_roff_parameter.py,sha256=9gVlFMyT2QbwUvm_FCJG0hTvJPrK2Y86kbeljs2eCbc,11376
|
|
60
|
-
xtgeo/grid3d/grid.py,sha256=
|
|
60
|
+
xtgeo/grid3d/grid.py,sha256=JuILdUZzzbD-IrQqMuR1IbSiMADP355t7Q-q8rLAhRQ,95068
|
|
61
61
|
xtgeo/grid3d/grid_properties.py,sha256=OlIyo1PXrTRFHGn8avXdBXNpFM5DJuLjVRB9koayKGQ,24993
|
|
62
62
|
xtgeo/grid3d/grid_property.py,sha256=UIJog6ZWBjjOPsI1-ORsaLt4kWtH_MkhEBuW2yINbUE,46834
|
|
63
63
|
xtgeo/grid3d/types.py,sha256=eaBHJL91zXV0ipaY30K_ZpEdUfjj681CoAbKfvNZ_5Q,290
|
|
@@ -75,7 +75,7 @@ xtgeo/surface/_regsurf_cube.py,sha256=k7ypQ-86fxQi3eaRZzaxH3e4Md1yizA_8mHs7JzYap
|
|
|
75
75
|
xtgeo/surface/_regsurf_cube_window.py,sha256=Y52wkVEALEZarIOZYnYTAFme1H7dhTNM0fgpanVAU_Q,10728
|
|
76
76
|
xtgeo/surface/_regsurf_cube_window_v2.py,sha256=whh9qqErjtg2vArJg5S3YkMbppSq4RJn7u5Zxzqwl1I,6462
|
|
77
77
|
xtgeo/surface/_regsurf_cube_window_v3.py,sha256=E6eIFHv7B3IfLDjjq_u9fp8RmySuSkh7Bi7eV6OVAFs,11171
|
|
78
|
-
xtgeo/surface/_regsurf_export.py,sha256=
|
|
78
|
+
xtgeo/surface/_regsurf_export.py,sha256=udxqAlVRyW-dMscTtIGeFnqjpFpjZ3o69YlFGe2eGA4,10855
|
|
79
79
|
xtgeo/surface/_regsurf_grid3d.py,sha256=1UhbHJoMZgs8FUKIYLFsbEVh-CZP8j4eYFxVjhJz9xw,9359
|
|
80
80
|
xtgeo/surface/_regsurf_gridding.py,sha256=igldvuMznjPxPSNY8vBpKRhV5C4yLq4QrrtIu_fe9eY,10559
|
|
81
81
|
xtgeo/surface/_regsurf_ijxyz_parser.py,sha256=7pyXWkYUoziDeDx4C2U1ywdXfX9-aa6Fw6OWDCbvN2o,10155
|
|
@@ -92,7 +92,7 @@ xtgeo/well/__init__.py,sha256=T3oOSJaUj3SwSG-YxeFM-oqppIYq2CZqPxBEB5khIys,615
|
|
|
92
92
|
xtgeo/well/_blockedwell_roxapi.py,sha256=FQbbmUiUWVJeS_NvOny7ZIso6I0v6JlyG73SzeNfSyQ,7710
|
|
93
93
|
xtgeo/well/_blockedwells_roxapi.py,sha256=fyyxfmUJ1JqS6EI9ALxoNxNGSvjl3YToK5h6sjJi_kY,2052
|
|
94
94
|
xtgeo/well/_well_aux.py,sha256=t-36pZ24nbo64kpdRXFlQFsbfuWPgyu-XX59mjSDa-s,851
|
|
95
|
-
xtgeo/well/_well_io.py,sha256=
|
|
95
|
+
xtgeo/well/_well_io.py,sha256=Omq7El3V9LJ0V9UO8QjW4Y3AuvaoEqRjP8fwcv1lY1s,10148
|
|
96
96
|
xtgeo/well/_well_oper.py,sha256=pIYF98CwocPv4boBQEuLV51LCVSyWsXSe5cbZqOXTPc,19236
|
|
97
97
|
xtgeo/well/_well_roxapi.py,sha256=92Oj_SOsU46iP4I_2gf7XW8DoGMWflpvcCSepAMeTjs,9734
|
|
98
98
|
xtgeo/well/_wellmarkers.py,sha256=zpYgPrFF0dZV3sBz7FFBA5PMuGrkL6Sk3qE6PFUU__I,14608
|
|
@@ -111,7 +111,7 @@ xtgeo/xyz/_xyz_oper.py,sha256=_uCR-PYEsPQkBKh82oDvUsz7Y2vqsjqoiEdfmd8HIEU,20058
|
|
|
111
111
|
xtgeo/xyz/_xyz_roxapi.py,sha256=NWgnPShA8amuHgSTqvy5_y21Qyx2s_6IWP1qPyHTPb8,26585
|
|
112
112
|
xtgeo/xyz/points.py,sha256=r5-oC8HWO43vMHr1Jh4fM9JcwWbiz7FqwZNWU8l1w_0,22664
|
|
113
113
|
xtgeo/xyz/polygons.py,sha256=-VUQ-6TUuN6b_cXyWzWWfTnJwYfyBwLRlqgw5ER_7OM,27978
|
|
114
|
-
xtgeo-4.
|
|
115
|
-
xtgeo-4.
|
|
116
|
-
xtgeo-4.
|
|
117
|
-
xtgeo-4.
|
|
114
|
+
xtgeo-4.8.0.dist-info/METADATA,sha256=NXRjNnj7ECi_X4xU1U6ZA4XyQ3ZyPfqRGT8iOrJoIak,5765
|
|
115
|
+
xtgeo-4.8.0.dist-info/WHEEL,sha256=k3r5zLv1t8z7JCqYC2-rKkfvrw2hvjPkH6-V2Jw00vI,104
|
|
116
|
+
xtgeo-4.8.0.dist-info/licenses/LICENSE.md,sha256=fTqV5eBpeAZO0_jit8j4Ref9ikBSlHJ8xwj5TLg7gFk,7817
|
|
117
|
+
xtgeo-4.8.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|