The GCAM-AgLU team welcomes and values community contributions to gcamfaostat.

For global economic and integrated assessment modelers, please don’t hesitate to reach out to us to get more evolved in the package development and future updates. Together, we will shorten the distance between raw data and modeling.

For contributions from all users, here are some guidelines (PNNL-JGCRI) we ask you to follow. The main goal is to facilitate communications and ease the maintainers’ organizational and logistical duties.

Before you start:

  • Make sure you have a GitHub account.
  • Trivial changes to comments or documentation do not require creating a new issue.

Did you find a bug?

  • Make sure the bug was not already reported in the Github Issues.
  • Open an issue and clearly describe the issue with as much information as possible. A code sample or an executable test case are recommended.

Did you plan to write a patch that fixes a bug?

  • Open an issue and clearly describe the problem and discuss how your solution will affect gcamfaostat.
  • Fork the repository on GitHub to work on the patch.
  • Interact with the project maintainers to refine/change/prioritize your issue.

Making changes

  • Start your work on your fork of the repository.
  • Check for unnecessary whitespace with git diff --check and format code.
  • Make sure your commit messages are descriptive but succinct, describing what was changed and why, and reference the relevant issue number. Make commits of logical units.
  • Make sure you have added the necessary tests for your changes.
  • Run all the tests to assure nothing else was accidentally broken.

Submitting changes

  • Submit a pull request with clear documentation of the methodology to the main gcamfaostat repository.
  • Your pull request should include one of the following two statements:
    • You own the copyright on the code being contributed, and you hereby grant PNNL unlimited license to use this code in this version or any future version of gcamfaostat. You reserve all other rights to the code.
    • Somebody else owns the copyright on the code being contributed (e.g., your employer because you did it as part of your work for them); you are authorized by that owner to grant PNNL an unlimited license to use this code in this version or any future version of gcamfaostat, and you hereby do so. All other rights to the code are reserved by the copyright owner.
  • The core team looks at Pull Requests, and will respond as soon as possible.

Additional Resources

Thank you for taking the time to help us improve gcamfaostat to make it more useful!