Contribute Code¶
Bug fixes, performance improvements, new features: all contributions are welcome. Before starting, check the open issues to avoid duplicating work, or open a new one to discuss your idea first.
Workflow¶
All contributions go through a branch + pull request workflow:
- Fork or clone the repository if you haven't already.
- Create a branch from the latest
main: - Make your changes, test them, and commit with a clear message:
- Push your branch to GitHub:
- Open a pull request on GitHub targeting
main, with a short description of what changed and why.
A reviewer from the EPM team will review, comment, and merge the PR once approved.
Pull request guidelines¶
- One type of change per PR: don't mix a bug fix with a new feature
- Describe your changes: what was the problem, what did you change, and why
- Test before submitting: run the model with your changes and verify outputs are as expected
- Keep case-study-specific changes in your own branch: only push to
mainwhat benefits all users
Adding a new technology¶
To add a new technology to the model, update the following files:
1. Supply defaults, under supply/:
pAvailabilityDefault.csvpGenDataInputDefault.csvpCapexTrajectoriesDefault.csv
Add the technology in the main branch if it is general enough to benefit all users.
2. Zonal definition
Default technologies are defined by zone. If no zone-specific data is available, define the same technology for all zones.
3. Resources and postprocessing
Add the technology to:
PostProcessingStaticTechnologies.csvCoders.csv
This ensures figures are generated correctly and prevents exceptions during postprocessing.