Agent Web App#
PyHydroGeophysX ships two interactive Streamlit applications:
Geophysics Workflow App – natural-language orchestration of ERT/SRT/TDEM/FDEM workflows.
3D Mesh Builder – graphical tool for building and exporting 3D ERT meshes (new in v0.3).
Tip
Prefer a native desktop app? The Qt Desktop Workbench is available as a downloadable Windows / macOS application (a small light build and a full build with the geophysics engines included).
Geophysics Workflow App#
Open the App#
Live URL: https://pyhydrogeophysx.streamlit.app/
Local script:
examples/app_geophysics_workflow.pyLocal launcher:
pyhydrogeophysx-gui
What It Does#
Starts in demo mode with bundled cached ERT and joint ERT+SRT results — no API key required for a first click-through.
Collects workflow goals and optional context in natural language.
Shows the parsed configuration for review before running on user data.
Shows an estimated LLM cost in the sidebar when the live LLM path is used.
Routes tasks to agent pipelines for ERT, SRT, TDEM, FDEM, and conversion workflows.
Provides a local raw SEG-Y processing panel for shot-gather preview, assisted first-break picking, travel-time export, and SRT inversion.
Supports multi-method orchestration through
DataFusionAgent.Supports joint ERT+SRT workflows where compatible inputs are provided.
Produces intermediate artifacts and workflow reports where available.
Required Inputs#
A clear task prompt (for example, “run a time-lapse ERT inversion”).
Paths or uploaded references to required survey/model files.
For joint inversion: both ERT and SRT datasets for the same profile/domain.
Optional provider credentials when you want LLM-backed interpretation.
Limitations and Notes#
Uploaded data quality and schema consistency still control result quality.
Some workflows require optional dependencies (for example
pygimlior SimPEG).Joint inversion expects physically consistent survey geometry across methods.
LLM-generated recommendations should be reviewed before production decisions.
For common failure modes and fixes, see Troubleshooting.
3D Mesh Builder App#
The 3D Mesh Builder is a standalone Streamlit app for interactively configuring and exporting tetrahedral meshes for ERT forward modeling and inversion.
Open the App#
# Recommended: via the package launcher
python -m PyHydroGeophysX.gui_mesh3d
# Or directly with Streamlit
streamlit run examples/app_mesh3d.py
What It Does#
The app is organized into three tabs:
- Electrode View
Visualizes electrode positions in an interactive 3D scatter plot (Plotly). Supports three array configurations:
Surface Grid — rectangular grid of surface electrodes.
Borehole — single vertical borehole electrode string.
Crosshole — two parallel boreholes for crosshole tomography.
Four topography types are available: Flat, Linear Tilt, Gaussian Hill, and Custom Expression (any valid Python/NumPy expression using
xandy).- Generate Mesh
Runs
Mesh3DCreatorfromPyHydroGeophysX.core.mesh_3dwith the configured parameters. Mesh statistics (cell count, node count, quality histogram) are displayed inline after generation.- Export
Downloads the generated mesh as:
.bms— native PyGIMLi binary mesh format..vtk— VTK format for ParaView or other 3D visualizers.
Step-by-Step: Build a Surface ERT Mesh#
Launch the app:
python -m PyHydroGeophysX.gui_mesh3dIn the sidebar, choose Surface Grid as the Electrode Array Type.
Set Grid Nx = 10, Grid Ny = 5, Spacing = 5 m.
Choose Linear Tilt topography to simulate sloping terrain.
Click the Electrode View tab to verify the electrode positions in 3D.
Click Generate Mesh tab, then press Generate 3D Mesh.
Inspect cell count and quality histogram shown below the mesh summary.
Click Export tab and download as
.bmsor.vtk.
Step-by-Step: Build a Crosshole Mesh#
Launch the app:
python -m PyHydroGeophysX.gui_mesh3dChoose Crosshole array type; set borehole depth and electrode spacing.
Adjust Max Mesh Cell Size (start with 2.0 m for a fast first mesh).
Click Electrode View to confirm both borehole strings.
Generate and export as
.bmsfor use with PyGIMLi crosshole inversion.
Requirements#
PyHydroGeophysXpackage with thecore.mesh_3dmodule.pygimlifor mesh generation (conda install -c gimli pygimli).gmshon PATH for tetrahedral meshing.plotlyfor 3D electrode visualization (pip install plotly).streamlit(pip install streamlit).