subsurface-terra 2025.1.0rc10__tar.gz → 2025.1.0rc12__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-2025.1.0rc12/.teamcity/Subsurface/buildTypes/Subsurface_ReleaseSubsurface.xml +60 -0
- subsurface_terra-2025.1.0rc12/.teamcity/Subsurface/buildTypes/Subsurface_ReleaseSubsurface_2.xml +37 -0
- subsurface_terra-2025.1.0rc12/.teamcity/Subsurface/buildTypes/Subsurface_Testing.xml +133 -0
- subsurface_terra-2025.1.0rc12/.teamcity/Subsurface/project-config.xml +19 -0
- subsurface_terra-2025.1.0rc12/.teamcity/Subsurface/vcsRoots/Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain.xml +17 -0
- subsurface_terra-2025.1.0rc12/.teamcity/Subsurface/vcsRoots/Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain1.xml +16 -0
- subsurface_terra-2025.1.0rc12/.teamcity/Subsurface/vcsRoots/Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain2.xml +16 -0
- {subsurface_terra-2025.1.0rc10/subsurface_terra.egg-info → subsurface_terra-2025.1.0rc12}/PKG-INFO +1 -1
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_wells.txt +1 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/_version.py +2 -2
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/api/__init__.py +2 -1
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/api/interfaces/stream.py +7 -1
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/geological_formats/boreholes/survey.py +4 -2
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/structured_elements/structured_grid.py +4 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/__init__.py +2 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/_trimesh_reader.py +26 -16
- subsurface_terra-2025.1.0rc12/subsurface/modules/reader/volume/read_grav3d.py +428 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/volume/read_volume.py +66 -6
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/read_borehole_interface.py +10 -0
- subsurface_terra-2025.1.0rc12/subsurface/modules/tools/mocking_aux.py +104 -0
- subsurface_terra-2025.1.0rc12/subsurface/modules/writer/to_rex/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12/subsurface_terra.egg-info}/PKG-INFO +1 -1
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface_terra.egg-info/SOURCES.txt +10 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/.env.example +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/LICENSE +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/README.rst +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_all.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_dev.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_geospatial.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_mesh.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_opt.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_plot.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_traces.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/requirements/requirements_volume.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/setup.cfg +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/setup.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/api/interfaces/README.rst +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/api/interfaces/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/api/reader/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/api/reader/read_wells.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/geological_formats/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/geological_formats/boreholes/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/geological_formats/boreholes/_combine_trajectories.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/geological_formats/boreholes/boreholes.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/geological_formats/boreholes/collars.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/geological_formats/fault.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/reader_helpers/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/reader_helpers/reader_unstruct.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/reader_helpers/readers_data.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/reader_helpers/readers_wells.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/README.rst +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/base_structures/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/base_structures/_liquid_earth_mesh.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/base_structures/_unstructured_data_constructor.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/base_structures/base_structures_enum.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/base_structures/structured_data.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/base_structures/unstructured_data.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/structured_elements/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/structured_elements/octree_mesh.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/structured_elements/structured_mesh.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/unstructured_elements/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/unstructured_elements/line_set.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/unstructured_elements/point_set.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/unstructured_elements/tetrahedron_mesh.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/structs/unstructured_elements/triangular_surface.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/utils/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/core/utils/utils_core.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/README.rst +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/faults/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/faults/faults.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/from_binary.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/geo_object/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/NOTES.md +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/_GOCAD_mesh.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/csv_mesh_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/dxf_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/glb_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/mx_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/obj_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/omf_mesh_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/surface_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/mesh/surfaces_api.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/petrel/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/profiles/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/profiles/profiles_core.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/read_netcdf.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/topography/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/topography/topo_core.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/volume/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/volume/segy_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/volume/seismic.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/volume/volume_utils.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/DEP/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/DEP/_well_files_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/DEP/_wells_api.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/DEP/_welly_reader.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/DEP/pandas_to_welly.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/README.rst +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/_read_to_df.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/reader/wells/wells_utils.py +0 -0
- {subsurface_terra-2025.1.0rc10/subsurface/modules/writer/to_liquid_earth → subsurface_terra-2025.1.0rc12/subsurface/modules/tools}/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/visualization/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/visualization/to_pyvista.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_binary.py +0 -0
- {subsurface_terra-2025.1.0rc10/subsurface/modules/writer/to_rex → subsurface_terra-2025.1.0rc12/subsurface/modules/writer/to_liquid_earth}/__init__.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/common.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/data_struct.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/doc/rex-spec-v1.md +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/doc/right-handed.png +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/doc/sketchup_example.jpg +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/gempy_to_rexfile.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/material_encoder.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/mesh_encoder.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/to_rex.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/modules/writer/to_rex/utils.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/optional_requirements.py +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface_terra.egg-info/dependency_links.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface_terra.egg-info/not-zip-safe +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface_terra.egg-info/requires.txt +0 -0
- {subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface_terra.egg-info/top_level.txt +0 -0
subsurface_terra-2025.1.0rc12/.teamcity/Subsurface/buildTypes/Subsurface_ReleaseSubsurface.xml
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<template xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="671f325d-03f3-4855-994a-eb6080da9084" xsi:noNamespaceSchemaLocation="https://www.jetbrains.com/teamcity/schemas/2021.1/project-config.xsd">
|
|
3
|
+
<name>Release Subsurface</name>
|
|
4
|
+
<settings>
|
|
5
|
+
<parameters>
|
|
6
|
+
<param name="env.PACKAGE_VERSION" value="" spec="text description='The version that I want to release' label='Package version' validationMode='any' display='prompt'" />
|
|
7
|
+
<param name="env.TWINE_PASSWORD" value="credentialsJSON:e9a0b402-f8b3-4f86-978c-9c88c456dc9c" spec="password display='normal'" />
|
|
8
|
+
</parameters>
|
|
9
|
+
<build-runners>
|
|
10
|
+
<runner id="Git_Tagging" name="Git Tagging" type="simpleRunner">
|
|
11
|
+
<parameters>
|
|
12
|
+
<param name="script.content"><![CDATA[git tag v%env.PACKAGE_VERSION%
|
|
13
|
+
git push origin v%env.PACKAGE_VERSION%]]></param>
|
|
14
|
+
<param name="teamcity.step.mode" value="default" />
|
|
15
|
+
<param name="use.custom.script" value="true" />
|
|
16
|
+
</parameters>
|
|
17
|
+
</runner>
|
|
18
|
+
<runner id="Build" name="Build" type="simpleRunner">
|
|
19
|
+
<parameters>
|
|
20
|
+
<param name="script.content"><![CDATA[python -m pip install --upgrade build
|
|
21
|
+
python -m build]]></param>
|
|
22
|
+
<param name="teamcity.kubernetes.executor.pull.policy" value="IfNotPresent" />
|
|
23
|
+
<param name="teamcity.step.mode" value="default" />
|
|
24
|
+
<param name="use.custom.script" value="true" />
|
|
25
|
+
</parameters>
|
|
26
|
+
</runner>
|
|
27
|
+
<runner id="Push_to_PyPi" name="Push to PyPi" type="simpleRunner">
|
|
28
|
+
<parameters>
|
|
29
|
+
<param name="script.content"><![CDATA[python -m pip install --upgrade twine
|
|
30
|
+
python -m twine upload dist/* -u __token__ -p %env.TWINE_PASSWORD%]]></param>
|
|
31
|
+
<param name="teamcity.kubernetes.executor.pull.policy" value="IfNotPresent" />
|
|
32
|
+
<param name="teamcity.step.mode" value="default" />
|
|
33
|
+
<param name="use.custom.script" value="true" />
|
|
34
|
+
</parameters>
|
|
35
|
+
</runner>
|
|
36
|
+
<runner id="Push_To_GitHub" name="Push To GitHub" type="simpleRunner">
|
|
37
|
+
<parameters>
|
|
38
|
+
<param name="script.content" value="gh release create %env.PACKAGE_VERSION% dist/* --title "%env.PACKAGE_VERSION%" --notes "Release notes here"" />
|
|
39
|
+
<param name="teamcity.kubernetes.executor.pull.policy" value="IfNotPresent" />
|
|
40
|
+
<param name="teamcity.step.mode" value="default" />
|
|
41
|
+
<param name="use.custom.script" value="true" />
|
|
42
|
+
</parameters>
|
|
43
|
+
</runner>
|
|
44
|
+
</build-runners>
|
|
45
|
+
<vcs-settings>
|
|
46
|
+
<vcs-entry-ref root-id="Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain" />
|
|
47
|
+
</vcs-settings>
|
|
48
|
+
<requirements />
|
|
49
|
+
<build-triggers />
|
|
50
|
+
<build-extensions>
|
|
51
|
+
<extension id="BUILD_EXT_1" type="perfmon">
|
|
52
|
+
<parameters>
|
|
53
|
+
<param name="teamcity.perfmon.feature.enabled" value="true" />
|
|
54
|
+
</parameters>
|
|
55
|
+
</extension>
|
|
56
|
+
</build-extensions>
|
|
57
|
+
<cleanup />
|
|
58
|
+
</settings>
|
|
59
|
+
</template>
|
|
60
|
+
|
subsurface_terra-2025.1.0rc12/.teamcity/Subsurface/buildTypes/Subsurface_ReleaseSubsurface_2.xml
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<build-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="c15fb876-7044-47cd-a3b0-676767e4ca63" xsi:noNamespaceSchemaLocation="https://www.jetbrains.com/teamcity/schemas/2021.1/project-config.xsd">
|
|
3
|
+
<name>Release Subsurface</name>
|
|
4
|
+
<description />
|
|
5
|
+
<settings ref="ReleasePythonPackage">
|
|
6
|
+
<parameters />
|
|
7
|
+
<build-runners order="Git_Tagging, Build, Push_to_PyPi, Push_To_GitHub">
|
|
8
|
+
<runner id="Build" name="Build" type="simpleRunner">
|
|
9
|
+
<parameters>
|
|
10
|
+
<param name="script.content"><![CDATA[echo Cleaning build artifacts...
|
|
11
|
+
rmdir /s /q dist
|
|
12
|
+
rmdir /s /q build
|
|
13
|
+
echo Clean complete.
|
|
14
|
+
|
|
15
|
+
python -m pip install --upgrade build
|
|
16
|
+
python -m build]]></param>
|
|
17
|
+
<param name="teamcity.step.mode" value="default" />
|
|
18
|
+
<param name="use.custom.script" value="true" />
|
|
19
|
+
</parameters>
|
|
20
|
+
</runner>
|
|
21
|
+
<runner id="Push_To_GitHub" name="Push To GitHub" type="simpleRunner">
|
|
22
|
+
<parameters>
|
|
23
|
+
<param name="script.content" value="gh release create %env.PACKAGE_VERSION% dist/* --notes "Release notes here" --repo terranigma-solutions/subsurface" />
|
|
24
|
+
<param name="teamcity.step.mode" value="default" />
|
|
25
|
+
<param name="use.custom.script" value="true" />
|
|
26
|
+
</parameters>
|
|
27
|
+
</runner>
|
|
28
|
+
</build-runners>
|
|
29
|
+
<vcs-settings>
|
|
30
|
+
<vcs-entry-ref root-id="Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain1" />
|
|
31
|
+
</vcs-settings>
|
|
32
|
+
<requirements />
|
|
33
|
+
<build-triggers />
|
|
34
|
+
<cleanup />
|
|
35
|
+
</settings>
|
|
36
|
+
</build-type>
|
|
37
|
+
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<build-type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="ed495f4f-4df2-4a37-bbfe-2489430a46e8" xsi:noNamespaceSchemaLocation="https://www.jetbrains.com/teamcity/schemas/2025.3/project-config.xsd">
|
|
3
|
+
<name>Testing</name>
|
|
4
|
+
<description />
|
|
5
|
+
<settings>
|
|
6
|
+
<options>
|
|
7
|
+
<option name="shouldFailBuildOnBadExitCode" value="false" />
|
|
8
|
+
</options>
|
|
9
|
+
<parameters>
|
|
10
|
+
<param name="REQUIREMENT_LEVEL" value="READ_MESH" />
|
|
11
|
+
<param name="env.MPLBACKEND" value="Agg" />
|
|
12
|
+
<param name="env.PATH_TO_ASCII_DRILLHOLES" value="%env.TERRA_PATH_DEVOPS%/boreholes/ASCII_drillholes/" />
|
|
13
|
+
<param name="env.PATH_TO_BGR" value="%env.TERRA_PATH_DEVOPS%/boreholes/" />
|
|
14
|
+
<param name="env.PATH_TO_BOLIDEN" value="%env.TERRA_PATH_DEVOPS%/combined/Leapfrog_OMF/Garpenberg_global_20220715.omf" />
|
|
15
|
+
<param name="env.PATH_TO_GLB" value="%env.TERRA_PATH_DEVOPS%/meshes/GLB - GLTF/Duck.glb" />
|
|
16
|
+
<param name="env.PATH_TO_GLB_COMPLEX" value="%env.TERRA_PATH_DEVOPS%/meshes/GLB - GLTF/GlbFile.glb" />
|
|
17
|
+
<param name="env.PATH_TO_GRAV3D_MOD" value="%env.TERRA_PATH_DEVOPS%/volume/MSH/19_simpeg_inv_result_25ft_7.62m_psi2_Sep.mod" />
|
|
18
|
+
<param name="env.PATH_TO_GRAV3D_MSH" value="%env.TERRA_PATH_DEVOPS%/volume/MSH/client_voxel.msh" />
|
|
19
|
+
<param name="env.PATH_TO_GRAV3D_MSH_II" value="%env.TERRA_PATH_DEVOPS%/volume/MSH/IDN-65/ubc_mesh_mod" />
|
|
20
|
+
<param name="env.PATH_TO_INTERPRETATION" value="%env.TERRA_PATH_DEVOPS%/meshes/Seismic/Anl2-1.tif" />
|
|
21
|
+
<param name="env.PATH_TO_MAGNETIC_INTERPRETATION" value="%env.TERRA_PATH_DEVOPS%/meshes/Magnetic/Plate 2a - Profile 1 2D inversion.pdf" />
|
|
22
|
+
<param name="env.PATH_TO_MTL" value="%env.TERRA_PATH_DEVOPS%/meshes/OBJ/Broadhaven_Obj/model/model.mtl" />
|
|
23
|
+
<param name="env.PATH_TO_OBJ" value="%env.TERRA_PATH_DEVOPS%/meshes/OBJ/Broadhaven_Obj/model/model.obj" />
|
|
24
|
+
<param name="env.PATH_TO_OBJ_FACE_I" value="%env.TERRA_PATH_DEVOPS%/meshes/OBJ/Faces/face1.obj" />
|
|
25
|
+
<param name="env.PATH_TO_OBJ_FACE_II" value="%env.TERRA_PATH_DEVOPS%/meshes/OBJ/Faces/Lapp_458_Rum_19_2_2024-02-21_0820_scan5_geoim4.obj" />
|
|
26
|
+
<param name="env.PATH_TO_OBJ_GALLERIES_I" value="%env.TERRA_PATH_DEVOPS%/meshes/OBJ/Galleries/Solid1.obj" />
|
|
27
|
+
<param name="env.PATH_TO_OBJ_MULTIMATERIAL_II" value="%env.TERRA_PATH_DEVOPS%/meshes/OBJ/MultiMaterialObj/MultiMaterialObj.obj" />
|
|
28
|
+
<param name="env.PATH_TO_OBJ_SCANS" value="%env.TERRA_PATH_DEVOPS%/meshes/OBJ/Core scans Boliden/rsrbF9l2zc/model.obj" />
|
|
29
|
+
<param name="env.PATH_TO_OMF" value="%env.TERRA_PATH_DEVOPS%/combined/Leapfrog_OMF/Collinstown.omf" />
|
|
30
|
+
<param name="env.PATH_TO_SECTION" value="%env.TERRA_PATH_DEVOPS%/meshes/Seismic/L1_CDP-Coords.txt" />
|
|
31
|
+
<param name="env.PATH_TO_SEISMIC" value="%env.TERRA_PATH_DEVOPS%/meshes/Seismic/Linie01.segy" />
|
|
32
|
+
<param name="env.PATH_TO_SEISMIC_FINAL" value="%env.TERRA_PATH_DEVOPS%/meshes/Seismic/L1_final-mig.sgy" />
|
|
33
|
+
<param name="env.PATH_TO_SPREMBERG_ASSAY" value="%env.TERRA_PATH_DEVOPS%/boreholes/Spremberg/Spremberg_assay.csv" />
|
|
34
|
+
<param name="env.PATH_TO_SPREMBERG_COLLAR" value="%env.TERRA_PATH_DEVOPS%/boreholes/Spremberg/Spremberg_collar_updated.csv" />
|
|
35
|
+
<param name="env.PATH_TO_SPREMBERG_STRATIGRAPHY" value="%env.TERRA_PATH_DEVOPS%/boreholes/Spremberg/Spremberg_stratigraphy.csv" />
|
|
36
|
+
<param name="env.PATH_TO_SPREMBERG_SURVEY" value="%env.TERRA_PATH_DEVOPS%/boreholes/Spremberg/Spremberg_survey.csv" />
|
|
37
|
+
<param name="env.PATH_TO_WEISWEILER" value="%env.TERRA_PATH_DEVOPS%/meshes/Weisweiler/" />
|
|
38
|
+
<param name="env.TERRA_PATH_DEVOPS" value="D:\OneDrive - Terranigma Solutions GmbH/Documents - Terranigma Base/DevOps/SubsurfaceTestData/" />
|
|
39
|
+
</parameters>
|
|
40
|
+
<build-runners>
|
|
41
|
+
<runner id="Setup" name="Setup" type="simpleRunner">
|
|
42
|
+
<parameters>
|
|
43
|
+
<param name="script.content"><![CDATA[@echo on
|
|
44
|
+
python -m venv venv
|
|
45
|
+
call venv\Scripts\activate
|
|
46
|
+
venv\Scripts\python -m pip install --upgrade pip
|
|
47
|
+
|
|
48
|
+
echo Checking directory...
|
|
49
|
+
dir
|
|
50
|
+
dir .requirements
|
|
51
|
+
|
|
52
|
+
venv\Scripts\pip install --verbose -r requirements/requirements_dev.txt
|
|
53
|
+
venv\Scripts\pip install --verbose teamcity-messages]]></param>
|
|
54
|
+
<param name="teamcity.step.mode" value="default" />
|
|
55
|
+
<param name="use.custom.script" value="true" />
|
|
56
|
+
</parameters>
|
|
57
|
+
</runner>
|
|
58
|
+
<runner id="Run_Test" name="Run Test: Core" type="simpleRunner">
|
|
59
|
+
<parameters>
|
|
60
|
+
<param name="script.content"><![CDATA[venv\Scripts\pip install --verbose -r requirements/requirements_plot.txt
|
|
61
|
+
|
|
62
|
+
@echo on
|
|
63
|
+
set REQUIREMENT_LEVEL=READ_MESH
|
|
64
|
+
echo REQUIREMENT_LEVEL is %REQUIREMENT_LEVEL%
|
|
65
|
+
venv\Scripts\python -m pytest --teamcity -v -m core]]></param>
|
|
66
|
+
<param name="teamcity.step.mode" value="default" />
|
|
67
|
+
<param name="use.custom.script" value="true" />
|
|
68
|
+
</parameters>
|
|
69
|
+
</runner>
|
|
70
|
+
<runner id="Run_Test_2" name="Run Test: Mesh" type="simpleRunner">
|
|
71
|
+
<parameters>
|
|
72
|
+
<param name="script.content"><![CDATA[venv\Scripts\pip install --verbose -r requirements/requirements_mesh.txt
|
|
73
|
+
|
|
74
|
+
@echo on
|
|
75
|
+
set REQUIREMENT_LEVEL=READ_MESH
|
|
76
|
+
echo REQUIREMENT_LEVEL is %REQUIREMENT_LEVEL%
|
|
77
|
+
venv\Scripts\python -m pytest --teamcity -v]]></param>
|
|
78
|
+
<param name="teamcity.step.mode" value="execute_if_failed" />
|
|
79
|
+
<param name="use.custom.script" value="true" />
|
|
80
|
+
</parameters>
|
|
81
|
+
</runner>
|
|
82
|
+
<runner id="Run_Test_wells" name="Run Test: Wells" type="simpleRunner">
|
|
83
|
+
<parameters>
|
|
84
|
+
<param name="script.content"><![CDATA[venv\Scripts\pip install --verbose -r requirements/requirements_wells.txt
|
|
85
|
+
|
|
86
|
+
@echo on
|
|
87
|
+
set REQUIREMENT_LEVEL=READ_WELL
|
|
88
|
+
echo REQUIREMENT_LEVEL is %REQUIREMENT_LEVEL%
|
|
89
|
+
venv\Scripts\python -m pytest --teamcity -v]]></param>
|
|
90
|
+
<param name="teamcity.step.mode" value="execute_if_failed" />
|
|
91
|
+
<param name="use.custom.script" value="true" />
|
|
92
|
+
</parameters>
|
|
93
|
+
</runner>
|
|
94
|
+
</build-runners>
|
|
95
|
+
<vcs-settings>
|
|
96
|
+
<vcs-entry-ref root-id="Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain2" />
|
|
97
|
+
</vcs-settings>
|
|
98
|
+
<build-triggers>
|
|
99
|
+
<build-trigger id="TRIGGER_4" type="vcsTrigger">
|
|
100
|
+
<parameters>
|
|
101
|
+
<param name="branchFilter"><![CDATA[+pr:draft=false
|
|
102
|
+
+:refs/heads/main]]></param>
|
|
103
|
+
<param name="enableQueueOptimization" value="true" />
|
|
104
|
+
<param name="quietPeriodMode" value="DO_NOT_USE" />
|
|
105
|
+
</parameters>
|
|
106
|
+
</build-trigger>
|
|
107
|
+
</build-triggers>
|
|
108
|
+
<build-extensions>
|
|
109
|
+
<extension id="perfmon" type="perfmon">
|
|
110
|
+
<parameters>
|
|
111
|
+
<param name="teamcity.perfmon.feature.enabled" value="true" />
|
|
112
|
+
</parameters>
|
|
113
|
+
</extension>
|
|
114
|
+
<extension id="BUILD_EXT_5" type="commit-status-publisher">
|
|
115
|
+
<parameters>
|
|
116
|
+
<param name="github_authentication_type" value="token" />
|
|
117
|
+
<param name="github_host" value="https://api.github.com" />
|
|
118
|
+
<param name="publisherId" value="githubStatusPublisher" />
|
|
119
|
+
<param name="secure:github_access_token" value="credentialsJSON:4df4bdb0-1278-4834-a702-18ae3a286003" />
|
|
120
|
+
</parameters>
|
|
121
|
+
</extension>
|
|
122
|
+
<extension id="BUILD_EXT_6" type="pullRequests">
|
|
123
|
+
<parameters>
|
|
124
|
+
<param name="authenticationType" value="token" />
|
|
125
|
+
<param name="filterAuthorRole" value="MEMBER" />
|
|
126
|
+
<param name="providerType" value="github" />
|
|
127
|
+
<param name="secure:accessToken" value="credentialsJSON:4df4bdb0-1278-4834-a702-18ae3a286003" />
|
|
128
|
+
</parameters>
|
|
129
|
+
</extension>
|
|
130
|
+
</build-extensions>
|
|
131
|
+
</settings>
|
|
132
|
+
</build-type>
|
|
133
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="02a92682-f6c2-4edf-af46-08d095b0ce77" xsi:noNamespaceSchemaLocation="https://www.jetbrains.com/teamcity/schemas/2021.1/project-config.xsd">
|
|
3
|
+
<name>Subsurface</name>
|
|
4
|
+
<parameters />
|
|
5
|
+
<project-extensions>
|
|
6
|
+
<extension id="PROJECT_EXT_15" type="versionedSettings">
|
|
7
|
+
<parameters>
|
|
8
|
+
<param name="buildSettings" value="ALWAYS_USE_CURRENT" />
|
|
9
|
+
<param name="credentialsStorageType" value="credentialsJSON" />
|
|
10
|
+
<param name="enabled" value="true" />
|
|
11
|
+
<param name="ignoreChangesInDependenciesAndVcsSettings" value="false" />
|
|
12
|
+
<param name="rootId" value="Subsurface_HttpsGithubComTerranigmaSolutionsSubsurfaceRefsHeadsMain" />
|
|
13
|
+
<param name="showChanges" value="false" />
|
|
14
|
+
</parameters>
|
|
15
|
+
</extension>
|
|
16
|
+
</project-extensions>
|
|
17
|
+
<cleanup />
|
|
18
|
+
</project>
|
|
19
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<vcs-root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="b5c00aa4-356b-4c94-8113-009cde53f17b" type="jetbrains.git" xsi:noNamespaceSchemaLocation="https://www.jetbrains.com/teamcity/schemas/2021.1/project-config.xsd">
|
|
3
|
+
<name>https://github.com/terranigma-solutions/subsurface#refs/heads/main</name>
|
|
4
|
+
<param name="agentCleanFilesPolicy" value="ALL_UNTRACKED" />
|
|
5
|
+
<param name="agentCleanPolicy" value="ON_BRANCH_CHANGE" />
|
|
6
|
+
<param name="authMethod" value="PASSWORD" />
|
|
7
|
+
<param name="branch" value="refs/heads/main" />
|
|
8
|
+
<param name="ignoreKnownHosts" value="true" />
|
|
9
|
+
<param name="secure:password" value="credentialsJSON:4df4bdb0-1278-4834-a702-18ae3a286003" />
|
|
10
|
+
<param name="submoduleCheckout" value="CHECKOUT" />
|
|
11
|
+
<param name="teamcity:branchSpec" value="refs/heads/*" />
|
|
12
|
+
<param name="url" value="https://github.com/terranigma-solutions/subsurface" />
|
|
13
|
+
<param name="useAlternates" value="AUTO" />
|
|
14
|
+
<param name="username" value="Leguark" />
|
|
15
|
+
<param name="usernameStyle" value="USERID" />
|
|
16
|
+
</vcs-root>
|
|
17
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<vcs-root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="e9cb014a-3f5f-4e33-8d40-9c5cb180a9d6" type="jetbrains.git" xsi:noNamespaceSchemaLocation="https://www.jetbrains.com/teamcity/schemas/2021.1/project-config.xsd">
|
|
3
|
+
<name>https://github.com/terranigma-solutions/subsurface#refs/heads/main (1)</name>
|
|
4
|
+
<param name="agentCleanFilesPolicy" value="ALL_UNTRACKED" />
|
|
5
|
+
<param name="agentCleanPolicy" value="ON_BRANCH_CHANGE" />
|
|
6
|
+
<param name="authMethod" value="PASSWORD" />
|
|
7
|
+
<param name="branch" value="refs/heads/main" />
|
|
8
|
+
<param name="ignoreKnownHosts" value="true" />
|
|
9
|
+
<param name="secure:password" value="credentialsJSON:4df4bdb0-1278-4834-a702-18ae3a286003" />
|
|
10
|
+
<param name="submoduleCheckout" value="CHECKOUT" />
|
|
11
|
+
<param name="url" value="https://github.com/terranigma-solutions/subsurface" />
|
|
12
|
+
<param name="useAlternates" value="AUTO" />
|
|
13
|
+
<param name="username" value="Leguark" />
|
|
14
|
+
<param name="usernameStyle" value="USERID" />
|
|
15
|
+
</vcs-root>
|
|
16
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<vcs-root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" uuid="a5d752d7-0d2a-4197-b779-2049040d97ba" type="jetbrains.git" xsi:noNamespaceSchemaLocation="https://www.jetbrains.com/teamcity/schemas/2021.1/project-config.xsd">
|
|
3
|
+
<name>https://github.com/terranigma-solutions/subsurface#refs/heads/main (2)</name>
|
|
4
|
+
<param name="agentCleanFilesPolicy" value="ALL_UNTRACKED" />
|
|
5
|
+
<param name="agentCleanPolicy" value="ON_BRANCH_CHANGE" />
|
|
6
|
+
<param name="authMethod" value="PASSWORD" />
|
|
7
|
+
<param name="branch" value="refs/heads/main" />
|
|
8
|
+
<param name="ignoreKnownHosts" value="true" />
|
|
9
|
+
<param name="secure:password" value="credentialsJSON:4df4bdb0-1278-4834-a702-18ae3a286003" />
|
|
10
|
+
<param name="submoduleCheckout" value="CHECKOUT" />
|
|
11
|
+
<param name="url" value="https://github.com/terranigma-solutions/subsurface" />
|
|
12
|
+
<param name="useAlternates" value="AUTO" />
|
|
13
|
+
<param name="username" value="Leguark" />
|
|
14
|
+
<param name="usernameStyle" value="USERID" />
|
|
15
|
+
</vcs-root>
|
|
16
|
+
|
{subsurface_terra-2025.1.0rc10/subsurface_terra.egg-info → subsurface_terra-2025.1.0rc12}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: subsurface_terra
|
|
3
|
-
Version: 2025.1.
|
|
3
|
+
Version: 2025.1.0rc12
|
|
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
|
|
@@ -17,5 +17,5 @@ __version__: str
|
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
|
18
18
|
version_tuple: VERSION_TUPLE
|
|
19
19
|
|
|
20
|
-
__version__ = version = '2025.1.
|
|
21
|
-
__version_tuple__ = version_tuple = (2025, 1, 0)
|
|
20
|
+
__version__ = version = '2025.1.0rc12'
|
|
21
|
+
__version_tuple__ = version_tuple = (2025, 1, 0, 'rc12')
|
{subsurface_terra-2025.1.0rc10 → subsurface_terra-2025.1.0rc12}/subsurface/api/interfaces/stream.py
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import io
|
|
2
2
|
from io import BytesIO
|
|
3
|
-
from typing import TextIO
|
|
3
|
+
from typing import TextIO, Optional
|
|
4
4
|
|
|
5
5
|
import pandas
|
|
6
6
|
|
|
@@ -57,11 +57,17 @@ def GLTF_stream_to_trisurf(gltf_stream: io.BytesIO, coordinate_system: TriMeshTr
|
|
|
57
57
|
tri_mesh: TriSurf = reader.load_gltf_with_trimesh(gltf_stream, coordinate_system)
|
|
58
58
|
return tri_mesh
|
|
59
59
|
|
|
60
|
+
|
|
60
61
|
def VTK_stream_to_struct(stream: BytesIO, attribute_name: str) -> list[StructuredData]:
|
|
61
62
|
struct = read_VTK_structured_grid(stream, attribute_name)
|
|
62
63
|
return [struct]
|
|
63
64
|
|
|
64
65
|
|
|
66
|
+
def MSH_stream_to_struct(grid_stream: TextIO, values_stream: TextIO, missing_value: Optional[float], attr_name: Optional[str]) -> list[StructuredData]:
|
|
67
|
+
struct = reader.read_msh_structured_grid(grid_stream, values_stream, missing_value, attr_name)
|
|
68
|
+
return [struct]
|
|
69
|
+
|
|
70
|
+
|
|
65
71
|
def CSV_wells_stream_to_unstruc(
|
|
66
72
|
collars_reader: GenericReaderFilesHelper,
|
|
67
73
|
surveys_reader: GenericReaderFilesHelper,
|
|
@@ -111,9 +111,11 @@ def _map_attrs_to_measured_depths(attrs: pd.DataFrame, survey: Survey) -> pd.Dat
|
|
|
111
111
|
|
|
112
112
|
# Start with a copy of the existing attributes DataFrame
|
|
113
113
|
new_attrs = survey.survey_trajectory.data.points_attributes.copy()
|
|
114
|
-
if 'component lith' in attrs.columns:
|
|
114
|
+
if 'component lith' in attrs.columns and 'lith_ids' not in attrs.columns:
|
|
115
115
|
# Factorize lith components directly in-place
|
|
116
116
|
attrs['lith_ids'], _ = pd.factorize(attrs['component lith'], use_na_sentinel=True)
|
|
117
|
+
else:
|
|
118
|
+
pass
|
|
117
119
|
|
|
118
120
|
# Add missing columns from attrs, preserving their dtypes
|
|
119
121
|
for col in attrs.columns.difference(new_attrs.columns):
|
|
@@ -152,7 +154,7 @@ def _map_attrs_to_measured_depths(attrs: pd.DataFrame, survey: Survey) -> pd.Dat
|
|
|
152
154
|
continue
|
|
153
155
|
attr_to_interpolate = attrs_well[col]
|
|
154
156
|
# make sure the attr_to_interpolate is not a string
|
|
155
|
-
if attr_to_interpolate.dtype == 'O':
|
|
157
|
+
if attr_to_interpolate.dtype == 'O' or isinstance(attr_to_interpolate.dtype, pd.CategoricalDtype):
|
|
156
158
|
continue
|
|
157
159
|
if col in ['lith_ids', 'component lith']:
|
|
158
160
|
interp_kind = 'nearest'
|
|
@@ -33,6 +33,10 @@ class StructuredGrid:
|
|
|
33
33
|
grid_3d = np.meshgrid(*cart_coord, indexing='ij')
|
|
34
34
|
return grid_3d
|
|
35
35
|
|
|
36
|
+
@property
|
|
37
|
+
def active_attributes(self) -> np.ndarray:
|
|
38
|
+
return self.ds.data[self.ds.active_data_array_name].values
|
|
39
|
+
|
|
36
40
|
def meshgrid_2d(self, attribute_name_coord_name: str = None) -> list:
|
|
37
41
|
"""
|
|
38
42
|
|
|
@@ -9,3 +9,5 @@ from .mesh.dxf_reader import dxf_stream_to_unstruct_input, dxf_file_to_unstruct_
|
|
|
9
9
|
from .mesh.mx_reader import mx_to_unstruc_from_binary
|
|
10
10
|
from .mesh.obj_reader import load_obj_with_trimesh, load_obj_with_trimesh_from_binary
|
|
11
11
|
from .mesh.glb_reader import load_gltf_with_trimesh
|
|
12
|
+
|
|
13
|
+
from .volume.read_grav3d import read_msh_structured_grid
|
|
@@ -9,9 +9,14 @@ from .... import optional_requirements
|
|
|
9
9
|
from ....core.structs import TriSurf, StructuredData
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
class TriMeshTransformations(enum.
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
class TriMeshTransformations(enum.Flag):
|
|
13
|
+
UP_Z = 2**1
|
|
14
|
+
UP_Y = 2**2
|
|
15
|
+
FORWARD_MINUS_Z = 2**3
|
|
16
|
+
FORWARD_PLUS_Z = 2**4
|
|
17
|
+
RIGHT_HANDED_Z_UP_Y_REVERSED = UP_Y | FORWARD_MINUS_Z
|
|
18
|
+
RIGHT_HANDED_Z_UP = UP_Y | FORWARD_PLUS_Z
|
|
19
|
+
ORIGINAL = UP_Z | FORWARD_MINUS_Z
|
|
15
20
|
|
|
16
21
|
|
|
17
22
|
def load_with_trimesh(path_to_file_or_buffer, file_type: Optional[str] = None,
|
|
@@ -23,13 +28,10 @@ def load_with_trimesh(path_to_file_or_buffer, file_type: Optional[str] = None,
|
|
|
23
28
|
trimesh = optional_requirements.require_trimesh()
|
|
24
29
|
scene_or_mesh = LoadWithTrimesh.load_with_trimesh(path_to_file_or_buffer, file_type, plot)
|
|
25
30
|
|
|
26
|
-
# Compute a -90° rotation around the X axis
|
|
27
|
-
angle_rad = np.deg2rad(-90)
|
|
28
|
-
transform = trimesh.transformations.rotation_matrix(angle_rad, [1, 0, 0])
|
|
29
|
-
|
|
30
31
|
match coordinate_system:
|
|
31
32
|
case TriMeshTransformations.ORIGINAL:
|
|
32
33
|
return scene_or_mesh
|
|
34
|
+
# * Forward -Z up Y
|
|
33
35
|
case TriMeshTransformations.RIGHT_HANDED_Z_UP:
|
|
34
36
|
# Transform from Y-up (modeling software) to Z-up (scientific)
|
|
35
37
|
# This rotates the model so that:
|
|
@@ -37,21 +39,29 @@ def load_with_trimesh(path_to_file_or_buffer, file_type: Optional[str] = None,
|
|
|
37
39
|
# Old Z axis → New -Y axis
|
|
38
40
|
# Old X axis → Remains as X axis
|
|
39
41
|
transform = np.array([
|
|
40
|
-
[1, 0, 0, 0],
|
|
41
|
-
[0, 0, 1, 0],
|
|
42
|
-
[0, 1, 0, 0],
|
|
42
|
+
[1, 0, 0, 0],
|
|
43
|
+
[0, 0, -1, 0],
|
|
44
|
+
[0, 1, 0, 0],
|
|
43
45
|
[0, 0, 0, 1]
|
|
44
46
|
])
|
|
45
|
-
|
|
47
|
+
case TriMeshTransformations.RIGHT_HANDED_Z_UP_Y_REVERSED:
|
|
48
|
+
# * Forward Z Up Y
|
|
49
|
+
transform=np.array([
|
|
50
|
+
[1, 0, 0, 0],
|
|
51
|
+
[0, 0, 1, 0],
|
|
52
|
+
[0, 1, 0, 0],
|
|
53
|
+
[0, 0, 0, 1],
|
|
54
|
+
])
|
|
46
55
|
# Apply the coordinate transformation
|
|
47
|
-
|
|
48
|
-
for geometry in scene_or_mesh.geometry.values():
|
|
49
|
-
geometry.apply_transform(transform)
|
|
50
|
-
else:
|
|
51
|
-
scene_or_mesh.apply_transform(transform)
|
|
56
|
+
# TODO: Add all the options of blender
|
|
52
57
|
case _:
|
|
53
58
|
raise ValueError(f"Invalid coordinate system: {coordinate_system}")
|
|
54
59
|
|
|
60
|
+
if isinstance(scene_or_mesh, trimesh.Scene):
|
|
61
|
+
for geometry in scene_or_mesh.geometry.values():
|
|
62
|
+
geometry.apply_transform(transform)
|
|
63
|
+
else:
|
|
64
|
+
scene_or_mesh.apply_transform(transform)
|
|
55
65
|
return scene_or_mesh
|
|
56
66
|
|
|
57
67
|
|