Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin mecanism to describe custom balancing / power shifts #979

Open
jeandemanged opened this issue Feb 12, 2024 · 3 comments
Open

Plugin mecanism to describe custom balancing / power shifts #979

jeandemanged opened this issue Feb 12, 2024 · 3 comments
Assignees

Comments

@jeandemanged
Copy link
Member

Describe the current behavior

We can describe how slack distribution should be performed via the following LoadFlowParameters options:

  • balanceType
  • countriesToBalance

Describe the expected behavior

In addition to OLF implementation of above the options, some use cases require more custom-taylored power distribution rules. For example using limits on loads, using limits on generators that are different than Pmin/Pmax limits, using merit order, using different participation factors for up and down directions, etc...

We propose to provide in OLF:

  • an abstraction for balancing / power shifting "rules", to be used in slack distribution (either island/synchronousComponent slack distribution, or Area InterchangeControl: Area Interchange Control as OuterLoop #978)
  • ability to provide externally to OLF the logic to perform these powershifts, leaving project specificities outside OLF.

Describe the motivation

Multiple Entso-e use cases require the use of so-called GLSKs (Generation & Load Shit Keys), whose complexitity goes beyond existing options (proportional, merit order, shifting both generators and loads, etc...). A plugin mecanism will enable covering Entso-e use cases while leaving Entso-e specificities outside OLF.

Extra Information

To be implemented after Area Interchange Control implementation (#978)

@geofjamg
Copy link
Member

geofjamg commented Feb 19, 2024

@jeandemanged This design looks good to me to move complexity outside of OLF core.

I would implement this balancing plugin implementation based in GLSK in the powsybl-entsoe repository because

  • this is the rigth place for entsoe specific features and where GLSK models are.
  • powsybl-entsoe already depends on OLF

As pypowsybl already has a dependency on powsybl-entsoe we would take advantage of this feature in pypowsybl for free.

@obrix
Copy link
Member

obrix commented Feb 23, 2024

Looks like a good idea to me, curious to see the proposed interface for the balancing abstraction though.

@jeandemanged
Copy link
Member Author

@jeandemanged This design looks good to me to move complexity outside of OLF core.

I would implement this balancing plugin implementation based in GLSK in the powsybl-entsoe repository because

  • this is the rigth place for entsoe specific features and where GLSK models are.
  • powsybl-entsoe already depends on OLF

As pypowsybl already has a dependency on powsybl-entsoe we would take advantage of this feature in pypowsybl for free.

Fully agree to do this in powsybl-entsoe and it was my mistake not to create the issue, I created powsybl/powsybl-entsoe#137 to capture this, will also add to roadmap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants