Skip to content

Release v2.2.0

Compare
Choose a tag to compare
@murgeyseb murgeyseb released this 11 Jan 17:27

Release note

General

  • Upgrade to java 11
  • OR-Tools update (attached is the associated version of binaries for Linux & Windows)
  • Migration of legacy modules into a new repository

Refactoring - breaking changes in API

Sensitivity computation

Migration of all that is related to sensitivity computations in a dedicated package. Improvement of the performance of the sensitivity computations with :

  • the possibility to mutualize the sensitivity computations of PSTs and PTDFs
  • a better handling of sensitivity factors in DC mode

Glsk importer

Refactoring of the API of the GLSK importers

Flow-based computation

Migration of the flow-based-computation module which now relies on the Crac object (instead of the CracFile object which have since been moved in the farao-legacy repository)

Crac packages

  • refactoring of thresholds : fixing of some issues with tie-lines and transformers threshold
  • refactoring of usage rules
  • clarification of PstSetPoint tap convention

Remedial Action Optimization

  • modification of the Rao API with the RaoInput object

New Features

Relative margin objective function

(the related margin of a Cnec is equal to its margin, weighted by the impact of zone-to-zone exchanges on the Cnecs)

  • new objective functions : MAX_MIN_RELATIVE_MARGIN_IN_MEGAWATT, and MAX_MIN_RELATIVE_MARGIN_IN_AMPERE
  • addition of several parameters in the configuration of the RAO related to this new objective function : ptdfBoundaries, ptdfSumLowerBound, negativeMarginObjectiveCoefficient.

Curative remedial action Optimization

Curative remedial actions are now optimized by Farao.
Farao solves sequentially the preventive perimeter, and curative perimeters. More information on the website

  • possibility to solve in parallel several curative perimeters

Loop-flow computation

  • reference program file : new packages dedicated to the reference program file and its import from a xml file + consideration in loop-flow computation of the reference program when shifting net positions
  • virtual hubs : consideration of virtual-hubs in loop-flow computation, relying on the new version of farao-virtual-hubs repository
  • new configuration parameter : define which countries are taken into account in loop-flow computation
  • new configuration parameter : define an acceptable loop-flow augmentation
  • new configuration paramter : set a new possible approximation level (UPDATE_PTDF_AFTER_TOPO)

Miscellaneous

  • parallel PSTs : addition of a groupId attribute to the RangeAction. All rangeActions from the same group must have the same setpoint.
  • handle contingencies on dangling lines
  • new utility method which enable to apply remedial action on a network

Performance related features

  • geographical filter : addition of configuration parameters which enable to only investigate network action which are "geographically close" from the most limiting Cnec
  • curative RAO stop criterion : addition of the possibility to have a curative stop criterion that is different from the preventive stop criterion, and which can be defined relatively to the objective function value found in preventive.
  • improve crac usage performances in some crac-impl classes

Some remarks on the quick evolution of Farao's API

The code of farao-core is still evolving significantly from one release to the next. Several of those evolution are impacting, in one way or another, the APIs of Farao and consequently the applications that rely on it. We are indeed in a stage in which we are still allowing ourselves to bring many breaking changes to our API.

These quick evolution of the API give us the flexibility in the current stages of the Farao development to question some of our initial choices, and adapt some parts of the source in order to make them more robust, scalable, easy-to-read and fitted to the newly developed features.

Eventually the API of FARAO will be stabilized, and breaking changes will be made with parsimony and be accompanied by more documentation. But this stabilization will come later as significant changes in the crac-api are still expected in the next releases.