跳转到主要内容

Python标准磁大地测量数据处理工具包。

项目描述

MTpy-v2: 磁大地测量 (MT) 数据处理的Python工具箱

PyPi version Latest conda|conda-forge version codecov License: MIT Documentation Status Binder

版本 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 的实用函数

绘图

  • 单个传输函数
    • 视电阻率和相位
    • 感应矢量
    • 相位张量
    • 走向
    • 研究深度
  • 传输函数调查
    • 站点地图
    • 相位张量和感应矢量地图以及伪断面
    • 视电阻率和相位地图以及伪断面
    • 研究深度地图

处理

  • 读取/写入用于时间序列处理的文件

建模

  • 读取/写入建模程序的文件
    • 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
  • 通过引入 MTCollectionMTData 对象,使工作流程更加集中,这些对象是存储传输函数集合并对其进行操作的数据库
    • 包括绘图方法、建模的数据文件类型、旋转、插值、静态位移等
    • 可以使用 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()

如何引用

如果您在科学出版物中使用此软件,我们将非常感谢您引用以下论文:

联系人

| 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来存储传输函数
    • 引入了MTMTCollectionMTData,以便操作更加集中。现在大多数方法都可以从MTMTData调用
    • 删除了旧模块和特定于组的模块
    • 添加GitActions进行测试
    • 更新测试(仍有大量工作要做)
    • 更新文档以上传到ReadTheDocs

2.0.5 (2023-11-09)

  • 修复错误
  • 现在安装simpeg进行反演,目前实现了1D

2.0.8 (2024-08-30)

完整更改日志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)

完整更改日志https://github.com/MTgeophysics/mtpy-v2/compare/v2.0.9...v2.0.10

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

mtpy-v2-2.0.10.tar.gz (21.2 MB 查看哈希值)

上传时间: 源代码

构建分发

mtpy_v2-2.0.10-py3-none-any.whl (476.1 kB 查看哈希值)

上传时间: Python 3

由以下支持