Skip to content

Migration guide 6.2.0

phiedw edited this page Jan 13, 2025 · 1 revision

crac module path renaming (#1201)

com.powsybl.openrao.data.cracapi is now com.powsybl.openrao.data.crac.api

com.powsybl.openrao.data.cracio is now com.powsybl.openrao.data.crac.io

Unify rao result export (#1158)

To export a RaoResult in CNE format, there is no longer need to provide a network, RAO parameters nor CneExporterParameters.

The network relevant data is automatically added to the CRAC Creation Context since #1157.

CneExporterParameters and relevant RaoParameters should be included in the properties input. The following tables sum up how to fill the properties input based on the output format:

JSON

All properties must be prefixed with "rao-result.export.json."

Property name Role Value parsed by default Additional information
"flows-in-amperes" Export flows in amperes "false" Boolean value that replaces Unit.AMPERE in the deleted JSON export attribute Set<Unit> flowUnits
"flows-in-megawatts" Export flows in megawatts "false" Boolean value that replaces Unit.MEGAWATT in the deleted JSON export attribute Set<Unit> flowUnits

At least one of flows-in-amperes or "flows-in-megawatts" must be true otherwise the export will fail.

CNE

All properties must be prefixed with "rao-result.export.core-cne." for CORE CNE export and "rao-result.export.swe-cne." for SWE CNE export

Property name Role Value parsed by default Original object Additional information
"relative-positive-margins" Indicate if the type of the RAO's objective function is relative "false" RaoParameters Replaces RaoParameters.getObjectiveFunctionParameters().getType(). Must be the same as the one declared in the RAO Parameters for coherence's sake., CORE only
"with-loop-flows" "false" RaoParameters Must be the same true only if the input RAO Parameters have a LoopFlow extension for coherence's sake., CORE only
"mnec-acceptable-margin-diminution" "0" RaoParameters Replaces RaoParameters.getExtension(MnecParametersExtension.class).getAcceptableMarginDecrease(). Must be the same as the one declared in the RAO Parameters for coherence's sake., CORE only
"document-id" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the documentId attribute of the CneExporterParameters`.
"revision-number" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the revisionNumber attribute of the CneExporterParameters`.
"domain-id" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the domainId attribute of the CneExporterParameters`.
"process-type" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the processType attribute of the CneExporterParameters`.
"sender-id" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the senderId attribute of the CneExporterParameters`.
"sender-role" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the senderRole attribute of the CneExporterParameters`.
"receiver-id" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the receiverId attribute of the CneExporterParameters`.
"receiver-role" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the receiverRole attribute of the CneExporterParameters`.
"time-interval" - None, exporter will throw exception if not provided. CneExporterParameters Parsed to create the timeInterval attribute of the CneExporterParameters`.

rao-result-io module and better definition of paths (#1200)

The new naming and structure are:

rao-result (com.powsybl.openrao.data.raoresult)
 |_ rao-result-api (com.powsybl.openrao.data.raoresult.api)
 |_ rao-result-impl (com.powsybl.openrao.data.raoresult.impl)
 |_ rao-result-io (com.powsybl.openrao.data.raoresult.io)
     |_ rao-result-cne (com.powsybl.openrao.data.raoresult.io.cne)
         |_ cne-exporter-commons (com.powsybl.openrao.data.raoresult.io.cne.commons)
         |_ core-cne-exporter (com.powsybl.openrao.data.raoresult.io.cne.core)
         |_ swe-cne-exporter (com.powsybl.openrao.data.raoresult.io.cne.swe)
     |_ rao-result-json (com.powsybl.openrao.data.raoresult.io.json)

Export execution details (#1193)

If you use RaoResult.getOptimizationSteps, you will have to replace it with RaoResult.getExecutionDetails

Update pom (#1164)

If you used to use jaxb to import cracs, you may need to switch to a jakarta version. (We switched to jakarta.xml.bind.version 4.0.2 and jaxb-runtime.version 4.0.5)