Skip to main content

Open-source full 3D electromagnetic modeller for 1D VTI media

Project description

empymod logo

The electromagnetic modeller empymod can model electric or magnetic responses due to a three-dimensional electric or magnetic source in a layered-earth model with vertical transverse isotropic (VTI) resistivity, VTI electric permittivity, and VTI magnetic permeability, from very low frequencies (DC) to very high frequencies (GPR). The computation is carried out in the wavenumber-frequency domain, and various Hankel- and Fourier-transform methods are included to transform the responses into the space-frequency and space-time domains.

More information

For more information regarding installation, usage, contributing, bug reports, and much more, see


  • Computes the complete (diffusion and wave phenomena) 3D electromagnetic field in a layered-earth model including vertical transverse isotropic (VTI) resistivity, VTI electric permittivity, and VTI magnetic permeability, for electric and magnetic sources as well as electric and magnetic receivers.

  • Modelling routines:

    • bipole: arbitrary oriented, finite length bipoles with given source strength; space-frequency and space-time domains.
    • dipole: infinitesimal small dipoles oriented along the principal axes, normalized field; space-frequency and space-time domains.
    • loop: arbitrary oriented loop source measured by arbitrary oriented, finite length electric or magnetic dipole or loop receivers; space-frequency and space-time domains.
    • dipole_k: as dipole, but returns the wavenumber-frequency domain response.
    • gpr: computes the ground-penetrating radar response for given central frequency, using a Ricker wavelet (experimental).
    • analytical: interface to the analytical, space-frequency and space-time domain solutions.
  • Hankel transforms (wavenumber-frequency to space-frequency transform):

    • DLF: Digital Linear Filters (using included filters or providing own ones)
    • QWE: Quadrature with extrapolation
    • QUAD: Adaptive quadrature
  • Fourier transforms (space-frequency to space-time transform):

    • DLF: Digital Linear Filters (using included filters or providing own ones)
    • QWE: Quadrature with extrapolation
    • FFTLog: Logarithmic Fast Fourier Transform
    • FFT: Fast Fourier Transform
  • Analytical, space-frequency and space-time domain solutions:

    • Complete full-space (electric and magnetic sources and receivers); space-frequency domain
    • Diffusive half-space (electric sources and receivers); space-frequency and space-time domains:
      • Direct wave (= diffusive full-space solution)
      • Reflected wave
      • Airwave (semi-analytical in the case of step responses)
  • Add-ons (empymod.scripts):

    The add-ons for empymod provide some very specific, additional functionalities:

    • tmtemod: Return up- and down-going TM/TE-mode contributions for x-directed electric sources and receivers, which are located in the same layer.
    • fdesign: Design digital linear filters for the Hankel and Fourier transforms.
  • Hidden features (incomplete list, see manual for more):

    • Models with frequency-dependent resistivity (e.g., Cole-Cole IP).
    • Space-Laplace domain computation for the numerical and analytical solutions.


You can install empymod either via conda:

conda install -c conda-forge empymod

or via pip:

pip install empymod

Required are Python version 3.6 or higher and the modules SciPy and Numba. Consult the installation notes in the manual for more information regarding installation and requirements.


If you publish results for which you used empymod, please give credit by citing Werthmüller (2017):

Werthmüller, D., 2017, An open-source full 3D electromagnetic modeler for 1D VTI media in Python: empymod: Geophysics, 82(6), WB9-WB19; DOI: 10.1190/geo2016-0626.1.

All releases have a Zenodo-DOI, which can be found on 10.5281/zenodo.593094. Also consider citing Hunziker et al. (2015) and Key (2012), without which empymod would not exist.

License information

Copyright 2016-2020 The empymod Developers.

Licensed under the Apache License, Version 2.0. See the LICENSE- and NOTICE-files or the documentation for more information.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for empymod, version 2.0.4
Filename, size File type Python version Upload date Hashes
Filename, size empymod-2.0.4-py3-none-any.whl (214.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size empymod-2.0.4.tar.gz (220.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page