MTGeophysics.jl --- A software repository for magnetotelluric research and applications

If you are not from geophysics, a quick explanation: magnetotellurics is a method for imaging the electrical resistivity structure of the Earth using naturally occurring electromagnetic signals. In simple terms, we measure how the ground responds to natural variations in the Earth’s magnetic and electric fields, and from that try to infer what the subsurface looks like. This is useful in areas like mineral exploration, geothermal studies, tectonics, and crustal imaging.

The motivation for this repository is fairly practical. MT workflows are often spread across multiple tools and languages: one code for forward modelling, another for inversion, another for visualization, and then a collection of scripts to move data between them. MTGeophysics.jl is an attempt to bring more of that workflow into one Julia-based environment, so it is easier to prototype methods, run reproducible studies, and connect classical geophysics with newer scientific machine learning workflows.

At the moment, the package includes:

  • 1D and 2D MT forward modelling
  • 2D and 3D inversion workflows based on VFSA
  • ensemble-based uncertainty assessment
  • ModEM (a legacy FORTRAN solver)-compatible data and model I/O
  • interactive 3D visualization tools built with Makie
  • GIS-oriented export and overlay support

The goal is to provide reusable building blocks for research. That includes standard data structures, visualization tools, and workflows that can support experimentation with inversion strategies, surrogate models, or neural operators.

This repo is aimed at two audiences:

(1) Geophysics researchers and students who want an open and fast codes for day-to-day modelling and interpretation (2) Julia users who may be interested in a real scientific application that combines numerical PDEs, inverse problems, uncertainty, visualization, and scientific machine learning

The project is part of the broader JuliaGeophysics effort, which aims to build a more integrated ecosystem for multi-geophysical modelling and inversion in Julia.

Following is an example of imaging Cascadia subduction zone from USMTArray. The figures shows a 3D resistivity model at 30 kms depth (plotted outside the repo)

Some more snapshots (plotted with the repo)

Makie ecosystem is just amazing!!!

2 Likes