.. image:: https://raw.github.com/simpeg/simpeg/main/docs/images/simpeg-logo.png
    :alt: SimPEG Logo

SimPEG
******

.. image:: https://img.shields.io/pypi/v/SimPEG.svg
    :target: https://pypi.python.org/pypi/SimPEG
    :alt: Latest PyPI version

.. image:: https://img.shields.io/conda/v/conda-forge/SimPEG.svg
    :target: https://anaconda.org/conda-forge/SimPEG
    :alt: Latest conda-forge version

.. image:: https://img.shields.io/github/license/simpeg/simpeg.svg
    :target: https://github.com/simpeg/simpeg/blob/main/LICENSE
    :alt: MIT license

.. image:: https://dev.azure.com/simpeg/simpeg/_apis/build/status/simpeg.simpeg?branchName=main
    :target: https://dev.azure.com/simpeg/simpeg/_build/latest?definitionId=2&branchName=main
    :alt: Azure pipeline

.. image:: https://codecov.io/gh/simpeg/simpeg/branch/main/graph/badge.svg
    :target: https://codecov.io/gh/simpeg/simpeg
    :alt: Coverage status

.. image:: https://api.codacy.com/project/badge/Grade/4fc959a5294a418fa21fc7bc3b3aa078
    :target: https://www.codacy.com/app/lindseyheagy/simpeg?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=simpeg/simpeg&amp;utm_campaign=Badge_Grade
    :alt: codacy

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.596373.svg
   :target: https://doi.org/10.5281/zenodo.596373

.. image:: https://img.shields.io/discourse/users?server=http%3A%2F%2Fsimpeg.discourse.group%2F
    :target: http://simpeg.discourse.group/

.. image:: https://img.shields.io/badge/Slack-simpeg-4A154B.svg?logo=slack
    :target: http://slack.simpeg.xyz

.. image:: https://img.shields.io/badge/Youtube%20channel-GeoSci.xyz-FF0000.svg?logo=youtube
    :target: https://www.youtube.com/channel/UCBrC4M8_S4GXhyHht7FyQqw

Simulation and Parameter Estimation in Geophysics  -  A python package for simulation and gradient based parameter estimation in the context of geophysical applications.

The vision is to create a package for finite volume simulation with applications to geophysical imaging and subsurface flow. To enable the understanding of the many different components, this package has the following features:

* modular with respect to the spacial discretization, optimization routine, and geophysical problem
* built with the inverse problem in mind
* provides a framework for geophysical and hydrogeologic problems
* supports 1D, 2D and 3D problems
* designed for large-scale inversions

You are welcome to join our forum and engage with people who use and develop SimPEG at: http://simpeg.discourse.group/.

Weekly meetings are open to all. They are generally held on Wednesdays at 10:30am PDT. Please see the calendar (`GCAL <https://calendar.google.com/calendar/b/0?cid=ZHVhamYzMWlibThycWdkZXM5NTdoYXV2MnNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ>`_, `ICAL <https://calendar.google.com/calendar/ical/duajf31ibm8rqgdes957hauv2s%40group.calendar.google.com/public/basic.ics>`_) for information on the next meeting.

Overview Video
==============

.. image:: https://img.youtube.com/vi/yUm01YsS9hQ/0.jpg
    :target: https://www.youtube.com/watch?v=yUm01YsS9hQ
    :alt: All of the Geophysics But Backwards

Working towards all the Geophysics, but Backwards - SciPy 2016


Citing SimPEG
=============

There is a paper about SimPEG!


    Cockett, R., Kang, S., Heagy, L. J., Pidlisecky, A., & Oldenburg, D. W. (2015). SimPEG: An open source framework for simulation and gradient based parameter estimation in geophysical applications. Computers & Geosciences.

**BibTex:**

.. code::

    @article{cockett2015simpeg,
      title={SimPEG: An open source framework for simulation and gradient based parameter estimation in geophysical applications},
      author={Cockett, Rowan and Kang, Seogi and Heagy, Lindsey J and Pidlisecky, Adam and Oldenburg, Douglas W},
      journal={Computers \& Geosciences},
      year={2015},
      publisher={Elsevier}
    }

Electromagnetics
----------------

If you are using the electromagnetics module of SimPEG, please cite:

    Lindsey J. Heagy, Rowan Cockett, Seogi Kang, Gudni K. Rosenkjaer, Douglas W. Oldenburg, A framework for simulation and inversion in electromagnetics, Computers & Geosciences, Volume 107, 2017, Pages 1-19, ISSN 0098-3004, http://dx.doi.org/10.1016/j.cageo.2017.06.018.

**BibTex:**

.. code::

    @article{heagy2017,
        title= "A framework for simulation and inversion in electromagnetics",
        author= "Lindsey J. Heagy and Rowan Cockett and Seogi Kang and Gudni K. Rosenkjaer and Douglas W. Oldenburg",
        journal= "Computers & Geosciences",
        volume = "107",
        pages = "1 - 19",
        year = "2017",
        note = "",
        issn = "0098-3004",
        doi = "http://dx.doi.org/10.1016/j.cageo.2017.06.018"
    }


Installing from the sources
===========================

This Python package can be installed with ``pip``.
The dependencies are defined in ``pyproject.toml``. It replaces the former ``requirements.txt`` and ``setup.py`` files
(see `pip documentation`_ to learn more about ``pyproject.toml``).

As this branch is meant to be used with a geopps environment, some conflicting packages have been moved
to "extras" and declared optional. To use it outside of ``geoapps``, install it with ``simpeg[regular]``.
To benefit from dask, install it with ``simpeg[regular, dask]``.

.. _pip documentation: https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/

Install from a local clone
--------------------------
pip install path/to/simpeg[regular,dask]

Install from a local clone in editable mode
-------------------------------------------
pip install -e path/to/simpeg[regular,dask]


Links
=====

Website:
http://simpeg.xyz


Slack (real time chat):
http://slack.simpeg.xyz


Documentation:
http://docs.simpeg.xyz


Code:
https://github.com/simpeg/simpeg


Tests:
https://travis-ci.org/simpeg/simpeg


Bugs & Issues:
https://github.com/simpeg/simpeg/issues
