地球物理学有什么常用软体?
来自大神Seisman的博客
https://blog.seisman.info/?blog.seisman.infoScientific Research Codes?link.seisman.info科研法规
数据请求工具
- SOD:最好的地震数据请求工具。| 教程(中文) | 菜谱
- ObsPy:用Python编写的数据下载,处理和可视化软体
- HinetPy:请求和处理用Python编写的Hi-net数据
- Web服务获取脚本:用Perl编写的数据请求脚本| 中文笔记
- IRIS DMC Web服务:用于请求地震数据的IRIS Web服务
- jweed:用Java编写的数据请求客户端
- BREQ_FAST:通过发送电子邮件请求地震数据| 中文笔记
- IRIS Wilber 3:一个Web GUI,可请求各个地震事件的波形数据| 中文笔记
- ROVER:一种命令行工具,可从数据中心可靠地检索地球物理时间序列数据
- StrongMotion提取:从各种网路下载和/或处理强运动数据
地震数据格式转换
- rdseed:将地震数据从SEED格式转换为其他常用格式(SAC等)| 中文笔记
- sac2mseed:将SAC格式转换为minniSEED格式
- mseed2sac:将miniSEED格式转换为SAC格式
- win32tools:将Hi-net使用的WIN32格式转换为SAC格式
- dataselect:选择和排序miniSEED格式的数据
- ObsPy:用Python编写的数据下载,处理和可视化软体
- msmod:修改miniSEED标头值的小程序
地震数据处理
- SAC:最常用的地震数据处理和绘图软体| 英文手册 | 中文手册
- ObsPy:用Python编写的数据下载,处理和可视化软体
- GISMO:用Matlab编写的数据下载,处理和可视化软体
- SeisIO.jl:用Julia编写的数据下载,处理和可视化软体
- CPS330:用于计算理论地震图,接收器功能,表面波频散的程序的集合curve等。
- Geopsy:一个用C ++编写的用于地球物理研究和应用的开源软体
绘图
- 通用映射工具(GMT):地球科学中最受欢迎的映射工具
- PyGMT:GMT的Python介面(仍在开发中)
- ObsPy:用Python编写的数据下载,处理和可视化软体
- JPlotResp:以RESP格式绘制仪器响应的幅度和相位。| 中文笔记
- MoPad:地震矩张量,震源机制的分析和可视化。| 中文笔记
- obspy-mopad:类似于由ObsPy提供的MoPad
- pssac:GMT4的 GMT样式SAC轨迹图 pssac笔记
- SeisTomoPy:可视化3D断层扫描模型并计算3D模型中的行程时间
- SubMachine:基于Web的工具,用于探索地震层析成像和地球深层内部的其他模型
- Tomoeye:用MatLab 6.1脚本编写的一套用于断层摄影模型可视化的程序
- 3D震源机制:三维查看地震震源机制符号
- EMC-ParaView:一组Python可编程过滤器/源,使ParaView开源,多平台数据分析和可视化应用程序可以显示EMC netCDF / GeoCSV模型以及其他辅助Earth数据。
- EMC可视化工具
行程时间计算/射线追踪
- TauP:计算行进时间,射线参数,射线路径,反射点,地震阶段的穿透点,支持自定义地球模型| 中文笔记
- obspy.taup:TauP,用Python重写
- Cake:用Python编写的Traveltime计算软体。
- ANISOtime:横向各向同性(TI)球对称模型的行程时间计算
- FM3D:使用快速行进法计算3D行驶时间
- pySeismicFMM:使用快速行进方法进行3D行驶时间计算,带有Python介面的C代码
- 具有方位各向异性的表面波射线追踪:具有方位各向异性的表面波射线追踪
- iaspei-tau旅行时间表包
- 亚瑟·史诺克(Arthur Snoke)的版本:适用于iasp91和AK135型号的Traveltime计算器| IASPEI | IRIS代码
- BLN Kennett和Ray Buland的版本:计算iasp91和AK135模型的行程时间和椭圆率校正| 一些修订来编译代码
- 乔治·海尔弗里奇(George Helffrich)的版本:适用于iasp91,AK135,PREM等的Traveltime计算器。
合成地震图
一维分层地球的射线理论
- aser:基于广义射线理论计算合成地震图
- 射线理论:射线理论在全球地球模型中计算合成地震图的方法
- CPS330中的广义射线:用于计算理论地震图,接收器功能,面波频散曲线等的程序的集合。
- CPS330中的渐近射线理论:用于计算理论地震图,接收函数,面波频散曲线等的程序的集合。
- Seisan中的WKBJ方法:GEUS的地震学
一维分层地球的反射率/波数积分
- fk:使用频率-波数方法在分层各向同性模型中计算合成地震图| 中文笔记
- QSEIS:基于分层的粘弹性半空间地球模型计算合成地震图
- 反射率法:使用反射率法计算层状均匀固体层对点矩张量源激发的响应
- CPS330中的波数积分方法:收集了计算理论地震图,接收器函数,面波频散曲线等程序。| 中文安装介绍和中文介绍
- 地震波的离散波数方法:GEUS的地震学
一维分层地球的模态求和方法
- CPS330中的模态求和:收集用于计算理论地震图,接收器功能,表面波频散曲线等的程序。| 中文安装介绍和中文介绍
一维分层球形地球的反射率/波数积分
- yaseis:使用频率-波数法在球形层各向同性模型中计算合成地震图
一维分层球形地球的法线模式求和
- Mineos:通过求和法向模来计算球形对称非旋转地球中的合成地震图
- 广义特征问题谱配置
- 普通模式:球面对称地球模型的基于普通模式的地震图计算
- QSSP:使用常模理论计算球形地球的完整合成地震图
- DISPER80:正常模式的计算,这是一个非常古老的fortran代码。您必须向进行表面波研究的人员提出要求。
直接解法
- DSM:使用直接求解法在球对称横向各向同性(TI)介质中计算合成地震图
- GEMINI:基于格林函数的直接评估,为整体球形对称介质计算合成地震图
- DGRFN:在径向分层模型上计算合成地震图
有限差分法
- SOFI2D:二维有限差分地震P-SV模拟
- SOFI2D_sh:二维有限差分地震SH波模拟
- SOFI3D:3D有限差分地震波模拟
- FD2D:非常简单的二维有限差分训练代码
- FD3S:球形截面中的3D有限差分地震波模拟
- FD1D
- 1DFD_DS:使用位移应力交错网格的一维有限差分地震模拟
- 1DFD_DVS:使用位移-速度-应力交错网格的一维有限差分地震模拟
- 1DFD_VS:使用速度应力交错网格的一维有限差分地震模拟
- 2DFD_DVS:计算由于线性双耦合源或线性单力或平面波入射而具有平面自由表面的二维异质结构中的地震波场
- FDSim3D:由于表面和近表面点双耦合源或垂直入射平面波,在具有平面自由表面的3D异质表面地质结构中计算地震波场。
- SEISMIC_CPML:2D / 3D有限差分地震波模拟+ CPML
- SW4:3D有限差分地震波模拟(4阶)
- OpenSWPC:2D / 3D有限差分地震波模拟
有限元方法
- 3DFE_GSM
- 3DFE_REF
伪谱方法
- Ps2D:使用伪谱傅里叶方法在二维中进行弹性波模拟的非常简单的代码
光谱元素方法
- SPECFEM1D:一个小代码,使用户可以学习如何编写光谱元素程序
- SPECFEM2D:使用频谱元素方法(球坐标系)模拟地震波在二维异质介质中的传播
- SPECFEM3D:使用频谱元素方法(笛卡尔坐标系)模拟3D异质介质中的地震波传播
- DSM-SEM和AxiSEM-SEM可以在
EXTERNAL_PACKAGES_coupled_with_SPECFEM3D
- FK不是外部代码,现在内部调用
- 可以在中找到
specfem3D/couple_with_injection.f90
- SPECFEM3D_GLOBE:使用频谱元素方法(球坐标系)模拟3D异质介质中的地震波传播
- SEM_DSM_hybrid:一种混合方法,可通过源侧(SEM)的3D地震构造和源区(DSM)的1D 构造有效地计算远震合成。
- RegSEM:使用频谱元素方法在区域规模上模拟地震波在3D异构介质中的传播。区域尺度是指大约1公里(局部尺度)到90度(大陆尺度)之间的距离。
- AxiSEM:一种并行频谱元素方法,用于解决3D波在具有轴对称或球对称粘弹性,声学各向异性的球体中的传播。
- 实例:AxiSEM的Python界面
- AxiSEM3D
- NEXD:节点间断Galerkin方法 1D | 2D | 3D
- 2DSPEC:用于波传播和破裂动力学的并行/串列二维频谱元素代码
- sem2dpack:用于二维波传播和地震破裂动力学的频谱元素包
间断Galerkin法
- SeisSol:用于地震波现象和地震动力学数值模拟的科学软体
3D结构中的表面波
- 手册:通过模式耦合方法对3D结构中表面波的传播进行建模
混合法
- PSV Hybrid:基于GRT-FD混合方法计算涉及二维局部异质结构的合成地震图。
地震检测
- REAL:快速地震协会和地点
- Match&Locate:小地震的模板检测和定位
- GPU-MatchLocate1.0:Match&Locate的GPU版本
- FastMatchedFilter:针对CPU和GPU架构的高效地震匹配滤波器搜索。
- EQcorrscan:一个用于检测和分析重复和近乎重复地震的python软体包
- REDPy:用Python编写的重复地震检测器
- FAST:通过有效的时间序列相似性搜索进行端到端地震检测管道
地震发生地点
- GrowClust:地震震源的相对重定位
- HypoDD:双差地震位置
- HypoRelocate:高解析度地震搬迁方法
- HYPOINVERSE2000:定位地震并确定本地或区域地震网路中的震级
- NonLinLoc:3D媒体中概率,非线性,全局搜索地震的位置。
- REAL:快速地震协会和地点
- Velest:速度和震源位置的一维反演
- 将此代码修改为在REAL中使用
焦点机制
- gCAP:使用剪切和粘贴方法进行震源机制反演 中文笔记
- CPS330:用于计算理论地震图,接收器功能,面波频散曲线等的程序的集合。
- W相:使用W相的矩张量反演
- focmec:用于根据极性和振幅比确定和显示双耦合地震震源机制的软体包
- 哈希:根据P波极性和S / P振幅比确定双耦合地震震源机制
- FPFIT:根据第一动作数据计算和绘制故障平面解
- ISOLA:基于多点源表示和迭代解卷积,从区域或局部波形中检索孤立的凹凸
- MTfit:贝叶斯矩张量拟合
- pyTDMT:时域焦点机制反演,用Python编写
- hybridMT:用于矩张量反演和优化的MATLAB软体包
- fociMT:用于地震矩张量反演的独立命令行应用程序,它是hybridMT软体包的组成部分
- FOCI:一个独立的Windows GUI应用程序,用于执行地震矩张量反演和震源参数评估
- RPGEN:来自剪切拉力源模型的P / S / SH / SV波的辐射
- MT_DECOMPOSITION:用于张量分解的Matlab软体包
- PCA-DECOMPOSITION:Matlab软体包,用于地震道的主成分分解,以提取公共小波
抗震性
- CLUSTER2000:识别地震目录中的星团(例如余震)
- ZMAP:用于分析地震活动性的软体包
强调
- 库仑3:研究映射断层和地震节点平面上的库仑应力变化
- SATSI:来自焦点机制的时空变化应力场
- MSATSI:用于应力张量反演的MATLAB软体包
- STRESSINVERSE:Matlab或Python软体包,用于迭代联合反演,以求得震源机制的应力和断层方向
体波层析成像
- Nick Rawlinson的软体
- FMTOMO:基于快速行进方法的3D 行程时间层析成像| FMTOMO在iEarth
- FMTT:基于快速行进方法的远震层析成像 FMTT在iEarth
- SIMUL2000:旅行时间断层扫描
面波行进时间层析成像
远震面波层析成像
- 姚华建的实验室
- Matlab中的表面波两站色散分析GUI软体(层析成像方法是什么?)
- ASWMS:自动化的表面波相速度测量系统,使用Eikonal和Helmhotza断层扫描在每个周期测量两站相延迟,然后测量2D相速度图
- 杨英杰的方法
环境杂讯表面波层析成像
测量旅行时间延迟
- CU-Boulder的研究产品
- ancc:环境杂讯数据处理代码和要处理的资料库:可以从CU中以C语言获得
- AFTAN:在C和Fortran中自动进行频率-时间分析
- 姚华建的实验室
- Matlab中每日长SAC格式数据的环境杂讯互相关码
- Matalb中用于环境杂讯互相关功能的色散分析GUI软体
- NoisePy:用Python编写的快速便捷的环境杂讯互相关函数计算,带有杂讯监控和表面波频散分析
- SeisNoise:Julia中快速便捷的环境杂讯互相关,具有杂讯监控和表面波色散分析
反相相/组速度图
- tomo_sp_cu_s:基于射线理论的表面波层析成像 CU-Boulder的研究产品
- FMST:基于快速行进方法的二维球形壳坐标中的行进时间层析成像代码 iEarth的FMST
- rj-TOMO:基于可逆跳跃马尔可夫链蒙特卡罗演算法的二维多维行进时间层析成像
一站式表面波行进时间层析成像
- DSurfTomo:基于Fortran中基于周期的光线跟踪,从色散数据直接反转3-D Vs结构
- 3D Monte Carlo直接反演:使用体波和面波数据的3D Monte Carlo层析成像
面波色散计算
- CPS330:用于计算理论地震图,接收器功能,面波频散曲线等的程序的集合。| 中文安装介绍和中文介绍
- Geopsy:一个用C ++编写的用于地球物理研究和应用的开源软体
- senskernel:计算组速度和相速度的敏感度
- Vphase:用于计算相速度色散曲线的训练代码
杂讯HVSR
- Geopsy:一个用C ++编写的用于地球物理研究和应用的开源软体
- IRIS HVSR:一组使用IRIS的MUSTANG PDF-PSD Web服务计算和绘制HVSR曲线的Python脚本| IRIS网站
- H / V工具箱:用于计算表面波HVSR的工具箱
- HV-Inv:HVSR和SW色散的反转
- OpenHVSR:用Matlab编写的HVSR的度量和反演
- HV-TEST:根据SESAME标准验证H / V峰的可靠性和清晰度的工具
- HVResPy:用于Geopsy HVSR后处理的开源Python工具
环境杂讯反演
- MSNoise:使用环境地震杂讯监控地震速度变化的Python软体包
- 地震杂讯层析成像:地震杂讯层析成像的Python框架
接收器功能
合成射频
- hk:接收器功能包(合成RF,解卷积和Hk堆栈)| 中文笔记
- RAYSUM:倾斜各向异性结构中远震波的射线理论建模
- CPS330:用于计算理论地震图,接收器功能,面波频散曲线等的程序的集合。| 中文安装介绍和中文介绍
- 射频软体:假设反射波从下方入射,通过反射率演算法,计算各向同性半空间上各向异性层堆叠的接收器功能。手册 | JParkCodes的一些更新
- RFtool:一种基于GUI的互动式工具,可模拟P或S接收器功能
- PSV Hybrid RF:基于PSV Hybrid方法(GRT-FD)在二维局部异质结构中计算合成RF。
射频测量和反演
- hk:接收器功能包(解卷积和香港堆叠)| 中文笔记
- 射频软体:假设反射波从下方入射,通过反射率演算法,计算各向同性半空间上各向异性层堆叠的接收器功能。手册 | JParkCodes的一些更新
- CCP:接收器功能的公共转换点(CCP)堆栈| 中国笔记
- rj-RF:使用可逆跳跃马尔可夫链蒙特卡罗演算法对接收器函数进行求逆
- IRFFM:一种互动式Java程序,用于对地震接收器功能和面波频散进行联合互动式正向建模
- CrazySeismic:基于MATLAB GUI的软体包,用于处理单通道地震数据(拾取,McC,PCA,解卷积)
- FuncLab:基于Matlab的GUI,用于处理接收器功能(链接有效)修订后的FuncLab
- processRFmatlab:matlab函数和用于接收函数的脚本
- rf:用Python编写的地震学中的接收函数计算
- SplitRFLab:Matlab工具箱,用于处理接收器功能和从Splitlab和processRFmatlab修改而来的剪切波分裂
- 一些用于射频分析的组代码:Ammon和Cheng的代码
地震数据联合反演
- LitMod_seis:联合反演代码,用于使用马尔可夫链蒙特卡罗方法对Vs和各向异性数据(瑞利和洛夫相位和/或群速度,椭圆率(Z / H比)和接收器函数)进行反演。(即将发布)
- 姚华江的实验室:使用(多模,瑞利和/或洛夫,相位和/或)色散数据和瑞利波基本模式ZH数据(椭圆率)基于Fortran中的邻域演算法对Vs,Vp / Vs和界面深度进行反演
地球物理数据的多观测模型
- LitMod:地球物理数据的多观测模型
- LitMod_2D:一种互动式软体,可以对地球和/或其他陆地行星的2D整个岩石圈结构进行地球物理数据的多观测建模
- LitMod_T:LitMod_2D的「瞬态」等效项
- LitMod_3D:3D版本LitMod | Github代码
- LitMod_4INV:在球形坐标中的完全非线性概率反演代码,用于岩石圈和上地幔的成分和热结构,同时反演重力梯度,重力异常,大地水准面高度,地表热流,大地电磁数据,接收器函数,地表波数据,绝对高程(包括静态和动态影响)和体波数据以及岩石学信息。
全波形反演
- TOY2DAC:二维声频域全波形建模和反演代码
- ASKI:用于灵敏度分析和迭代全波形反演的模块化程序套件
- FWI.jl:Julia中的2D / 3D声学FWI
- IFOS2D:2D弹性全波形反演
- IFOS3D:3D弹性全波形反演
- DENISE-SH:2D SH波全波形建模和反演
- DENISE:2D PSV波全波形建模和反演
- GERMAINE:二维声频域全波形建模和反演代码。
- SAVA:3D地震建模,FWI和RTM代码,用于在各向同性(粘性)声学/弹性和各向异性斜方/三斜弹性介质中进行波传播
- SES3D:球形截面中弹性波传播和波形反演的模拟
- LASIF:大规模全波形反演的框架
- seisDD:双差伴随地震层析成像
- Salvus:完整波形建模和反演
剪切波分裂
- SplitLab:剪切波双折射分析代码,用Matlab编写| 更新版本
- MFAST:用Fortran编写的多重过滤器自动拆分技术
- 多重分裂:剪切波双折射分析代码
- SHEBA:剪切波双折射分析代码
- SplitRacer:用Matlab编写的剪切波分裂分析
相选
- 自适应叠加:自适应叠加可估算地震台站网路上的走时残差模式| iEarth的自适应堆叠
- AIMBAT:一种用于测量地震到达时间的Python / Matplotlib工具
- CrazySeismic:基于MATLAB GUI的软体包,用于处理单通道地震数据(拾取,McC,PCA,解卷积)
- CrazyTremor:基于MATLAB GUI的软体包,用于显示和选择多通道地震数据
- mccc:通过多通道互相关确定地震图的最佳相对延迟时间
- PhasePApy:用Python编写的地震相拾取器和关联器
- P相选择器:检测用Java和Matlab编写的P相开始
单站信号分析
- 站分析工具:一组用于计算功率谱密度,相干性,概率密度函数的c常式,以及一些其他工具,用于监视站的运行状况。虹膜代码站点
- MUSTANG:IRIS DMC的质量保证系统可提供与地震数据质量有关的指标| 讲解
- PQLX:用于评估地震台性能和数据质量的开源软体系统
- IRIS DMC杂讯工具包产品
- 噪音工具包
- PDF-PSD:计算波形数据的功率谱密度(PSD)
- 微震能量:根据PSD执行微震能量计算
- 极化属性:执行地震图的频率相关极化分析
- Est_noise:分析时间序列数据以量化时间相关性,同时估计速率,偏移量和其他功能依赖性。
- 时频分析
- TF-SIGNAL:使用七个时频分析替代方法中的一种或多种,??对时间信号的时频表示进行计算和可视化
- BCseis:MatLab GUI和一组内联函数,用于使用连续小波变换执行各种非线性阈值运算
阵列地震学
- ObsPy:用Python编写的数据下载,处理和可视化软体
- Geopsy:一个用C ++编写的用于地球物理研究和应用的开源软体
地震数据数字化和校正
- CWPAR:削波波形拾取和恢复
- DigitSeis:用Matlab编写的模拟地震图数字化软体
源频谱
- 多锥频谱估计库
地球内部
- PKPprecursor:使用PKP前驱体开始将地震散射体定位在下地幔中
构造学
- GPlates:用于互动式显示板块构造的桌面软体
Geodecy
- 2D重力建模和反演:一个非常简单的matlab代码,用于说明重力建模和反演的基础
地球动力学
- CitcomS:解决与地幔有关的可压缩热化学对流问题。
地球物理学
- distaz:用于计算地球表面任意两个点的距离,方位角和后方位角的经典代码| 中文笔记
- AFAT:求解Christoffel方程:相速度和群速度
信号分析
- SEC_C:高效互相关
Z / H比
- HtoV-Toolbox:计算H / V比
热力学建模
- Perple_X:计算和显示相图,相平衡和热力学数据。| 说明文件 | 热力学数据文件 | 辞汇表
- 热压
- BurnMan:用于地球和行星科学的热力学和地球物理学工具包
数学库
- SHTOOLS:球形谐波工具
- Shansyn:球谐分析与合成
- SEISCOPE TOOLBOX:Seiscope优化工具箱
- 参数估计和反问题示例代码和相关子常式:反向和参数估计代码的汇编,与第二版教科书「参数估计和反问题」一起提供
- 计算几何演算法库
- Fortran中的延迟拒绝自适应大都会(DRAM):Fortran中有关DRAM方法的简单教学代码
- rj-MCMC:提供用于运行一维和二维空间回归问题的可逆跳转蒙特卡洛马尔科夫链的常式的库
- Malcolm Sambridge的软体
- 邻域演算法 | iEarth的邻域演算法
- 自然邻居
地震图书馆
- 威廉·门克的密码
- libmseed:一个miniSEED库,提供用于处理SEED数据记录的框架
Matlab库
- CREWES Matlab工具箱
其他图书馆
- 免费的英特尔?软体开发工具 | 中文介绍和如何卸载
- 教育家 | 开源贡献者 | 学生
软体中心
- 虹膜识别码
- CIG软体
- USGS软体 | 旧网站
- SPICE软体
- QUEST软体
- NuQuake软体
- 地球
- 地震与数学地球物理研究小组软体(澳大利亚国立大学)
- USC软体
- ETH地震学和地球动力学
- GPIAG软体
- GFZ软体
- EarthByte软体
说说地震学我知道的一些。常见的这些没什么特别,可能搞计算的都在用:
- Matlab(无视数据格式,GUI下处理小问题、画画简单的图,或者预处理还OK,完全不适合伺服器端运行)
- Fortran 77/9X MPI:祖传HPC计算
- C/C++
- Bash Makefile Perl
- Python:现在GitHub上一众开源项目都是这玩意
软体包 数据格式:
- GMT:绘图库,参见GMT: A toolbox for Earth, Ocean, and Planetary Science
- SPECFEM 2D/3D/3D_GLOBE:一帮大佬用Fortran2003和C写的Unix下的地震正演软体,结合CUBIT/GMSH建模网格化计算。编译和使用要会一点点Unix/MPI或Cuda/Makefile;
- SeisFlows:一站式解决波形反演文件非线性优化与IO。新项目,省时省力不省心,还需要不少投入,但根据issue回答来看原作已经毕业退坑= =,参见:rmodrak/seisflows
- ObsPy:处理地震数据的Python包:https://github.com/obspy/obspy/ 数据获取、处理、输出成图可视化一条龙服务,十分推荐。