ModEM: A Modular System for EM Inversion
ModEM is a modular system of parallel computer codes for inversion of electromagnetic (EM) geophysical data, developed over the past decade at Oregon State University. The code has been structured as a flexible system, adaptable to a range of EM geophysical data types, and a range of inverse problem solution strategies, and regularization models. The organization of the ModEM code is summarized schematically in the figure. General theory is described in Egbert and Kelbert (2012) and more specific implementation details are given in Kelbert et al. (2014). ModEM is parallelized using standard MPI libraries, as described in Meqbel (2009).

ModEM has so far been applied most extensively to 3D magnetotelluric (MT) data, using a non-linear conjugate gradient (NLCG) scheme for parameter search. A stable version of this code, tailored to 3D MT inversion has been publicly released to the academic community. There are now over 120 registered academic users worldwide, and already at least 20 peer-reviewed publications, and a significantly larger number of conference presentations, describe use of ModEM in basic research applications. A version of this by now well-tested 3D MT code can be licensed for commercial use, with full support and training. We can also provide custom inversion and interpretation services.
Some initial development and application of ModEM for frequency domain controlled source EM (CSEM) data, and for joint inversion of multiple-method EM datasets have recently been completed. We can work with potential customers to implement these extensions, or similar specialized inversion capabilities (e.g., specialized data types), if desired. Ongoing developments which we expect to complete soon include additional options for regularization, and implementation of alternative optimization strategies.
The code is parallelized with MPI, and requires a modest-sized PC-cluster (approximately 30-50 cores, typically running the linux operating system) for effective use. The only external software components required are standard MPI libraries. ModEM can be used on smaller computers (e.g. a multi-core desktop) but will be significantly slower. Further details on computing requirements can be provided by contacting us.