powsybl / powsybl-open-loadflow

An open source loadflow based on PowSyBl
Mozilla Public License 2.0
45 stars 7 forks source link

Plugin mecanism to describe custom balancing / power shifts #979

Open jeandemanged opened 6 months ago

jeandemanged commented 6 months ago

Describe the current behavior

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

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:

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 commented 6 months ago

@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

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

obrix commented 6 months ago

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

jeandemanged commented 6 months ago

@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 https://github.com/powsybl/powsybl-entsoe/issues/137 to capture this, will also add to roadmap