pyParkO:一种基于Python实现的Parker–Oldenburg方法,用于从重力异常数据反演海底地形

《Computers & Geosciences》:pyParkO: A Python implementation of the Parker–Oldenburg method for seafloor topography inversion from gravity anomalies

【字体: 时间:2026年03月02日 来源:Computers & Geosciences 4.4

编辑推荐:

  提出基于Parker–Oldenburg方法的Python工具pyParkO,支持常数和变密度对比,集成可视化模块,通过模拟和西太平洋实际数据验证其反演海底地形精度,解决MATLAB工具依赖及代码复杂问题。

  
赵超|华璐婷|曾家豪|刘晓辉
江西财经大学金融与经济数据科学重点实验室,中国江西省南昌市330013

摘要

绘制海底地形图是海洋探索中的基本任务。Parker–Oldenburg方法因其计算速度快和构建复杂地形的灵活性而被广泛研究。然而,由于缺乏有效的实现工具包,其应用范围受到了限制。目前唯一的实现是用MATLAB编写的,而MATLAB是商业软件,具有过程化语言的特点。为此,我们推出了pyParkO,这是一个基于Parker–Oldenburg方法的Python实现,并增加了用于从重力异常反演海底地形的变密度扩展功能。该软件包含三个主要模块:Interface2GravityGravity2Interface和可视化工具。用户可以通过配置参数来调整密度对比度(恒定或变化)。为了确保反演过程的收敛性,我们引入了一个基于先前余弦滤波器方法的可调低通滤波器。我们通过在西太平洋地区使用Crust 1.0模型进行的模拟和实际实验,证明了pyParkO的有效性,并将两种密度版本的实验结果与MATLAB程序的结果进行了比较。此外,我们还对关键参数进行了敏感性分析,以便进行微调以获得最佳结果。模拟结果证实了pyParkO在准确恢复海底地形方面的有效性。

引言

从重力数据中确定密度界面是地球物理研究中的基本挑战,包括海底地形绘制(Kim和Yun,2018)、莫霍不连续面的表征(Xia和Sprowl,1995;Cook等人,2010;Teng等人,2013)以及沉积盆地的估计(Pham等人,2020)。为了应对这一挑战,人们在频率域和空间域开发了许多从重力数据反演的技术(Parker,1973;Green,1975;Boulanger和Chouteau,2001;Nabighian等人,2005;Mehanee,2014),因为随着卫星测高技术的进步,高分辨率的全球重力数据变得越来越容易获取,从而可以从重力异常中更详细地反演海底地形。
例如,Oldenburg(1974)通过改进Parker(1973)推导出的公式,引入了一种迭代算法。为了纪念这两项开创性工作,该方法在文献中通常被称为Parker–Oldenburg方法。由于其能够在频率域内模拟重力异常与密度界面之间的非线性关系,该方法得到了广泛研究(Reamer和Ferguson,1989;Nagendra等人,1996;Zhang等人,2015;Chen和Tenzer,2020)。Smith和Sandwell(1994)进一步利用Parker–Oldenburg方法推导出了一阶线性关系,并开发了相应的海底地形反演滤波器,即S&S方法。此外,在空间域,Kim等人(2011)应用了重力地质方法(GGM),该方法结合了布格公式和船载测深数据来进行受限反演。得益于地质结构信息,GGM在浅水区可以实现高预测精度,但由于依赖于船载测深数据(Sun等人,2021)和需要插值操作,其计算负担较重。随着多种海底测绘方法的发展——包括频率域(例如Parker–Oldenburg、S&S)和空间域(例如GGM)技术——已经创建了多个数字测深模型。最近,随着人工智能的进步,出现了一系列利用深度学习技术(例如DNN、CNN)进行测深预测的研究(Liu等人,2018;Annan和Wan,2022;Yang等人,2023;Li等人,2023;Annan和Wan,2024),有效地表征了海底地形与重力异常之间的非线性关系(Annan和Wan,2022;Harper和Sandwell,2024;Zhao等人,2025)。许多研究致力于将传统方法(例如GGM、S&S)与深度学习方法(例如DNN、CNN)相结合,以提高海底地形反演的精度和分辨率(Yang等人,2023;Li等人,2023;Chen等人,2024;Zhang等人,2024a)。
一个显著的例子是由斯克里普斯海洋研究所(SIO)使用S&S方法制作的一系列不断改进的地形产品和高分辨率(15弧秒)SRTM15+模型网格(Marks等人,2010;Tozer等人,2019;Zhu等人,2025)。SRTM15+模型为GEBCO产品奠定了基础,该产品结合了直接基于船舶的测深数据与从重力数据得出的深度估计(Weatherall等人,2024)。最近,一些方法利用了深度学习;例如SDUST2023BCO模型使用多源重力数据训练多层感知器(Zhou等人,2024)。
其中,Parker–Oldenburg方法源自势场迭代原理,在重力效应估计和三维密度界面建模方面具有更高的物理意义(Parker,1973;Oldenburg,1974;Wu和Lin,2017)。因此,大量研究利用Parker–Oldenburg方法进行了以下工作:(a) 莫霍深度估计。确定海洋和大陆下的地壳-地幔边界的几何形状(Yu等人,2024;Zhang等人,2024b;Yu等人,2025);(b) 测深预测。通过导纳函数分析改进海底地形模型(Luis和Neves,2006;Ouyang等人,2015;Fan等人,2018);(c) 非线性建模。使用Parker级数的高阶项表征重力与地形之间的复杂关系(Fan等人,2020;Sun等人,2023)。对Parker–Oldenburg方法进行了多项改进,包括参考深度确定的改进(Zhao等人,2020),以及更复杂的密度对比函数的开发(Guspi,1992;Shi等人,2015;Zhang等人,2020)。特别是,相关研究将密度对比参数扩展为包括垂直指数变化的密度函数,用于Parker–Oldenburg方法(Chappell和Kusznir,2008;Zhang等人,2019;Zhang等人,2020;Rao等人,2023;Sun等人,2023),因为重力观测数据表明密度随深度垂直变化(Granser,1987;Chai和Hinze,1988;Xia和Sprowl,1995;Hassan等人,2021;Feng等人,2021)。
除了这些计算算法外,开发高效的实现对于它们在实际应用中的普及非常重要。虽然文献中存在许多实现(Gómez-Ortiz和Agarwal,2005;Shin等人,2006;Pham等人,2021;Zhang等人,2015),但它们的特性和可用性差异很大。一个被广泛认可的经典实现是Gómez-Ortiz和Agarwal(2005)的MATLAB包。然而,这个实现基于波数域的Parker–Oldenburg算法,采用过程化风格编写,严重依赖于嵌套循环(例如,向下延续需要10层循环)。这种结构要求用户理解整个代码库的低级逻辑,以便根据特定的反演需求进行适应,这与现代软件包的模块化和用户友好设计不一致,限制了该方法的普及(Gómez-Ortiz和Agarwal,2005;Shin等人,2006;Pham等人,2021;Zhang等人,2015)。此外,与MATLAB相关的工具箱和功能模块通常不公开可用。显然,缺乏用一些开源、用户友好的编程语言编写的包。为了解决这个问题,我们推出了一个名为pyParkO的高效Python包,它结合了恒定和变化密度对比模型,用于基于重力异常的反演海底地形。该包允许通过配置参数灵活调整密度对比度。它包括用于重力异常计算和密度界面反演的工具,从而实现高效便捷的地球物理分析和可视化。
值得一提的是,使用Python的动机在于:Python具有出色的可扩展性,并且可以轻松与许多机器学习库和深度学习框架集成。这种集成提供了更多提高精度的机会,使我们的包成为结合这些先进方法的理想基础。我们注意到,在一些最新的文献中,也应用了机器学习方法来处理重力反演任务,包括局部神经网络算法(Liu等人,2018)、卷积神经网络(Annan和Wan,2022)和全连接深度神经网络(Yang等人,2023);另见Vojinovic等人,2013;Misra等人,2018;Kim等人,2023;Fan和El Rhadiouini(2024)。由于许多著名的机器学习和深度学习技术都是用Python编写的,因此对支持传统物理方法和开源、用户友好开发的Python工具的需求日益增长。
本研究的贡献如下:(a) 我们介绍了一个名为pyParkO的Python包,使用Parker–Oldenburg方法从重力异常中恢复海底地形。该包在模拟研究中表现出良好的精度,平均绝对误差仅为几米。(b) 我们提供了一个基于余弦滤波器的可调参数滤波器。该滤波器可以根据不同的海底地形调整反演过程,从而丰富了可用于重力反演任务的带通滤波器。(c) 开发的Python包便于选择和调整Parker–Oldenburg方法的参数,适应恒定和变化密度对比模型。这种适应性使pyParkO成为在不同地区反演海底地形的强大工具,证实了在我们的参数设置下,该包可以取得有希望的结果。

