Skip to content

Releases: powsybl/powsybl-open-rao

v4.0.0

27 Jul 12:17
Compare
Choose a tag to compare

Updated supported PowSyBl versions:

PowSyBl core: v4.9.2
PowSyBl GLSK: v1.5.2
PowSyBl Hades2: v3.9.0

RAO

Search Tree

  • The RAO now checks if a network action has an impact on the RAO before trying to evaluate it, skipping it if it has no impact (for instance, opening a switch that is already open)
  • The search tree will now accept a topological combination that does not increase the cost more than the required amount, but that makes the network secure

CNEC side

  • When getting intensity on a CNEC from sensitivity provider, fetch the maximum of both sides

Range action automatons

  • The CimCracCreationParameters can now contain a speed used to define how fast automatons act on the network (to be able to define an order of application)
  • Range action automatons are now optimized

CRAC object

Angle cnecs

  • The CRAC can now contain AngleCnecs and the API to import them has been developped
  • The CRAC can now contain OnAngleConstraints

FRM

  • FRM has been renamed to reliability margin to make sense for angle cnecs

Bug fixes

CSE CracCreationContext

  • Changed branch cnec ID to "branch name - from - to - outage name" for uniqueness

Second preventive

  • Fixed a bug where the second preventive hint (trying optimal first preventive topological combination first in second preventive) would not work when the optimal first preventive topological combination only contained one action

CIM CRAC import

  • Fixed a bug where contingencies defined on a tie line's half line was not imported

RAO

  • Fixed a bug that could cause the whole RAO to fail when one post contingency scenario fails

v3.9.4

27 Jun 14:44
Compare
Choose a tag to compare

Bug fixes

RAO unexpected failure

  • A bug has been fixed, where refinement of pst angle per tap was not behaving as intended, and could cause a crash

v3.9.3

20 Jun 19:19
Compare
Choose a tag to compare

RAO output

SWE CNE

  • A new SWE CNE exporter has been implemented

Bug fixes

RAO unexpected failure

  • A bug has been fixed, where application failure of a network action could end up in a complete failure of RAO

v3.9.2

08 Jun 08:41
Compare
Choose a tag to compare

CRAC object & RAO

OnFlowConstraintInCountry

  • It is now possible to use the new usage rule "OnFlowconstraintInCountry". A remedial action with this usage rule will be available if any flow CNEC in this country is overloaded. This implementation is more user-friendly and memory-friendly than the previous one, where it was necessary to create one OnFlowConstraint usage rule for every flow CNEC in the country.
  • The CRAC JSON format has been updated accordingly
  • The RAO has been updated accordingly
  • The CSE CRAC creator has been updated accordingly

CSE CRAC format

XSD

  • A new xsd version is used (4.22)

OnFlowConstraintInCountry

  • The CSE CRAC creator has been updated to use the new OnFlowConstraintInCountry usage rule (when reading a SharedWith tag), instead of creating one OnFlowConstraint for every flow CNEC in the country

CIM CRAC format

Aligned range actions

  • It is now possible to define an extra parameter when calling the CIM CRAC creator, to define aligned range actions (such rules cannot be defined in the native CIM format)

HVDC remedial actions

  • HVDC remedial actions are now imported from CIM CRAC

Specific usage rules

  • Remedial actions available OnFlowConstraint for a specific CNEC are now imported
  • Remedial actions available OnFlowConstraintInCountry for a specific country are now imported
  • Remedial actions defined in multiple locations of the CRAC file are now supported, they are merged into one FARAO remedial actions, with all the defined usage rules

Bug fixes

Null operator

  • Search-tree bloomer no longer fails when remedial actions have a null operator

v3.9.1

11 May 18:17
Compare
Choose a tag to compare

Updated supported PowSyBl versions:

  • PowSyBl core: v4.8.0
  • PowSyBl GLSK: v1.4.0
  • PowSyBl Hades2: v3.8.0

v3.9.0

09 May 15:34
Compare
Choose a tag to compare

Breaking changes

  • Farao now uses OR-Tools 9, update your application accordingly
  • Two new parameters allow fine-tuning the second preventive RAO (see following sections)

RAO

Global 2nd preventive optimization

  • It is now possible to optimize all PSTs (preventive and curative) during the second preventive RAO, at once.
  • Activate this feature using the new parameter: global-opt-in-second-preventive

2nd preventive hint from 1st preventive

  • It is now possible to use the result of the 1st preventive RAO as a hint for the 2nd preventive RAO.
  • This adds a network action combination to test at the first depth of the 2nd preventive RAO, possibly improving the performance of the search-tree.
  • Activate this feature using the new parameter: second-preventive-hint-from-first-preventive

