Contribute

Contributor’s Guide

Thank you for your interest in contributing to GMG! Any contribution big or small are very welcome are much appreciated. Below is a simple guide for how you many consider contributing to the project.

Ways to Contribute

There are several ways you can contribute to the project:

  1. Documentation: You can help improve the project’s documentation by fixing errors, clarifying instructions, or adding new sections.

  2. Bug Reports: If you encounter a bug while using the software, please report it. Be sure to include all relevant details and steps to reproduce the issue.

  3. Code Contributions: Please feel free to modify GMG in anyway you wish, be that optimising existing code, fixing bugs, or adding new features.

  4. Feature Requests: If you have ideas for new features or improvements, share them by submitting a feature request. Provide a clear description of the proposed feature and its potential benefits.

  5. Testing: Help us ensure the quality of the software by testing it thoroughly and reporting any issues you encounter.

Getting Started

To start contributing, follow these steps:

1. Fork the Repository: Fork the project repository on GitHub by clicking on the “Fork” button. This will create a copy of the project in your own GitHub account.

  1. Clone the Repository: Clone the forked repository to your local machine using Git:

    git clone https://github.com/btozer/gmg.git
    
  2. Create a New Branch: Create a new branch for your contribution. Use a descriptive name that reflects the nature of your work:

    git checkout -b branch-name
    

4. Make Changes: Make the necessary changes or additions to the code, documentation, or other relevant files. |

  1. Commit Changes: Commit your changes with a clear and concise commit message that describes the purpose of your modifications:

    git commit -m "Your commit message"
    
  2. Push Changes: Push your local branch to your forked repository on GitHub:

    git push origin branch-name
    

7. Submit a Pull Request: Go to the original repository on GitHub and click on the “New Pull Request” button. Fill out the pull request template with details about your contribution.

Communication

Please feel free to reach out by opening an issue on the project’s GitHub repository if you have any questions or need assistance.

Acknowledgment

Thank you for considering contributing to GMG. Any contribution big or small are very welcome and are much appreciated.

Software Architecture

GMG is arranged as a simple, multi-windowed graphical user interface as shown in Figure 15. The software consists of two primary frames, the model frame and control frame. A third frame, containing an inbuilt python console may also be displayed and used to access and edit model data via the command line. Three control bars are used to access software features. The top menu bar contains a list of drop-down menus. These are organised under various headings, such as “gravity data”, each containing relevant functions. Below this menu bar is a shortcut button bar. At the base of the control frame, is a toggle bar. This contains five buttons that are used to hide/show model frame panels (topography, gravity and magnetics), the control frame and the python console frame. A “current status” bar is displayed at the base of the model frame, providing relevant information related to the current state of the model.

_images/gmg_software_map.png

Figure 15 a) gmg software layout. b) same as in (a) but with labels showing the key model frames (model frame = pink outline; control frame = red outline), panels and bars.