Magnetotelluric Short Course
Open Source Codes for Magnetotellurics with Examples🧙¶
This book provides documentation and examples of how to use the various open source codes for magnetotelluric (MT) data.
Abstract
The goal of this book is to provide executable examples of how to use open-source Python software packages written to deal with MT data, including mt-metadata, mth5, aurora, mtpy-v2, and simpeg.
Background¶
The initial work on open-souce software was focused on transfer functions (reading/writing, plotting, analysis, working with model input/outputs). That work resulted in mtpy, which was a general collection of scripts compiled into a repository with some object oriented code Krieger & Peacock, 2014. The package was extended mainly by a group at Geoscience Australia into a more modern package including a testing framework and publishing to PyPi Kirkby et al., 2019. mtpy under went small updates but became unmaintainable and is now deprecated, meaning mtpy is no longer supported. The latest version is mtpy-v2.
Starting around 2020, a working group for metadata and data standards was created, led by IRIS, now Earthscope Consortium. The goal of this group was to develop a standard set of metadata for MT data as well as a data standard. Out of this came mt-metadata, a metadata standard, and mth5, a data format standard based on HDF5 (Peacock et al., 2022). Moreover, development of a processing code to estimate MT transfer functions was also supported which resulted in aurora a processing code based on Gary Egbert’s EMTF code Kappler et al., 2024.
There have been recent developments in simpeg that incorporates inversion of MT data in 1D, 2D, and 3D. Originally simpeg was designed as a package for learning but in recent years has included modules for parallelization and multi-procssing that allows for larger datasets to be inverted.
General Workflow¶
With all these packages the full workflow of MT data is covered including data collection, data archiving, transfer function estimation, and modeling Figure 1. We have tried to set it up such that mtpy-v2 is the main controlling package that interfaces with the other packages, but that is still a work in progress.
- Krieger, L., & Peacock, J. R. (2014). MTpy: A Python toolbox for magnetotellurics. Computers & Geosciences, 72, 167–175. 10.1016/j.cageo.2014.07.013
- Kirkby, A., Zhang, F., Peacock, J., Hassan, R., & Duan, J. (2019). The MTPy software package for magnetotelluric data analysis and visualisation. Journal of Open Source Software, 4(37), 1358. 10.21105/joss.01358
- Peacock, J., Kappler, K., Heagy, L., Ronan, T., Kelbert, A., & Frassetto, A. (2022). MTH5: An archive and exchangeable data format for magnetotelluric time series data. Computers & Geosciences, 162, 105102. 10.1016/j.cageo.2022.105102
- Kappler, K. N., Peacock, J. R., Egbert, G. D., Frassetto, A., Heagy, L., Kelbert, A., Keyson, L., Oldenburg, D., Ronan, T., & Sweet, J. (2024). Aurora: An open-source Python implementation of the EMTF package for magnetotelluric data processing using MTH5 and mt_metadata. Journal of Open Source Software, 9(100), 6832. 10.21105/joss.06832