Developer guide
Contributions, bug reports and fixes, documentation improvements, enhancements and ideas are welcome. A good starting place to look at is:
PROMICE-AWS-data-issues <https://github.com/GEUS-Glaciology-and-Climate/PROMICE-AWS-data-issues>_, where we report suspicious or incorrect data
pypromice’s GitHub Issues, for an overview of known bugs, developments and ideas
Data reports
Automatic weather station (AWS) data from the Greenland Ice Sheet are often imperfect due to the complexity and conditions involved in installing and maintaining the AWS.
If you are using our AWS data and something seems suspicious or erroneous, you can check the PROMICE-AWS-data-issues space to see if has previously been flagged and/or fixed. If not, then please follow the conventions stated in the repository and open an issue.
Note
Data visualisations best demonstrate data problems and are greatly appreciated in solving data issues. If you are unsure, see examples of our closed issues in PROMICE-AWS-data-issues
Bug reports and enhancement requests
Bug reports are essential to improving the stability and usability of pypromice. These should be raised on pypromice’s GitHub Issues. A complete and reproducible report is essential for bugs to be resolved easily, therefore bug reports must:
Include a concise and self-contained Python snippet reproducing the problem. For example:
df = pget.aws_data(...)
Include a description of how your pypromice configuration is set up, such as from pip install and repository cloning/forking. If installed from pip or locally built, you can find the version of pypromice you are using with the following function.
from importlib import metadata
print(metadata.version('pypromice'))
Explain why the current behaviour is wrong or not desired, and what you expect instead
Note
Before submitting an issue, please make sure that your installation is correct and working from either the pip installation or the main branch of the pypromice repository.
Contributing to pypromice
You can work directly with pypromice’s development if you have a contribution, such as a solution to an issue or a suggestion for an enhancment.
Forking
In order to contribute, you will need your own fork of the pypromice GitHub repository to work on the code. Go to the repo and choose the Fork
option. This now creates a copy in your own GitHub space, which is connected to the upstream pypromice repository.
Creating a development branch
From your forked space, make sure you have a Python Environment for running pypromice, as described in Developer install. Then create and checkout a branch to make your developments on.
$ git checkout -b my-dev-branch
Keep changes in this branch specific to one bug or enhancement, so it is clear how this branch contributes to pypromice.
Creating a pull request
To contribute your changes to pypromice, you need to make a pull request from your forked development branch to pypromice’s main branch. Before doing so, retrieve the most recent version of the main repository to keep this branch up to date with pypromice’s main branch.
$ git fetch
$ git merge upstream/main
And then open a pull request as documented here. Make sure to include the following in your pull request description:
The aim of your changes
Details of what these changes are
Any limitations or further development needed
Your pull request will be reviewed and, if valid and suitable, will be accepted. Following this, you will be listed as a contributor to pypromice!