用途
该技能提供地球物理数据反演的端到端流水线:从勘探数据加载,经网格创建、正演模拟、反演迭代,到结果网格化与三维可视化,最终恢复地下物性模型(如电阻率、密度、磁化率)。适合 ERT、磁法、重力、电磁法等方法的反演任务,以及通过合成正演-反演研究进行勘探设计。
主要能力
技能链为:SimPEG / pyGIMLi(网格 + 反演)→ verde(网格化插值)→ pyvista(三维可视化)。
- SimPEG 分支:支持 DC 电阻率 / ERT、磁法、重力、电磁法(TDEM、FDEM)、激发极化、联合反演(Wires maps);网格类型为 TensorMesh、TreeMesh、CurvilinearMesh;电极排列需手动设置,API 样板代码较多但更灵活。
- pyGIMLi 分支:支持 DC 电阻率 / ERT(API 更简单)、地震折射(SRT)、激发极化;内置 Wenner、Schlumberger 等电极排列;网格类型为三角形、四面体、结构化网格;联合反演能力有限,API 更少样板但更为固定。
选型经验:标准近地表 ERT/SRT 常规排列用 pyGIMLi;多物理场、电磁法、位场或研究级自定义反演用 SimPEG。
两个分支都会显式产出统一表示:cell_centers_xz_m(剖面距离,单位米)、resistivity_ohm_m(电阻率,单位欧姆米)和 model_vtk。X 为沿剖面的距离(米),Z 为高程(米,地表以下为负)。
使用方式
编排分三个阶段,每个分支给出完整代码示例:
- 阶段 1a(SimPEG DC 电阻率示例):构建 TensorMesh、偶极-偶极排列 survey、正演模拟生成合成数据并加噪、配置 L2 数据失配与正则化、用 InexactGaussNewton 优化器反演,最后将结果转换为 pyvista 的 RectilinearGrid。
- 阶段 1b(pyGIMLi ERT 示例):加载 ert_survey.dat(含 rhoa 与相对误差 err),校验并剔除无效数据,用 ERTManager 反演;模型属于 mgr.paraDomain,导出 VTK 后需将 pyGIMLi 的垂直坐标 Y 映射到 VTK 的 Z。
- 阶段 2(网格化与插值):两个分支共用统一坐标,使用 vd.get_region 与 vd.Spline 对 log10 电阻率插值栅格。该栅格是可选的平滑展示产品,不替代原始网格或新的反演结果。
- 阶段 3(可视化):导出为 .vtu,用 pyvista 的 Plotter 进行体积渲染、切片视图、叠加数据与导出网格。
技能还提供三类常见流程清单(标准 ERT 反演、重力或磁法反演、合成研究)以及常见问题排查表(不收敛、近地表假象、三维网格内存错误、负视电阻率、过拟合、模型过平滑、pyGIMLi 网格过粗等)。
适用场景
- 反演 ERT、磁法、重力或电磁法勘探数据以获取地下模型
- 通过合成正演-反演研究设计地球物理勘探方案
- 处理并可视化反演得到的物性模型
- 比较不同反演参数或方法的结果
若仅需创建网格或测点几何,单独使用 simpeg 或 pygimli;仅需对散点网格化,单独使用 verde;仅需可视化已有模型文件,单独使用 pyvista。
限制
资料中给出的短合成运行仅用于检查 API 与数据流,不代表勘探分辨率或野外模型可靠性;测试验证的是 API/数据流与几何关系,不验证野外数据收敛性、不确定性、勘探深度或交互式渲染器。以上代码与工具均为资料原文提供,未作改动;具体收费、平台授权等信息资料暂未提供。