部分代码片段

方法和技术

pyParkO包的结构

我们在Python中实现了Parker–Oldenburg方法,并将所有程序封装在一个名为pyParkO的包中。该包支持Parker–Oldenburg方法的恒定和变化密度对比,每种对比都具备正向和反向建模功能。该包包含两个功能类:Interface2GravityGravity2Interface。这些类利用scipy.fftpack库高效计算二维快速傅里叶变换fft2ifft2

模拟

这项实验专门设计用于在理想条件下测试Parker–Oldenburg算法的数值解能力(即模型求解性能)。为此,我们使用了从Parker正向公式生成的合成重力数据,而不是观测数据。这种方法将算法的核心性能与实际世界的干扰因素(如测量噪声和地壳效应)隔离开来。

实际实验

本节使用实际数据评估了pyParkO在正向和反向建模方面的性能。研究重点关注西太平洋的3°×3°162.4°165.4°E,24.5°27.5区域,该区域被选为重力异常的正向建模和海底地形的反向恢复。

结论

我们介绍了一个名为pyParkO的Python包,其中包含了用于计算重力异常和反演密度界面的正向和反向建模程序。这是通过结合Crust 1.0模型的先前数据来实现的,该模型提供了关于恒定或变化密度对比和参考深度的信息。正向建模程序Interface2Gravity是一个功能类,旨在从已知的地质数据生成重力异常。

CRediT作者贡献声明

赵超:撰写——审阅与编辑、验证、方法论。华璐婷:撰写——初稿、形式分析。曾家豪:可视化、软件、数据管理。刘晓辉:撰写——审阅与编辑、验证、方法论。

代码可用性

pyParkO
程序语言:Python
程序大小:8.0kB
源代码可在以下链接下载:https://github.com/Eurrreka/pyParkO
Python包索引(PyPI)可在以下链接下载:https://pypi.org/project/pyParkO/

利益冲突声明

作者声明他们没有已知的财务利益或个人关系可能影响本文所述的工作。

致谢

我们感谢陈松溪教授在本研究中的指导。这项工作得到了国家自然科学基金(项目编号92358303)和中国教育部的人文学科和社会科学基金(项目编号25YJCZH242)的支持。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号