尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

开源地震数据分析的 10 件工具:一条完整流水线怎么搭

开源地震数据分析的 10 件工具:一条完整流水线怎么搭 开源地震数据分析的 10 件工具一条完整流水线怎么搭【免费下载链接】awesome-open-geoscienceCurated from repositories that make our lives as geoscientists, hackers and data wranglers easier or just more awesome项目地址: https://gitcode.com/gh_mirrors/aw/awesome-open-geoscience外业队发回一块硬盘200 多 GB 的 SEG-Y、一堆台站元数据和一句下周三要初稿。你真正要回答的不是什么是地震数据而是读文件走哪条路、波形怎么清、模型怎么反、TB 级的东西往哪儿放、最后给解释组的交付物长什么样。下面这份清单来自社区维护的开源地球科学项目 awesome-open-geoscience它把开源地震数据分析工具按数据类型分章整理。这里不按分类标签讲而是按一条数据流水线的顺序把 10 个工具放到各自该站的位置。拿到波形之后先做什么接入、清洗与事件初拾 ObsPy地震波形处理的 Python 标准库ObsPy 是 Python 生态里事实上的地震波形处理库读 SEED、SAC、miniSEED 等常见格式内置滤波、去趋势、STA/LTA 拾取等算子一个 Trace 对象就能把单道波形带到任何后续分析里。它的覆盖面决定了地位——不管你的数据是台网回放的连续流还是单炮记录Python 里做地震波形 Python 处理的起点基本都是它。代价是它面向记录而非体积TB 级的三维数据体交给它读会明显吃力I/O 重的活儿留给后文的 Segyio。SeisComp台站网络的自动化平台如果说 ObsPy 是脚本和 notebook 里的标准库SeisComp 就是网络级的自动化平台数据采集、入库、再分发自动检测、定位与目录发布一站托管。它的体量决定了用法——你不需要在笔记本上装一个 SeisComp但当课题需要自运维的台网、或要给多方推送实时波形时它是现成的生产方案。单机实验用它就杀鸡用牛刀了。Pyrocko面向地震学流程的波形工具箱Pyrocko 和 ObsPy 有重叠但它的重心不同事件检测、台站关联、重定位、目录管理这些地震学流程被拆成了可组合的模块处理连续波形数据时比自己基于 ObsPy 拼一套流程省事。简单说ObsPy 管把波形读进来、洗干净Pyrocko 管从波形里把事件找出来、排好序。选型提示单机数据、Python 为主从 ObsPy 起步要自运维台网选 SeisComp事件检测与重定位流程重直接看 Pyrocko。如何从波形推进到地下模型正演、反演与建模 ⛰️modelr最快的开源地震正演模拟入口任何反演之前都值得先做一版正演确认这个模型该产生什么样的数据。modelr 用 Python 加网页端做合成地震正演层状介质、子波、AVO 响应参数拖一拖就出结果不需要装任何物理引擎。它的定位是快——教学、参数敏感性、跟学生解释为什么这个反射是负的这类场景。要解波动方程、要真实速度模型的正演它替代不了 SimPEG 这类数值框架。PyFWI全波形反演的开源实现PyFWI 用 Python 接口加 C 后端做全波形反演开源实现支持 2D/3D 声波与弹性波也支持 time-lapse 工作流核心是伴随状态法求梯度计算可落到 GPU 上。全波形反演对初始模型敏感工程上常见的做法是先用模型速度层做低频反演再逐次提频——这套流程它都覆盖。如果你的目标是把成像分辨率推到常规层析成像做不到的程度它是这条路上少数维护中的开源选项。SimPEG多物理方法的统一正演与反演框架SimPEG 的野心更大用有限元/有限差分做正演覆盖电磁、地震、重力等物理方法再把反演器挂在正演算子上。一个框架里换方法而不换代码这是它和单方法工具最大的区别。地震场景下它适合做声波/弹性正演和重定位相关的反演如果你的课题同时牵涉电磁法和地震法联合反演选它基本没有悬念。PyLops把 AVO 反演写成线性算子PyLops 提供的是算子层的地震数据处理能力叠前/叠后 AVO 反演、反褶积、Radon 滤波这类模块全部以线性算子的形式暴露天然适配稀疏约束和 GPU 加速。它和 PyFWI 的分工很清楚——PyFWI 在波形域做全波形反演PyLops 在属性域做 AVO 反演和滤波两者常出现在同一个项目里。选型提示先正演再反演。教学与快速验证用 modelr追求分辨率上限上 PyFWI跨方法联合反演用 SimPEGAVO 反演与滤波类处理挂 PyLops。如何把 TB 级 SEGY 读得快、压得小 ️SegyioSEGY 文件处理的 C 级 I/O数据量上去之后I/O 会成为整条流水线的瓶颈。Segyio 用 C 实现底层、暴露 Python 和 Matlab 接口读三维数据体的速度比纯 Python 方案快一个量级以上header 与 trace 都可以按列式访问。ObsPy 的 I/O 层做单道、做小数据没问题TB 级的体积就别让它上。SeismicZFP地震数据压缩归档的 SGZ 方案静态归档是另一个问题。SeismicZFP 把 SEG-Y/ZGY 转成有损的 SGZ 格式典型压缩比 10:1 量级、误差远低于解释精度需求而且能从压缩体里直接抽任意子体不用解整个文件。它的角色是归档与传输数据交接给合作方之前先压一轮带宽和存储费都省下来了。MDIO基于 Zarr 的云原生地震数据存储MDIO 走的是云原生路线Zarr 格式的地震数据压缩分块直接落在对象存储上支持局部读取和多客户端并发访问。它和 SeismicZFP 的区别在访问模式——SGZ 面向整块归档、偶尔抽子体MDIO 面向长期留在云上、被多个作业反复局部读。数据主要待在本地或私有集群选前者团队已经上云选后者。选型提示本地高吞吐 I/O 用 Segyio归档传输上 SeismicZFP云上分块访问用 MDIO。三者不冲突常按阶段组合。如何把分析结果变成可交付、可复现的结论 XTgeo给解释组交付的几何与属性数据分析跑完结果要离开你的笔记本。XTgeo 管的是结构化数据这一侧网格、井轨迹、多边形、属性场能读写行业通用格式方便和解释端、地质建模端交换。它和下面这个工具的分工是XTgeo 交付数据OpenGeoPlotter 交付图。OpenGeoPlotter井旁剖面与报告出图OpenGeoPlotter 从井数据直接生成条带图、井旁剖面、钻探柱状图风格面向报告和论文。解释组要的不是一个 pickle 文件而是能贴进报告的剖面图——这一步用它出图比手动拼 matplotlib 省得明显。选型提示交付物是结构化数据选 XTgeo交付物是图和报告选 OpenGeoPlotter。两件事都跑不掉时两个都装。怎么把这条流水线跑起来三步上手 先拿项目本身。整个工具地图的源头git clone https://gitcode.com/gh_mirrors/aw/awesome-open-geoscience打开 README.md定位 Seismic and Seismology 章节工具按数据类型分章I/O 与建模类工具分别在 Simulation and Modelling 等相邻章节顺一遍目录比通读正文更快。按本文顺序装第一个工具——大多数课题组从 ObsPy 开始跑通读入一个 SEG-Y、滤一下、出一张图再决定下一环上谁。补充两个入口工具本身缺失、失效或想推荐新工具走仓库里的 contributing.md 提 issue 或 PR日常问答可以直接进项目 Slack 社区的 Software Underground 频道。选型提示别一次装全。按接入 → 建模 → 存储 → 交付的顺序每解决一环再装下一环。下一步先 clone 仓库打开 README.md 的 Seismic 章节从 ObsPy 跑通第一个 SEG-Y 读入与滤波流程再回来对照这条流水线决定下一环。【免费下载链接】awesome-open-geoscienceCurated from repositories that make our lives as geoscientists, hackers and data wranglers easier or just more awesome项目地址: https://gitcode.com/gh_mirrors/aw/awesome-open-geoscience创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表