"Forward modeling, inversion, and processing gravity and magnetic data"


Keywords
geoscience, geophysics, earth-science, fatiando-a-terra, gravity, inverse-problems, magnetic-fields, python, scipy
License
BSD-1-Clause
Install
pip install harmonica==0.4.0

Documentation

Harmonica

Processing and modelling gravity and magnetic data

Documentation (latest)Documentation (main branch)ContributingContact

Part of the Fatiando a Terra project

Latest version on PyPI Latest version on conda-forge Test coverage status Compatible Python versions. Digital Object Identifier for the Zenodo archive

About

Harmonica is a Python library for processing and modeling gravity and magnetic data. It includes common processing steps, like calculation of Bouguer and terrain corrections, reduction to the pole, upward continuation, equivalent sources, and more. There are forward modeling functions for basic geometric shapes, like point sources, prisms and tesseroids. The inversion methods are implemented as classes with an interface inspired by scikit-learn (like Verde).

Project goals

These are the long-term goals for Harmonica:

  • Efficient, well designed, and fully tested code for gravity and magnetic data.
  • Cover the entire data life-cycle: from raw data to 3D Earth model.
  • Focus on best-practices to discourage misuse of methods, particularly inversion.
  • Easily extended code to enable research on the development of new methods.

See the GitHub milestones for short-term goals.

Things that will not be covered in Harmonica:

  • Multi-physics partial differential equation solvers. Use SimPEG or PyGIMLi instead.
  • Generic grid processing methods (like horizontal derivatives and FFT). We'll rely on Verde, xrft and xarray for those.
  • Data visualization.
  • GUI applications.

Project status

🚨 Harmonica is in early stages of design and implementation. 🚨

We welcome any feedback and ideas! Let us know by submitting issues on GitHub or joining our community.

Getting involved

🗨️ Contact us: Find out more about how to reach us at fatiando.org/contact.

👩🏾‍💻 Contributing to project development: Please read our Contributing Guide to see how you can help and give feedback.

🧑🏾‍🤝‍🧑🏼 Code of conduct: This project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.

Imposter syndrome disclaimer: We want your help. No, really. There may be a little voice inside your head that is telling you that you're not ready, that you aren't skilled enough to contribute. We assure you that the little voice in your head is wrong. Most importantly, there are many valuable ways to contribute besides writing code.

This disclaimer was adapted from the MetPy project.

License

This is free software: you can redistribute it and/or modify it under the terms of the BSD 3-clause License. A copy of this license is provided in LICENSE.txt.