How gempy-project/gempy works
GemPy is a Python geomodeling library for building implicit 3D geological models. Users define geological structure and observations, configure spatial grids, then compute model solutions; the package also supports fault relationships, topography, serialization, and compatibility workflows. The graph separates API orchestration, model data, computation, and persistence. Several capabilities are documented or indexed but their implementation was not sampled, so some subsystem links are shown as unverified rather than asserted as direct calls.
Main entry points: compute_API.py Compute API · initialization_API.py Model setup API · grid_API.py Grid API · structural_frame.py Structural frame
Components 24
User API
- Model setup API
gempy/API/initialization_API.py - Observation I/O
gempy/API/io_API.py - Grid API
gempy/API/grid_API.py - Compute API
gempy/API/compute_API.py - Field evaluation
gempy/API/field_evaluation_API.py - Fault API
gempy/API/faults_API.py
Model data
- GeoModel
gempy/core/data/geo_model.py - Structural frame
gempy/core/data/structural_frame.py - Surface observations
gempy/core/data/surface_points.py - Orientation observations
gempy/core/data/orientations.py - Spatial grids
gempy/core/data/grid.py - Regular grid
gempy/core/data/grid_modules/regular_grid.py - Topography
gempy/core/data/grid_modules/topography.py - Color palette
gempy/core/color_generator.py
Computation and outputs
- Interpolation inputs
gempy/modules/data_manipulation/_engine_factory.py - GemPy engine
- Mesh extraction
gempy/modules/mesh_extranction/marching_cubes.py - Nugget optimization
gempy/modules/optimize_nuggets/_optimizer.py
Persistence and compatibility
- Model serialization
gempy/modules/serialization/save_load.py - JSON operations
gempy/modules/json_io/json_operations.py - Legacy input adapter
gempy/API/gp2_gp3_compatibility/gp3_to_gp2_input.py - Legacy output adapter
gempy/API/gp2_gp3_compatibility/gp3_to_gp2_output.py - Optional dependencies
gempy/optional_dependencies.py
Other components
- Model user
Connections 33
- Model user → Model setup API: defines model
- Model user → Observation I/O: provides observations
- Model user → Grid API: configures grids
- Model setup API → GeoModel: creates
gempy/API/initialization_API.py - Model setup API → Structural frame: builds structure
gempy/API/initialization_API.py - Model setup API → Observation I/O: uses
gempy/API/initialization_API.py - Observation I/O → Surface observations: loads points
gempy/API/io_API.py - Observation I/O → Orientation observations: loads orientations
gempy/API/io_API.py - Structural frame → Surface observations: groups observations
gempy/core/data/structural_frame.py - Structural frame → Orientation observations: groups observations
gempy/core/data/structural_frame.py - Structural frame → Color palette: assigns colors
gempy/core/data/structural_frame.py - Grid API → Spatial grids: configures
gempy/API/grid_API.py - Grid API → Topography: creates topography
gempy/API/grid_API.py - Spatial grids → Regular grid: uses
gempy/core/data/grid.py - Spatial grids → Topography: uses
gempy/core/data/grid.py - Model user → Compute API: requests solution
- Compute API → GeoModel: computes model
gempy/API/compute_API.py - Compute API → Grid API: uses grid API
gempy/API/compute_API.py - Compute API → Field evaluation: uses evaluation API
gempy/API/compute_API.py - GeoModel → Interpolation inputs: builds inputs
gempy/core/data/geo_model.py - Interpolation inputs → Spatial grids: reads grid
gempy/modules/data_manipulation/_engine_factory.py - Interpolation inputs → Structural frame: reads structure
gempy/modules/data_manipulation/_engine_factory.py - Compute API → GemPy engine: dispatches computation
- GemPy engine → Mesh extraction: supports extraction
- Compute API → Nugget optimization: optimizes nuggets
gempy/API/compute_API.py - Compute API → Model serialization: uses serialization
gempy/API/compute_API.py - Model user → Model serialization: saves or loads
- Model serialization → GeoModel: serializes model
gempy/modules/serialization/save_load.py - Model user → JSON operations: imports or exports
- Model user → Legacy input adapter: uses compatibility
- Model user → Legacy output adapter: uses compatibility
- Model setup API → Optional dependencies: checks dependencies
gempy/API/initialization_API.py - Grid API → Optional dependencies: checks dependencies
gempy/API/grid_API.py