Support Component Status + Enrich Branch Model
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 27
- Forks
- 11
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 23
Description
Summary
Many power system cases come preconfigured with lines that are out of service. We need to support this and add a field to indicate whether, for example, a branch is open or closed, or whether a generator is in service.
Additionally, we might consider treating Branch as a special category, much like Bus is treated in the input format.
Rationale
This is a precursor to support a new event type Open/Close or something similarly named to indicate component status. This will also allow us to fully import case data without omitting inactive elements.
Regarding the second suggestion, there are quite a few branch models that are needed and should be completed before we push for more models, IMHO.
Description
The system model should compose and support a status field that takes a component out of service, in addition to a field in the file format that is standard and well-named to communicate intent
The branch model class in the input format could be like:
"buses": [
{ "class": "bus", ... },
{ "class": "infinite_bus",... }
],
"branches": [
{
"class": "xfmr",
"ports": [1, 2],
"name": "...",
"status": "active",
"init": {...},
"params": {...}
},
{
"class": "xfmrtertiary", // three-winding transformer
"ports": [4, 5, 6] ,
"name": "...",
"status:" "active",
"init": {...},
"params": {...}
},
{
"class": "hvdc",
"ports": [4, 5] ,
"name": "...",
"status": "active",
"init": {...},
"params": {...}
},
{
"class": "line",
"ports": [4, 5] ,
"name": "...",
"status": "active",
"init": {...},
"params": {...}
},
],
Additional information
(regarding status as a field) If this requires changing the system model's dimension at runtime, it should be noted.
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 by reviewing the system model and input format, then compare how Bus and existing branch models are represented. Determine how component status should be represented for inactive lines and generators, how branch categories should be organized, and how imported inactive elements should be preserved. Done means the model and file format have an agreed status representation that supports the proposed future Open/Close events.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100