powsybl / powsybl-entsoe Goto Github PK
View Code? Open in Web Editor NEWA framework for ENTSOE-related processes
License: Mozilla Public License 2.0
A framework for ENTSOE-related processes
License: Mozilla Public License 2.0
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
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
The BalancedComputation.run
method doesn't have a reporter parameter.
Add a reporter parameter, also produce balance computation reports.
Auditability of balance computation results
n/a
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.
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).
Typical use cases:
No response
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:
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
:
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:
Please tell us about your environment:
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
}
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:
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
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
Missing javadoc
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem
Try https://javadoc.io/doc/com.powsybl/powsybl-entsoe/1.0.0/index.html or https://javadoc.io/doc/com.powsybl/powsybl-entsoe/1.1.0/index.html
What is the expected behavior?
Javadoc available
What is the motivation / use case for changing the behavior?
Documentation available
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.