Defining custom components compatible with the Linopy optimization implementation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.2k
- Forks
- 699
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 13
Description
A template for defining new components inside PyPSA
In old versions of PyPSA (before v0.25), there was an example on defining custom components (that was a combined heat and power system link). However, by introduction of the new optimization tool using Linopy, this example became outdated and then removed after v0.25 (although its traces are still out there in the documentation custom-components). Because of PyPSA's broad range of users, it would be beneficial to define a template or a guideline on how to define a custom component which is compatible with the new optimization implementation in PyPSA (optimize instead of lopf)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing custom-components section in the PyPSA documentation and compare it with the pre-v0.24 examples/new_components example. Determine what guidance or template is needed for custom components with optimize and Linopy, then update the documentation so the new workflow is clear and the example is compatible with the current optimization implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100