Skip to content

Latest commit

 

History

History
41 lines (29 loc) · 3.84 KB

CONTRIBUTING.md

File metadata and controls

41 lines (29 loc) · 3.84 KB

Contributing to NorESM

We welcome contributions to the NorESM model, including bug reports and fixes, contributions for code improvements, and suggestions for feature enhancements or inclusion of new features. Below we have listed some guidelines, but use your best judgment, and feel free to propose changes to this document in a pull request.

What should I know before I get started?

The NorESM model is made up of several model components, each contained within separate repositories under NorESMhub. Some of these components are actively developed by members of the NorESM team while others are inherited from the CESM system. When you initially consider contributing to NorESM, you might be unsure about which of those repositories implements the functionality you want to change or report a bug for. The NorESM team will help you with that through an issue discussion.

A short presentation introducing the NorESM github repository, the issue and pull request systems, and the forking workflow: https://github.com/NorESMhub/INES_workshop_2020/blob/gh-pages/files/Torsvik_gitcollaborate.pdf

How to contribute

We recommend that you open a new discussion item if you have questions about code contribution, or an issue to discuss specific changes or additions you want to include. This is done by selecting New issue in the top right corner of the issues page, and selecting one of the suggested issue types in the following menu. Through the issue discussion, you can work with the NorESM developers to implement the code changes in the correct repository and in the correct branch.

Who can contribute

Everybody with a github account can fork the repository, change a file and create a pull request, suggesting a change to the code or the documentation. The changes will, upon being merged by a member with write access, be visible to all. If you wish to have more access rights to any of the NorESMhub repositories, write to the NorESM team via email to noresm-ncc(at)met.no .

Reporting bugs

Please, ensure that the bug was not already reported by searching on https://github.com/NorESMhub/NorESM/issues

If you find bugs, strange output or something puzzling, please raise an issue. No issue is too big nor too small. If you wrote code that fixes the bug, please see the description below.

Suggesting Enhancements

If you want to submit an enhancement suggestion for NorESM, including completely new features, minor improvements to existing functionality or bug fixes, please read the NorESM documentation on how to contribute: You need to:

  • Setup your personal NorESM fork in GitHub to put your developments
  • Keep up to date with the NorESMhub.
  • Once your changes or additions are sufficiently advanced you can form a pull request from your fork to the relevant NorESM branch including a clear description of what you've done.
  • Please assign reviewers who will do additional testing of your code and bring the changes to NorESM.

If your pull request causes conflicts which you are not able to resolve, please ask one of the NorESMhub maintainers for help.

If you introduce code changes or new features into NorESM, these need to be documented. Please remember to update the documentation as well.

Do you have questions about the source code?

We recommend that you subscribe to the NorESM user mailing list: https://www.noresm.org/mailman/listinfo/users_noresm.org where you can ask any question about how to use the NorESM model. You can also raise an issue.

NorESM2.0 user guide

https://noresm-docs.readthedocs.io/en/noresm2/index.html

NorESM home page

https://www.noresm.org/