We are very grateful that you are looking into how you can contribute to OSeMOSYS. OSeMOSYS is an amazing project, which has already helped introduce systems modelling to many new communities.
Contributing to OSeMOSYS is open to everyone who is interested, and we adopt an inclusive and open policy which is described in our code of conduct
Some resources:
- The main OSeMOSYS website is a good place to get started with OSeMOSYS
- The forum is a great place to ask questions and search for answers from our knowledgeable community
- Sign up to our monthly newsletter to be the first to learn of the latest developments
If you find a programming error in one of the OSeMOSYS implementations, please submit an Issue in the relevant repository. Follow the issue template for submitting a bug.
- For the GNU MathProg version, please create a new issue here.
- For the GAMS version, please create a new issue here.
- For the Pyomo version, please create a new issue here.
- For the PuLP version, please create a new issue here.
If you find a more fundamental issue which you think is related with the formulation of OSeMOSYS, please submit the issue here.
The documentation can be found in the docs
directory and is rendered on
readthedocs.
You can read about contributing to the documentation here
If you have a great idea for how OSeMOSYS could be improved, or to suggest a useful addition to the model, please submit a feature request using the Github issue tracker at here.
Please follow the OSeMOSYS Enhancement Proposal issue template.
To work with any of the OSeMOSYS code bases, please follow the forking workflow recommended for contributing to open-source projects. The steps below assume you have a Github account.
- Fork the repository to which you wish to contribute by clicking the grey
fork
button or visiting https://github.com/osemosys/osemosys/fork - Clone your fork of the repository
git clone http://github.com/<user>/osemosys
- Create a new branch on which you will commit your changes
git checkout -b <branchname>
- Do the work and stage and commit your changes:
git add ...
,git commit -m "A nice descriptive message"
- Push the changes to your fork
git push -u <branchname> origin/<branchname>
- Submit a pull request from your fork of the repository to the master branch of the original repository.
- The pull request is reviewed. Any changes required by the review can be performed on the same branch and pushed to the forked repo as in the steps above.
- Once the pull request has been reviewed and accepted,
you may delete your local copy of the branch
git branch -d <branchname>
and update your copy of the master branchgit checkout master
,git pull origin master