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

GLSKs in iIDM #2884

Closed
jeandemanged opened this issue Feb 1, 2024 · 1 comment
Closed

GLSKs in iIDM #2884

jeandemanged opened this issue Feb 1, 2024 · 1 comment
Assignees

Comments

@jeandemanged
Copy link
Member

jeandemanged commented Feb 1, 2024

Describe the current behavior

We have Scalable feature from com.powsybl.iidm.modification.scalable, which is nice as long as we stay in the "iIDM world", but we cannot instantiate scalables for use by computation engines such as load flow, security analysis, sensitivity analysis, etc ...
Besides, Scalable-s cannot be today serialized - it is only available 'from code', and can only be created by using both a network and an additional external file.

Describe the expected behavior

We propose to introduce the GLSK concept directly in the iIDM.
GLSK-s are defined per area (see #2883 for areas, which is a pre-requisite) and specify how Injections should be modified within the area.

TODO: describe the foreseen iIDM GLSK model, the various GLSK types (proportional, merit order, etc...)

ℹ️ An alternative option would be to:

  • add possibility to serialize Scalable-s
  • add possibility to link Scalable-s with areas (see Generic Area model in iIDM #2883 for areas)
  • add possiility to provide Scalable-s together with the Network in the various computation APIs (loadflow-api, security-analysis-api, ...)

But this alternative seems cumbersome. We propose instead to define GLSKs directly within iIDM. Then:

  • For calculations "working directly on iIDM", we could instantiate Scalable-s from iIDM GLSKs to perform scaling on iIDM network (example: powsybl-entsoe/balance-adjustment uses 1. Scalable and 2. a load flow engine using the modified iIDM)
  • For e.g. load flow and security analysis engines: the GLSK definitions are immediately accessible within iIDM. Computation engines do not use the Scalable-s API.

Describe the motivation

GLSK -Generation and Load Shift Keys- is a common way of describing how generation and/or load changes should be applied on a Network when performing studies.

Typical use cases:

  • Being able to import GLSKs from various sources in a new iIDM representation. (e.g. Entsoe XML, Entsoe CIM/NC/CSA profiles, CSV files, ...)
  • Area Interchange Control (AIC) using GLSKs in Load Flow and Security Analysis
    • In Load-Flow: AIC uses GLSKs to adjust area net position to target values
    • In Security Analysis, it is basically the same as load-flow:
      • In N-1: when simulating a generator loss, we might want to check violations after aFRR/mFRR (secondary control) actions, i.e. after area net positions are restored to market values (aFRR/mFRR acts mostly within 1-2 minutes, 5 max), instead of checking violations immediately after the trip on a network state having the generation loss imbalance distributed over all areas of the network.
      • In N-1 with OperatorStrategy: Countertrading & Redispatching remedial actions using GLSKs

Extra Information

No response

@jeandemanged
Copy link
Member Author

jeandemanged commented Feb 12, 2024

As discussed during February 1st, 2024 TSC meeting, doing this in iIDM is not the right approach.
Closing this ticket as "not planned". Alternative approach proposed in powsybl/powsybl-open-loadflow#979

@jeandemanged jeandemanged closed this as not planned Won't fix, can't repro, duplicate, stale Feb 12, 2024
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

2 participants