1.7: 3-D Visualization

Importing GemPy

import gempy as gp
import gempy_viewer as gpv
from gempy import generate_example_model
from gempy.core.data.enumerators import ExampleModel
# sphinx_gallery_thumbnail_number = 2

Loading an example geomodel

geo_model = generate_example_model(ExampleModel.GRABEN)

gp.compute_model(geo_model)
Surface points hash:  8c72af50fc56389b620c6458a6af23915b121b5e655b3ce179a790636dc529a5
Orientations hash:  87cf30b08b5be03b38c5e6d288fa7bb8855263704efb62c7c3cd77673eaae96d
Setting Backend To: AvailableBackends.PYTORCH
/home/leguark/gempy/gempy/core/data/geo_model.py:115: UserWarning: Both octree levels and resolution are set. The default grid for the `raw_array_solution`and plots will be the dense regular grid. To use octrees instead, set resolution to None in the regular grid.
  warnings.warn("Both octree levels and resolution are set. The default grid for the `raw_array_solution`"
Setting Backend To: AvailableBackends.PYTORCH
/home/leguark/gempy/gempy/core/data/geo_model.py:115: UserWarning: Both octree levels and resolution are set. The default grid for the `raw_array_solution`and plots will be the dense regular grid. To use octrees instead, set resolution to None in the regular grid.
  warnings.warn("Both octree levels and resolution are set. The default grid for the `raw_array_solution`"
Solutions: 6 Octree Levels, 8 DualContouringMeshes


Basic plotting API

Data plot

gpv.plot_3d(
    model=geo_model,
    show_surfaces=False,
    show_data=True,
    show_lith=False,
    image=False
)
ch1 7 3d visualization
<gempy_viewer.modules.plot_3d.vista.GemPyToVista object at 0x7f8b9a886380>

Geomodel plot

gpv.plot_3d(geo_model, image=False)
ch1 7 3d visualization
<gempy_viewer.modules.plot_3d.vista.GemPyToVista object at 0x7f8b9a8854e0>

LiquidEarth Integration

Beyond the classical plotting capabilities introduced in GemPy v3, users can now also upload models to LiquidEarth. LiquidEarth is a collaborative platform designed for 3D visualization, developed by many of the main gempy maintainers, with a strong focus on collaboration and sharing. This makes it an excellent tool for sharing your models with others and viewing them across different platforms. To upload a model to LiquidEarth, you must have an account and a user token. Once your model is uploaded, you can easily share the link with anyone.

link = gpv.plot_to_liquid_earth(
    geo_model=geo_model,
    space_name="ch1_7_3d_visualization",
    file_name="gempy_model",
    user_token=None,  # If None, it will try to grab it from the environment
    grab_link=True,
)

print(f"Generated Link: {link}")
Generated Link: https://liquidearth.app.link/1caa2e99-80fd-4f79-ba3f-a5a26de6013e

Now we can use this link to visualize the model in Liquid Earth.

Total running time of the script: (0 minutes 32.195 seconds)

Gallery generated by Sphinx-Gallery