GithubHelp home page GithubHelp logo

powsybl-entsoe's People

Contributors

annetill avatar colinepiloquet avatar flo-dup avatar geofjamg avatar georgebudau avatar gverger avatar jeandemanged avatar jonenst avatar kahyami avatar m-guibert avatar miovd avatar murgeyseb avatar obrix avatar olperr1 avatar opensuze avatar pet-mit avatar phiedw avatar schwitzguebel avatar so-fras avatar sylvlecl avatar tadam50 avatar themaskedturtle avatar theopascoli avatar vbochetrte avatar walameni avatar walid-sahnoun avatar zamarrenolm avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

powsybl-entsoe's Issues

[Flow decomposition] Allow custom GLSKs per hub as input

  • Do you want to request a feature or report a bug?
    New feature

  • What is the current behavior?
    Flow decomposition currently uses default country GLSK (i.e. automatic GLSK that uses a coefficient on all generators of a country proportional to the generators power set point) to compute the PTDF matrix.

  • What is the expected behavior?
    Flow decomposition should be able to get as an input of the algorithm user provided GLSK for each country, and keep using country GLSKfor all countries with ho GLSK provided.

  • What is the motivation / use case for changing the behavior?
    Alignment with business requirements for the flow decomposition algorithm

[Flow decomposition] Handle post contingencies calculation

  • Do you want to request a feature or report a bug?
    New feature

  • What is the current behavior?
    Current implementation of flow decomposition algorithm only handles calculation on the initial state of the network.

  • What is the expected behavior?
    Flow decomposition should allow to specify XNE to be analysed both in initial state, and on post contingency states.

  • What is the motivation / use case for changing the behavior?
    Alignment with business requirements for the flow decomposition algorithm

BalanceComputation reports

Describe the current behavior

The BalancedComputation.run method doesn't have a reporter parameter.

Describe the expected behavior

Add a reporter parameter, also produce balance computation reports.

Describe the motivation

Auditability of balance computation results

Extra Information

n/a

open-loadflow GLSK balance adjustment plugin

Describe the current behavior

Current way to perform custom balances adjustments with existing powsybl features is via the existing powsybl-entsoe balance-adjustment module, working externally to any load flow implementation.

Describe the expected behavior

powsybl-open-loadflow plans to provide a plugin mecanism allowing to describe externally how balancing should be done (powsybl/powsybl-open-loadflow#979).
For Entso-e users this will be leveraged to use GLSKs in all possible forms (GSKs, LSKs, mix of GSKs and LSKs, proportional and merit order, ...).
This issue proposes to create an OLF plugin where slack imbalance distribution and/or area interchange control error would use GLSKs in replacement of the existing OLF balance modes (as defined in the powsybl-loadflow-api).

Describe the motivation

Typical use cases:

  • Being able to import GLSKs from various sources (e.g. Entsoe XML, Entsoe CIM/NC/CSA profiles, CSV files, ...)
  • Area Interchange Control (AIC powsybl/powsybl-open-loadflow#978) 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.
      • (potentially/why not/to triage) In N-1 with OperatorStrategy: Countertrading & Redispatching remedial actions using GLSKs

Extra Information

No response

Extendable BalanceComputationImpl behavior

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    BalanceComputationImpl logic is "locked" in the run method, not allowing library users to:

    • override the criteria of a successful loadflow
    • override how global mismatch is computed
    • capture iteration results (load flow results, balances per iteration), e.g. for reporting
  • What is the motivation / use case for changing the behavior?

    • about "criteria of a successful loadflow":
      Current behavior is using loadFlowResult.isOk(). This evaluates to true if at least one island succedded, making the module usable only if working only on the main component (if I have a failed 20k-buses island and an OK but not-of-interest 20-buses island, OK would be reported ...).
      It is needed to be able to override this default behavior, especially for multi-islands systems. Note also that the "main island" is not always the biggest island in number of buses. For Entso-E, the CGM main island is the island with the most number of IGMs covered (see here lines 528-535).
      Finally, because the way buses are linked to IGMs may differ highly between iIDMs, it is best to leave these considerations to the API users, instead of enforcing anything within BalanceComputationImpl :

      • UCTE-DEF format users would use e.g. countries
      • CGMES format users could use e.g. countries, or geographical tags, or iIDM properties
      • other non-standard custom formats may use above or other ways to represent buses-IGMs containment in iIDM
      • ...
    • about "how global mismatch is computed":
      Today done by mismatch "norm" (sum of squared deviations). But one might want to just use the worst area mismatch as specified in EMF specifications.

    • about "capturing iteration results":
      for example:

      • I wan't to access iteration's LoadFlowResults
      • I want to do something at each iteration, e.g. save the network state to a new variant
      • I want to capture balances and mismatches per area and per iteration
  • Please tell us about your environment:

    • PowSyBl Version: powsybl-balances-adjustment:2.2.0
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

some suggestions (very very very draft ... to be refined):
- move iterationCounter as protected member, maybe define int getIterationCounter() in BalanceComputation interface
- an overridable method for loadflow results:
- an overridable method for adjustmentMismatch
- maybe others

    /**
     * default implementation
     * @param loadFlowResult
     * @return true if the loadFlowResult is to be considered successful
     */
    protected boolean isLoadFlowResultOk(LoadFlowResult loadFlowResult) {
        return loadFlowResult.isOk();
    }

    protected double computeMismatch(Map<BalanceComputationArea, Double> areaMismatches) {
        // TODO
    }

Use libraries with same version as powsybl-core

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    2 libraries are used with a more recent version than powsybl-core one:

    • threeten-extra (1.5.0 instead of 1.0.0)
    • jackson-annotations (2.11.2 instead of 2.10.5)
  • What is the expected behavior?
    Same version used as in powsybl-core

  • What is the motivation / use case for changing the behavior?
    Use only one version for libraries across the whole powsybl repositories

Javadoc missing

[Flow decomposition] Separate Xnode flow from other parts

  • Do you want to request a feature or report a bug?
    New feature

  • What is the current behavior?
    Currently, part of the flows generated by Xnode injections are mixed with the parts from the country in which the Xnode is connected (through the dangling line injections in IIDM network).

  • What is the expected behavior?
    Flows generated on XNECs due to unmerged Xnodes (could it be countries outside the area of study or unmerged HVDC) should be listed in a custom column called "xnodeFlows" and removed from the country to which the xnode is connected.

  • What is the motivation / use case for changing the behavior?
    Alignment with business requirements for the flow decomposition algorithm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.