subsurface-terra 2026.1.1rc1__tar.gz → 2026.1.2rc1__tar.gz
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.
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/PKG-INFO +1 -1
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/_version.py +3 -3
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/boreholes/_survey_to_unstruct.py +7 -4
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/topography/topo_core.py +43 -17
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/_read_to_df.py +6 -1
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/PKG-INFO +1 -1
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/.env.example +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/.teamcity/Subsurface/buildTypes/Subsurface_ReleaseSubsurface.xml +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/.teamcity/Subsurface/buildTypes/Subsurface_ReleaseSubsurface_2.xml +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/.teamcity/Subsurface/buildTypes/Subsurface_Testing.xml +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/.teamcity/Subsurface/project-config.xml +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/.teamcity/Subsurface/vcsRoots/Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain.xml +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/.teamcity/Subsurface/vcsRoots/Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain1.xml +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/.teamcity/Subsurface/vcsRoots/Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain2.xml +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/LICENSE +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/README.rst +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_all.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_dev.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_geospatial.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_mesh.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_opt.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_plot.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_traces.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_volume.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_wells.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/setup.cfg +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/setup.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/interfaces/README.rst +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/interfaces/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/interfaces/stream.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/reader/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/reader/read_wells.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/boreholes/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/boreholes/_combine_trajectories.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/boreholes/_map_attrs_to_survey.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/boreholes/boreholes.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/boreholes/collars.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/boreholes/survey.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/geological_formats/fault.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/reader_helpers/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/reader_helpers/reader_unstruct.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/reader_helpers/readers_data.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/reader_helpers/readers_wells.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/README.rst +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/base_structures/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/base_structures/_aux.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/base_structures/_liquid_earth_mesh.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/base_structures/_unstructured_data_constructor.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/base_structures/base_structures_enum.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/base_structures/structured_data.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/base_structures/unstructured_data.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/structured_elements/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/structured_elements/octree_mesh.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/structured_elements/structured_grid.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/structured_elements/structured_mesh.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/unstructured_elements/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/unstructured_elements/line_set.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/unstructured_elements/point_set.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/unstructured_elements/tetrahedron_mesh.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/unstructured_elements/triangular_surface.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/utils/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/utils/utils_core.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/README.rst +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/faults/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/faults/faults.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/from_binary.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/geo_object/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/NOTES.md +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/_GOCAD_mesh.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/_trimesh_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/csv_mesh_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/dxf_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/glb_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/mx_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/obj_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/omf_mesh_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/surface_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/mesh/surfaces_api.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/petrel/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/profiles/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/profiles/profiles_core.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/read_netcdf.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/topography/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/volume/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/volume/read_grav3d.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/volume/read_volume.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/volume/segy_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/volume/seismic.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/volume/volume_utils.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/DEP/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/DEP/_well_files_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/DEP/_wells_api.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/DEP/_welly_reader.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/DEP/pandas_to_welly.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/README.rst +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/read_borehole_interface.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/wells/wells_utils.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/tools/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/tools/mocking_aux.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/visualization/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/visualization/to_pyvista.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_binary.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_liquid_earth/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/__init__.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/common.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/data_struct.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/doc/rex-spec-v1.md +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/doc/right-handed.png +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/doc/sketchup_example.jpg +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/gempy_to_rexfile.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/material_encoder.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/mesh_encoder.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/to_rex.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_rex/utils.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/optional_requirements.py +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/SOURCES.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/dependency_links.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/not-zip-safe +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/requires.txt +0 -0
- {subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: subsurface_terra
|
|
3
|
-
Version: 2026.1.
|
|
3
|
+
Version: 2026.1.2rc1
|
|
4
4
|
Summary: Subsurface data types and utilities. This version is the one used by Terranigma Solutions. Please feel free to take anything in this repository for the original one.
|
|
5
5
|
Home-page: https://softwareunderground.github.io/subsurface
|
|
6
6
|
Author: Software Underground
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '2026.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (2026, 1,
|
|
31
|
+
__version__ = version = '2026.1.2rc1'
|
|
32
|
+
__version_tuple__ = version_tuple = (2026, 1, 2, 'rc1')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g7216f7b42'
|
|
@@ -47,7 +47,10 @@ def data_frame_to_unstructured_data(survey_df: 'pd.DataFrame', number_nodes: int
|
|
|
47
47
|
|
|
48
48
|
this_well_vertex = np.vstack([pos.easting, pos.northing, pos.depth]).T
|
|
49
49
|
cum_vertex = np.vstack([cum_vertex, this_well_vertex])
|
|
50
|
-
measured_depths = _calculate_distances(
|
|
50
|
+
measured_depths = _calculate_distances(
|
|
51
|
+
array_of_vertices=this_well_vertex,
|
|
52
|
+
start_md = depths[0]
|
|
53
|
+
)
|
|
51
54
|
|
|
52
55
|
n_vertex_shift_0 = np.arange(0, len(pos.depth) - 1, dtype=np.int_)
|
|
53
56
|
n_vertex_shift_1 = np.arange(1, len(pos.depth), dtype=np.int_)
|
|
@@ -152,12 +155,12 @@ def _grab_depths_from_attr(
|
|
|
152
155
|
return attr_depths
|
|
153
156
|
|
|
154
157
|
|
|
155
|
-
def _calculate_distances(array_of_vertices: np.ndarray) -> np.ndarray:
|
|
158
|
+
def _calculate_distances(array_of_vertices: np.ndarray, start_md: float = 0) -> np.ndarray:
|
|
156
159
|
# Calculate the differences between consecutive points
|
|
157
160
|
differences = np.diff(array_of_vertices, axis=0)
|
|
158
161
|
|
|
159
162
|
# Calculate the Euclidean distance for each pair of consecutive points
|
|
160
163
|
distances = np.linalg.norm(differences, axis=1)
|
|
161
|
-
#
|
|
162
|
-
measured_depths = np.insert(np.cumsum(distances), 0,
|
|
164
|
+
# Start from start_md instead of 0
|
|
165
|
+
measured_depths = np.insert(np.cumsum(distances) + start_md, 0, start_md)
|
|
163
166
|
return measured_depths
|
|
@@ -11,7 +11,7 @@ from ....core.reader_helpers.reader_unstruct import ReaderUnstructuredHelper
|
|
|
11
11
|
from ..mesh.surfaces_api import read_2d_mesh_to_unstruct
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
def read_structured_topography(path, crop_to_extent: Optional[Sequence]=None) -> StructuredData:
|
|
14
|
+
def read_structured_topography(path, crop_to_extent: Optional[Sequence] = None) -> StructuredData:
|
|
15
15
|
rasterio = require_rasterio()
|
|
16
16
|
|
|
17
17
|
extension = get_extension(path)
|
|
@@ -31,8 +31,34 @@ def read_structured_topography_to_unstructured(path) -> UnstructuredData:
|
|
|
31
31
|
return topography_to_unstructured_data(structured_data)
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
def rasterio_dataset_to_structured_data(dataset, crop_to_extent: Optional[Sequence]=None):
|
|
35
|
-
|
|
34
|
+
def rasterio_dataset_to_structured_data(dataset, crop_to_extent: Optional[Sequence] = None):
|
|
35
|
+
rasterio = require_rasterio()
|
|
36
|
+
|
|
37
|
+
if crop_to_extent is not None:
|
|
38
|
+
window = _get_raster_window(crop_to_extent, dataset)
|
|
39
|
+
else:
|
|
40
|
+
window = None
|
|
41
|
+
|
|
42
|
+
data = dataset.read(1, window=window)
|
|
43
|
+
data = np.fliplr(data.T)
|
|
44
|
+
shape = data.shape
|
|
45
|
+
|
|
46
|
+
# Use window bounds if cropping, otherwise use full dataset bounds
|
|
47
|
+
if window is not None:
|
|
48
|
+
left, bottom, right, top = rasterio.windows.bounds(window, dataset.transform)
|
|
49
|
+
else:
|
|
50
|
+
left, bottom, right, top = dataset.bounds.left, dataset.bounds.bottom, dataset.bounds.right, dataset.bounds.top
|
|
51
|
+
|
|
52
|
+
coords = {
|
|
53
|
+
'x': np.linspace(left, right, shape[0]),
|
|
54
|
+
'y': np.linspace(bottom, top, shape[1])
|
|
55
|
+
}
|
|
56
|
+
structured_data = StructuredData.from_numpy(data, data_array_name='topography', coords=coords)
|
|
57
|
+
return structured_data
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def rasterio_dataset_to_structured_data_(dataset, crop_to_extent: Optional[Sequence] = None):
|
|
61
|
+
if crop_to_extent is not None:
|
|
36
62
|
window = _get_raster_window(crop_to_extent, dataset)
|
|
37
63
|
else:
|
|
38
64
|
window = None
|
|
@@ -40,30 +66,30 @@ def rasterio_dataset_to_structured_data(dataset, crop_to_extent: Optional[Sequen
|
|
|
40
66
|
data = dataset.read(1, window=window)
|
|
41
67
|
data = np.fliplr(data.T)
|
|
42
68
|
shape = data.shape
|
|
43
|
-
|
|
69
|
+
|
|
44
70
|
# TODO: ===================
|
|
45
71
|
# TODO: Add the option to crop
|
|
46
72
|
# TODO: Resample
|
|
47
|
-
|
|
73
|
+
|
|
48
74
|
coords = {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
75
|
+
'x': np.linspace(
|
|
76
|
+
dataset.bounds.left,
|
|
77
|
+
dataset.bounds.right,
|
|
78
|
+
shape[0]
|
|
79
|
+
),
|
|
80
|
+
'y': np.linspace(
|
|
81
|
+
dataset.bounds.bottom,
|
|
82
|
+
dataset.bounds.top,
|
|
83
|
+
shape[1]
|
|
84
|
+
)
|
|
59
85
|
}
|
|
60
86
|
structured_data = StructuredData.from_numpy(data, data_array_name='topography', coords=coords)
|
|
61
87
|
return structured_data
|
|
62
88
|
|
|
63
89
|
|
|
64
|
-
def read_unstructured_topography(path, additional_reader_kwargs: Optional[dict]=None) -> UnstructuredData:
|
|
90
|
+
def read_unstructured_topography(path, additional_reader_kwargs: Optional[dict] = None) -> UnstructuredData:
|
|
65
91
|
"""For example, a dxf file"""
|
|
66
|
-
|
|
92
|
+
|
|
67
93
|
additional_reader_kwargs = additional_reader_kwargs or {}
|
|
68
94
|
helper = GenericReaderFilesHelper(
|
|
69
95
|
file_or_buffer=path,
|
|
@@ -21,7 +21,12 @@ def check_format_and_read_to_df(reader_helper: GenericReaderFilesHelper) -> pd.D
|
|
|
21
21
|
)
|
|
22
22
|
case (bytes() | io.BytesIO() | io.StringIO() | io.TextIOWrapper()), _:
|
|
23
23
|
reader = _get_reader(reader_helper.format)
|
|
24
|
-
d = reader(
|
|
24
|
+
d = reader(
|
|
25
|
+
filepath_or_buffer=reader_helper.file_or_buffer,
|
|
26
|
+
sep=reader_helper.separator,
|
|
27
|
+
engine='python',
|
|
28
|
+
**reader_helper.pandas_reader_kwargs
|
|
29
|
+
)
|
|
25
30
|
case dict(), _:
|
|
26
31
|
reader = _get_reader('dict')
|
|
27
32
|
d = reader(reader_helper.file_or_buffer)
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: subsurface_terra
|
|
3
|
-
Version: 2026.1.
|
|
3
|
+
Version: 2026.1.2rc1
|
|
4
4
|
Summary: Subsurface data types and utilities. This version is the one used by Terranigma Solutions. Please feel free to take anything in this repository for the original one.
|
|
5
5
|
Home-page: https://softwareunderground.github.io/subsurface
|
|
6
6
|
Author: Software Underground
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_all.txt
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_dev.txt
RENAMED
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_mesh.txt
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_opt.txt
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_plot.txt
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_traces.txt
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_volume.txt
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/requirements/requirements_wells.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/interfaces/README.rst
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/interfaces/__init__.py
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/interfaces/stream.py
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/reader/__init__.py
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/api/reader/read_wells.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/README.rst
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/structs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/utils/__init__.py
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/core/utils/utils_core.py
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/__init__.py
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/README.rst
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/reader/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/__init__.py
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/modules/writer/to_binary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface/optional_requirements.py
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/not-zip-safe
RENAMED
|
File without changes
|
{subsurface_terra-2026.1.1rc1 → subsurface_terra-2026.1.2rc1}/subsurface_terra.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|