Forced network actions

  • It is now possible to force the usage of network actions if they are available.
  • Use the new newOnStateUsageRule() method on the remedial action, coupled with a FORCED usage method.

CRAC

CIM CRAC

A new CRAC importer has been implemented for the CIM format. This importer actually handles importing:

  • Contingencies
  • Flow CNECs
  • All topological range actions (OnFlowConstraint usage rules are not yet handled)
  • PST range actions (OnFlowConstraint usage rules are not yet handled)

Bug fixes

Improving perimeters with virtual costs

  • When a perimeter only has MNECs, the functional cost is now finitely negative (instead of zero) so that there is no ambiguity with a perimeter with a zero margin on CNECs.
  • When a perimeter is purely virtual, the search tree now does not stop until it has eliminated all virtual cost. This prevents the RAO from stopping prematurely while it could have eliminated a virtual cost.

v3.8.0

28 Mar 07:28
Compare
Choose a tag to compare

General

  • Updated to PowSyBl 4.7.0

CRAC creator API

  • Added a branch helper for cgmes networks, mainly to help with tie lines.

CRAC export

  • New CNE exporter for CORE region

Remedial actions optimization

  • In order to respect the maximum number of RAs to use, the implementation now uses a MIP approach instead of the sensitivity heuristic. This allows a more optimal solution.
  • Relative margin now uses a MIP approach too, and does not need a big coefficient. This allows a more optimal solution.
  • Previously, in relative margin mode, when the margin was positive, the sensitivity threshold was divided by the sum of PTDFs. Now the sensitivity threshold is considered as is, in oder to keep the same approximation of the flows, whatever the PTDF sum, so that all loop-flows are estimated in a consistent way.

Bug fixes

  • Minor bug fixes and improvements in logging

v3.7.1

24 Feb 10:43
Compare
Choose a tag to compare

Release Note

RaoResult exporter

  • move in farao-core the CORE CNE exporter

V3.7.0

16 Feb 12:54
Compare
Choose a tag to compare

Release Note

CRAC object model

  • CSE CRAC model has been updated to the latest version (xsd 4.21)

GLSK

  • Hybrid GLSK (proportional / reserve blocks) are now handled by FARAO

Remedial action optimization

  • When RAO stop criterion is "SECURE", curative RAO is not conducted anymore if the preventive result is not secure. This helps save time when the objective is not attained.
  • Curative perimeters with only "unoptimized" CNECs now have a finite functional cost (instead of -infinity), allowing them to better be optimized

Bug fixes

  • Logs have been corrected to better print infinite values and some annoying logs have been demoted to technical logs
  • Sensitivity provider parameter is now taken into account in second preventive RAO
  • Rounding issues, preventing PSTs in some cases from attaining their min/max allowable tap positions, have been corrected
  • CSE CRAC creator now ignores empty remedial actions instead of failing
  • A bug in GLSK reserve blocks imports has been fixed

V3.6.0

21 Jan 16:38
Compare
Choose a tag to compare

Release Note

CRAC object model

  • addition of a new type of RangeAction, the InjectionRangeAction. This new RangeAction acts on a set of Injections (Loads of Generators), proportionally to given distribution keys. It could notably be used to model remedial actions on HVDCs in UCTE convention
  • addition of adders, adaptation of JSON i/o for this new RangeAction
  • adaptation of the RAO and the RaoResult to take into account this new RangeAction

CRAC creation

  • Adaptation of the CSE Crac Creator, which now creates an InjectionRangeAction instead of the HvdcRangeAction
  • Addition of the farao-crac-creator-fb-constraint, with the creation of a CRAC from a fb-constraint file

RAO features

  • Improvement of the logs of the RAO, logging of business logs, business warns and technical logs in separates channels.
  • possibility to add in the RaoParameters the name of the sensitvityAnalysis implementation to be used by the RAO
  • If stop criterion is 'SECURE', the search-tree now gets interrupted within a depth as soon as it finds a secure solution. Reproducibility of this behaviour is ensured, even in multi-threaded mode.

Breaking change

  • CRAC API: change of the import path of the classes related to Ranges
  • CRAC API: modification of the newHvdcRange(), for the more generic newRange() method
  • CRAC JSON: new version, with addition of InjectionRangeAction
  • RaoResult JSON: new version, with standardization of HvdcRangeAction and InjectionRangeAction results into a same dedicated field
  • RaoParameters : new parameters injection-ra-penalty-cost, injection-ra-sensitivity-threshold, sensitivity-provider