simpeg

Build forward models and solve geophysical inversions with SimPEG.

46|3|Updated Jan 26, 2026
One-click install
npx skills add https://github.com/SteadfastAsArt/geoscience-skills --skill simpeg
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simpeg
Source: https://github.com/SteadfastAsArt/geoscience-skills/tree/main/simpeg
Command: npx skills add https://github.com/SteadfastAsArt/geoscience-skills --skill simpeg

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires simpeg, discretize, numpy, matplotlib, and includes scripts (resource) and references (resource) components.

What problem does it solve?

SimPEG provides a modular framework to build forward models and solve geophysical inversion problems across multiple methods, enabling end-to-end workflows from data to recovered subsurface properties.

Core Features & Use Cases

  • Modular forward modeling: supports TensorMesh/TreeMesh discretizations and multiple physics (DC resistivity, magnetics, gravity, EM, MT).
  • Data misfit, regularization and inversion: comprehensive tools for constructing and solving inverse problems with various directives and constraints.
  • Joint inversion and maps: facilitates joint datasets and parameter mappings for multi-method or multi-physics problems.
  • Workflow examples: includes end-to-end scripts for synthetic data generation and inversion workflows.

Quick Start

Create a 2D mesh, define a simple DC resistivity survey, generate synthetic data, and run a basic inversion.

Frequently Asked Questions about simpeg

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a mesh and run a geophysical inversion workflow?

To run a geophysical inversion, you first create a TensorMesh or TreeMesh using discretize, define the physics simulation, compute the data misfit, apply regularization, and execute the optimization loop to recover subsurface properties.

Can I perform joint inversion for multiple geophysics datasets?

Yes, you can perform joint inversion by combining multiple datasets and applying parameter maps to simultaneously invert multi-method or multi-physics problems within the same framework.

What geophysical methods are supported for forward modeling and inversion?

The framework supports forward modeling and inversion for DC resistivity, magnetics, gravity, electromagnetic (EM), and magnetotelluric (MT) methods using modular simulation classes.

How do I generate synthetic data for a DC resistivity survey before inversion?

You can generate synthetic data by creating a 2D mesh, defining a DC resistivity survey geometry, building the forward simulation, and then computing predicted data for your synthetic subsurface model.

Do I need numpy and matplotlib to use SimPEG for inverse problems?

Yes, a Python environment with SimPEG, discretize, and numpy is required to build models and compute inversions, while matplotlib is needed for visualizing meshes and recovered subsurface properties.

What's the best way to handle mesh discretization for complex subsurface inversions?

For complex geometries, use TreeMesh from the discretize package to create adaptive octree meshes, which provide flexible discretization compared to standard TensorMesh grids for forward modeling.