Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeNot declared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars57
LicenseLICENSE
Default branchmain
Open issues1
Status
Active
Skill metadata
Parsed from SKILL.md frontmatter.
Version1.0.0
LicenseMIT
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md5,058 B
docsSUMMARY.md486 B
History
First seen on skills.sh
First recorded snapshot · 43 installs
SKILL.md
pyGIMLi - Geophysical Inversion
Quick Reference
import pygimli as pg
from pygimli.physics import ert, srt
# Load ERT data
data = ert.load("survey.ohm")
# Invert
mgr = ert.ERTManager(data)
model = mgr.invert(lam=20, verbose=True)
# View result
mgr.showResult()
Key Classes
Class
Purpose
pg.Mesh
Finite element meshes
pg.DataContainer
Survey data and geometry
pg.Inversion
Base inversion framework
ert.ERTManager
ERT processing and inversion
srt.SRTManager
Seismic refraction inversion
Essential Operations
Load and View ERT Data
import pygimli as pg
from pygimli.physics import ert
data = ert.load("survey.ohm")
print(f"Measurements: {data.size()}")
ert.showData(data) # Pseudosection
ERT Inversion
from pygimli.physics import ert
mgr = ert.ERTManager(data)
model = mgr.invert(
lam=20, # Regularization
verbose=True
)
mgr.showResult()
resistivity = mgr.model
Seismic Refraction
from pygimli.physics import srt
data = srt.load("traveltimes.sgt")
mgr = srt.SRTManager(data)
model = mgr.invert(lam=30, zWeight=0.3)
mgr.showResult()
Create Custom Mesh
import pygimli as pg
from pygimli.physics import ert
data = ert.load("survey.ohm")
mesh = pg.meshtools.createParaMesh(
data.sensors(),
quality=34.0,
paraMaxCellSize=5,
boundary=2
)
pg.show(mesh)
Save and Export
# Save mesh and model
mgr.mesh.save("result_mesh.bms")
pg.save(model, "resistivity_model.vector")
# Export to VTK for ParaView
mgr.mesh.exportVTK("result", mgr.model)
Choose pyGIMLi when: You need near-surface geophysical inversion (ERT, SRT, IP) with minimal code. Its manager classes (ERTManager, SRTManager) handle the full workflow from data loading to inversion to visualization in a few lines.
Avoid pyGIMLi when: You need methods beyond near-surface (use SimPEG), or you require a commercial-grade reporting pipeline.
Common Workflows
ERT data inversion and visualization
Load ERT data file with ert.load("survey.ohm")
Inspect data: check measurement count with data.size(), plot pseudosection
Remove outliers or bad data points
Create ERTManager with data
Run inversion: mgr.invert(lam=20) (start with higher lambda)
Check chi-squared value (target ~ 1)
Visualize result with mgr.showResult()
Export mesh and model to VTK for ParaView: mgr.mesh.exportVTK()
Adjust lambda and zWeight if needed, re-invert
Inversion Tips
Start with higher lambda (50-100) and decrease
Check data quality - remove outliers before inversion
Use zWeight < 1 for layered structures
Check coverage - low coverage = poorly resolved
Chi-squared ~ 1 indicates good fit without overfitting
References
[Geophysical Methods](references/methods.md) - Supported methods and workflows
[Mesh Generation](references/mesh.md) - Mesh creation and quality control