We are grateful to contributors to PyCHAM, below are guidelines on providing improvements.
To report bugs, please raise an issue on the repository using the guide below.
Explain the problem and include additional details to help reproduce the problem:
- First, check the current issues to ensure the bug has not already been highlighted.
- Use a clear and descriptive title for the issue to identify the problem.
- State the operating system you were using when the bug occurred.
- Describe the exact steps which reproduce the problem in as many details as possible. For example, start by explaining how you started PyCHAM, e.g. which command exactly you used in the terminal, or how you started PyCHAM otherwise.
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples.
- Describe the behaviour you observed after following the steps and point out what exactly is the problem with that behaviour.
- Explain which behaviour you expected to see instead and why.
- Include screenshots which show you following the described steps and clearly demonstrate the problem.
- If you're reporting that PyCHAM crashed, include a crash report with a stack trace from the operating system. On macOS, the crash report will be available in Console.app under "Diagnostic and usage information" > "User diagnostic reports".
- If the problem is related to performance or memory, include a CPU profile capture with your report.
- If the problem wasn't triggered by a specific action, describe what you were doing before the problem happened.
To recommend enhancements, please raise an issue on the repository using the guide below.
- First, check the current issues raised to ensure your suggestion is new.
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested enhancement in as many details as possible.
- Provide specific examples to demonstrate the steps. Include copy/pasteable snippets which you use in those examples, as Markdown code blocks.
- Describe the current behaviour and explain the behaviour the enhancement provides.
- Include screenshots which help you demonstrate the steps or point out the part of PyCHAM which the suggestion is related to.
- Explain why this enhancement would be useful to most PyCHAM users.
- Specify which version of PyCHAM you're using. You can get the exact version by running PyCHAM -v in your terminal.
- State the operating system you are using.
When contributing enhancements, please follow the guidelines below to maintain style consistency.
- Leave spaces either side of math symbols, e.g.
a -= b*2 + c
, nota-=c*2+b
. - If suggesting a new module, include a module header in the first line bounded by three apostrophes: '''this header explains what the module does'''.
- Include detailed comments with new equations.
- Use paragraph breaks to separate segments of code, aiming for no more than ten consecutive lines without a paragraph break.
- Try to limit line lengths to 91 characters.
- Use tab for indentation.
PyCHAM is made for the environmental chamber community and we welcome improvements from all.
Regards, The PyCHAM team