Python标准磁大地测量数据处理工具包。
项目描述
MTpy-v2: 磁大地测量 (MT) 数据处理的Python工具箱
版本 2.0.10
描述
mtpy
提供处理磁大地测量 (MT) 数据的工具。MTpy-v2 是 mtpy 的更新版本。内部许多事情都发生了变化,与 mtpy v1 的使用方式不同。主要区别在于有一个中心数据类型可以存储传输函数,然后可以读取/写入您的建模程序,绘制和分析数据。您不再需要目录中的 EDI 文件,每次您想要做某事时都需要读取它们。您只需构建一个项目一次,并将其保存到 MTH5 文件中,就可以开始了。所有元数据都使用 mt-metadata。
安装
使用 Pip
> pip install mtpy-v2
使用 conda
> conda install -c conda-forge mtpy-v2
Pardiso 解算器
mtpy-v2
现在包含了一些使用 simpeg
进行建模和反演的工具。如果您想使用 Pardiso 解算器,您需要单独安装它。有关更多信息,请参阅 https://github.com/simpeg/pydiso。以下是他们的推荐片段。
从源代码安装
包装器是用 cython 编写的,并动态链接到 mkl 库。因此,它需要找到与 MKL 安装相关的必要头文件以进行编译。meson 构建后端使用 pkg-config 识别 mkl 头文件和库动态库的位置。大多数 MKL 的开发安装应该提供必要的 pkg-config 文件。例如,conda 用户可以使用默认通道、conda-forge 通道、intel 通道或其他通道上的 mkl-devel
软件包安装必要的配置信息,例如:
conda install mkl-devel
如果您已将配置文件安装到非标准位置,则需要将 PKG_CONFIG_PATH
设置为指向该位置。
在获得必要的 MKL 文件后,您应该可以通过在安装目录中运行以下命令来安装:
pip install .
来完成。
功能
- 使用 mt-metadata 读取/写入传输函数文件(EDI、EMTFXML、J-file、Z-file、AVG-file)
- 读取/写入单个文件中的完整调查/项目的 MTH5 文件
- GIS 的实用函数
绘图
- 单个传输函数
- 视电阻率和相位
- 感应矢量
- 相位张量
- 走向
- 研究深度
- 传输函数调查
- 站点地图
- 相位张量和感应矢量地图以及伪断面
- 视电阻率和相位地图以及伪断面
- 研究深度地图
处理
- 读取/写入用于时间序列处理的文件
- BIRRP
- Aurora
建模
- 读取/写入建模程序的文件
- ModEM
- Occam 1D 和 2D
- Mare2DEM (?)
- Pek 1D 和 2D
版本 2 中更新的内容
mtpy-v2
中的主要更新如下
- 移除对 EDI 文件的依赖,可以是任何类型的传输函数文件
- 支持(或将支持)从/到
- EDI(最常见格式)
- ZMM(Egberts EMTF 输出)
- JFILE(BIRRP 输出)
- EMTFXML(Kelbert 的格式)
- AVG(Zonge 输出)
- 支持(或将支持)从/到
- 使用 mt-metadata 读取和写入传输函数文件,其中传输函数数据存储在 xarray
- 通过引入
MTCollection
和MTData
对象,使工作流程更加集中,这些对象是存储传输函数集合并对其进行操作的数据库- 包括绘图方法、建模的数据文件类型、旋转、插值、静态位移等
- 可以使用 mth5 存储集合
快速示例
通常 MT 数据作为调查收集,每个站点产生单个传输函数。这些以各种格式提供,如 EDI、EMTF XML 等。
mtpy-v2 的一项好处是只需执行一次即可读取所有这些,并将它们放置在单个 MTH5 文件中。
from pathlib import Path
from mtpy import MTCollection
transfer_function_path = Path("/home/survey_00/transfer_functions")
# write directly to an MTH5 file and close when finished loading TFs
with MTCollection() as mc:
mc.open_collection(transfer_function_path.joinpath("tf_collection.h5"))
mc.add_tf(
mc.make_file_list(
transfer_function_path,
file_types=["edi", "xml", "j", "zmm", "zss", "avg"],
)
)
现在,当您再次访问数据时,只需打开一个文件即可。
mc = MTCollection()
mc.open_collection(r"/home/survey_00/transfer_functions/tf_collection.h5")
# plot station locations
station_locations = mc.plot_stations()
如何引用
如果您在科学出版物中使用此软件,我们将非常感谢您引用以下论文:
-
Kirkby, A.L.,Zhang, F.,Peacock, J.,Hassan, R.,Duan, J.,2019. MTPy软件包用于磁大地测量数据处理和可视化。开源软件杂志,4(37),1358。 https://doi.org/10.21105/joss.01358
-
Krieger, L.,Peacock, J.,2014. MTpy:磁大地测量Python工具箱。计算机与地质学,72,p167-175。 https://doi.org/10.1016/j.cageo.2014.07.013
联系人
| Jared Peacock | peacock.jared@gmail.com
| Alison Kirkby | alkirkby@gmail.com
系统需求
- Python 3.8+
许可证
MTpy采用MIT许可证
许可协议包含在存储库中,应与代码一起保留。
历史
2.0.0 (2022-10-20)
- 内部进行了重大更改。
- 现在使用
mt_metadata
来读取/写入传输函数文件 - 现在使用
mth5
来存储传输函数 - 引入了
MT
、MTCollection
和MTData
,以便操作更加集中。现在大多数方法都可以从MT
和MTData
调用 - 删除了旧模块和特定于组的模块
- 添加GitActions进行测试
- 更新测试(仍有大量工作要做)
- 更新文档以上传到ReadTheDocs
- 现在使用
2.0.5 (2023-11-09)
- 修复错误
- 现在安装simpeg进行反演,目前实现了1D
2.0.8 (2024-08-30)
- 由@kujaku11在https://github.com/MTgeophysics/mtpy-v2/pull/28中添加了Shapefiles
- 由@oaazeved在https://github.com/MTgeophysics/mtpy-v2/pull/32中添加到ModEM模块文档
- 由@kujaku11在https://github.com/MTgeophysics/mtpy-v2/pull/37中添加tf质量
- 由@kujaku11在https://github.com/MTgeophysics/mtpy-v2/pull/29中更新
- 由@kujaku11在https://github.com/MTgeophysics/mtpy-v2/pull/35中添加仅绘制尖端的能力
- 由@kujaku11在https://github.com/MTgeophysics/mtpy-v2/pull/41中更新默认尖端以指向良好的导体
- 由@alkirkby在https://github.com/MTgeophysics/mtpy-v2/pull/43中添加Ak2
- 由@kujaku11在https://github.com/MTgeophysics/mtpy-v2/pull/45中移植Aurora对象
- 由@kujaku11在https://github.com/MTgeophysics/mtpy-v2/pull/40中更新
- @oaazeved在https://github.com/MTgeophysics/mtpy-v2/pull/32中做出了首次贡献
完整更改日志:https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.7...v2.0.8
2.0.9 (2024-08-30)
- 由@kujaku11在#48检查Pardiso导入
2.0.10 (2024-09-30)
- 由@kkappler在https://github.com/MTgeophysics/mtpy-v2/pull/49中更新testing_pip_import.yml
- 由@kkappler在https://github.com/MTgeophysics/mtpy-v2/pull/53中添加Kk/补丁
- 由@kujaku11在https://github.com/MTgeophysics/mtpy-v2/pull/52中优化将TF添加到MTCollection
- @kkappler在https://github.com/MTgeophysics/mtpy-v2/pull/49中做出了首次贡献
完整更改日志:https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.9...v2.0.10
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。