Skip to content

Migration guide v6.6.0

Florian Dupuy edited this page Dec 4, 2024 · 15 revisions

Breaking Change Breaking changes for all users

IIDM

Network events

In this release, NetworkListener has been modified with breaking changes:

  • onUpdate and onExtensionUpdate overload without variant ID have been removed, we expect now to have one with variant ID to use everywhere and with a null variantId in case of an attribute that does not depend on variant.
  • onElementAdded has been renamed onPropertyAdded and default empty implementation has been removed
  • onElementReplaced has been renamed onPropertyReplaced and default empty implementation has been removed
  • onElementRemoved has been renamed onPropertyRemoved and default empty implementation has been removed
  • default empty implementation of onVariantCreated, onVariantOverwritten, onVariantRemoved have been removed

Substation geographicalTags attribute is no more an (old) element type notification but a standard attribute notification

CGMES

Line and substation containers

  • Conversion.getFictitiousVoltageLevelForNodeInContainer(String containerId, String nodeId) was removed.
    Instead, use SubstationIdMapping.getFictitiousVoltageLevelForContainer(String containerId, String nodeId).

  • CgmesModel has two new methods that should be implemented if you have classes implementing this interface:

    • Optional<String> node(CgmesTerminal t, boolean nodeBreaker);
    • Optional<CgmesContainer> nodeContainer(String nodeId);
  • SubstationIdMapping was renamed to NodeContainerMapping.
    As a consequence, method substationIdMapping() of com.powsybl.cgmes.conversion.Context was renamed to nodeContainerMapping().

Non-linear shunt conversion performances

Interface CgmesModel has a new method that should be implemented if you have classes implementing this interface:

  • PropertyBags nonlinearShuntCompensatorPoints()

Math

UndirectedGraph notification deactivation

Starting from this release, default implementations for addVertexIfNotPresent and vertexExists methods have been removed from UndirectedGraph interface.

AMPL

AMPL export v1.2

Users of AMPL export will need to adapt the AMPL import they are using to take account of:

  • the new columns in version 1.2:
    • generator table: "condenser";
    • LCC converter stations table: "q0 (MVar)";
    • HVDC line table: "ac emul.", "P offset (MW)" and "k (MW/rad)"
  • the name change in the battery table:
    • "q0 (MW)" => "q0 (MVar)"

They can also export their AMPL files in the previous version (v1.1) by using the iidm.export.ampl.export-version export property:

AmplExporter exporter;
// ...
Properties properties = new Properties();
properties.put("iidm.export.ampl.export-version", "1.1");
exporter.export(network, properties, dataSource);

Custom IIDM Impl Notice for custom IIDM implementations maintainers

New method in Boundary interface

Custom IIDM implementations that are implementing the Boundary interface (which is not necessarily the case) should add the following method to their implementation:

  • getI()

New method in RemoteReactivePowerControl extension

Custom IIDM implementation maintainers should implement the following method in their RemoteReactivePowerControl implementations:

  • RemoteReactivePowerControl setRegulatingTerminal(Terminal regulatingTerminals);

New method in VoltageLevel

Custom IIDM implementation maintainers should implement the following method in their VoltageLevel implementations:

  • void convertToTopology(TopologyKind newTopologyKind);

Test Data Change Changes in the test data

CGMES

Simplifying unit tests

The following methods of CgmesConformity1ModifiedCatalog, were removed:

  • miniGridNodeBreakerMissingVoltageLevel()
  • miniNodeBreakerCimLine()
  • miniNodeBreakerSwitchBetweenVoltageLevelsOpen()
  • miniNodeBreakerJoinVoltageLevelSwitch()
  • miniNodeBreakerJoinVoltageLevelTx()
  • miniNodeBreakerSubstationNode()

They were used for unit testing, but they relied on big CGMES files ; this slowed the tests execution. If you still need to use them, you can retrieve the methods at this URL and the corresponding CGMES files in this directory.

Generator targetV in Eurostag tutorial tests

There was an inconsistency in the following methods of EurostagTutorialExample1Factory:

  • createWithRemoteVoltageGenerator()
  • createWithRemoteReactiveAndVoltageGenerators()

To solve it, the targetV on generator of ID "GEN" is now set to 399 kV instead of 24.5 kV for these methods.
This may have an impact on your projects' unit tests if you use them.

Clone this wiki locally