Contributing

Users are welcome to contribute to ModEM and we welcome contributions!

We highly recommend opening a GitHub Issue first so that new contributions can be discussed with ModEM authors, especially for large pull requests.

Contributions can be made via a GitHub pull request at the ModEM repository: https://github.com/magnetotellurics/ModEM/compare.

Steps To Open a Pull Request (PR)

See: Contributing to a project.

Tips & Testing

  • Please keep pull requests to reasonable sizes (consider breaking up large PR’s into small ones)

  • If you are able, please test your changes using both the GNU gfortran compiler and Intel ifort repository (but Gfortran at the minimum if you don’t have access to the Intel compiler).

  • Contribute any relevant documentation to this Documentation (See Building this Documentation)

  • Run the unit tests in the unit_testing directory (Currently not added)

Building this Documentation

This Sphinx documentation can easily be built if you have Sphinx installed. If you have Python and Pip installed, you can install Sphinx by:

$ pip install -U sphinx

For more information on installing Sphinx see: https://www.sphinx-doc.org/en/master/usage/installation.html.

After making changes to the documentation, you can build locally for testing by doing the following:

$ cd ModEM/docs
$ make html

The HTML files will be built in ModEM/docs/build. You can open these locally and view them and ensure they look correct. You do not need to (and will not be able to) commit the built HTML files.

If you change the documentation, please ensure that it builds without errors.