diff --git a/src/main/java/org/gridsuite/network/map/NetworkMapService.java b/src/main/java/org/gridsuite/network/map/NetworkMapService.java index 4fcfa776..cd739454 100644 --- a/src/main/java/org/gridsuite/network/map/NetworkMapService.java +++ b/src/main/java/org/gridsuite/network/map/NetworkMapService.java @@ -169,10 +169,12 @@ private static LineMapData toMapData(Line line) { CurrentLimits limits2 = line.getCurrentLimits2().orElse(null); if (limits1 != null && !Double.isNaN(limits1.getPermanentLimit())) { - builder.permanentLimit1(limits1.getPermanentLimit()); + builder.currentLimits1(CurrentLimitsData.builder() + .permanentLimit(limits1.getPermanentLimit()).build()); } if (limits2 != null && !Double.isNaN(limits2.getPermanentLimit())) { - builder.permanentLimit2(limits2.getPermanentLimit()); + builder.currentLimits2(CurrentLimitsData.builder() + .permanentLimit(limits2.getPermanentLimit()).build()); } BranchStatus branchStatus = line.getExtension(BranchStatus.class); if (branchStatus != null) { @@ -182,16 +184,18 @@ private static LineMapData toMapData(Line line) { if (connectablePosition != null) { if (connectablePosition.getFeeder1() != null) { builder - .connectionDirection1(connectablePosition.getFeeder1().getDirection()) - .connectionName1(connectablePosition.getFeeder1().getName().orElse(null)) - .connectionPosition1(connectablePosition.getFeeder1().getOrder().orElse(null)); + .position1(ConnectablePositionData.builder() + .direction(connectablePosition.getFeeder1().getDirection()) + .label(connectablePosition.getFeeder1().getName().orElse(null)) + .order(connectablePosition.getFeeder1().getOrder().orElse(null)).build()); } if (connectablePosition.getFeeder2() != null) { builder - .connectionDirection2(connectablePosition.getFeeder2().getDirection()) - .connectionName2(connectablePosition.getFeeder2().getName().orElse(null)) - .connectionPosition2(connectablePosition.getFeeder2().getOrder().orElse(null)); + .position2(ConnectablePositionData.builder() + .direction(connectablePosition.getFeeder2().getDirection()) + .label(connectablePosition.getFeeder2().getName().orElse(null)) + .order(connectablePosition.getFeeder2().getOrder().orElse(null)).build()); } } return builder.build(); @@ -220,10 +224,12 @@ private static LineMapData toBasicMapData(Line line) { CurrentLimits limits2 = line.getCurrentLimits2().orElse(null); if (limits1 != null && !Double.isNaN(limits1.getPermanentLimit())) { - builder.permanentLimit1(limits1.getPermanentLimit()); + builder.currentLimits1(CurrentLimitsData.builder() + .permanentLimit(limits1.getPermanentLimit()).build()); } if (limits2 != null && !Double.isNaN(limits2.getPermanentLimit())) { - builder.permanentLimit2(limits2.getPermanentLimit()); + builder.currentLimits2(CurrentLimitsData.builder() + .permanentLimit(limits2.getPermanentLimit()).build()); } BranchStatus branchStatus = line.getExtension(BranchStatus.class); if (branchStatus != null) { @@ -334,13 +340,13 @@ private static GeneratorMapData toMapData(Generator generator) { } private static List toMapData(Collection points) { - return points.stream() - .map(point -> ReactiveCapabilityCurveMapData.builder() - .p(point.getP()) - .qmaxP(point.getMaxQ()) - .qminP(point.getMinQ()) - .build()) - .collect(Collectors.toList()); + return points.stream() + .map(point -> ReactiveCapabilityCurveMapData.builder() + .p(point.getP()) + .qmaxP(point.getMaxQ()) + .qminP(point.getMinQ()) + .build()) + .collect(Collectors.toList()); } private static Double nullIfNan(double d) { @@ -382,10 +388,12 @@ private static TwoWindingsTransformerMapData toMapData(TwoWindingsTransformer tr CurrentLimits limits1 = transformer.getCurrentLimits1().orElse(null); CurrentLimits limits2 = transformer.getCurrentLimits2().orElse(null); if (limits1 != null && !Double.isNaN(limits1.getPermanentLimit())) { - builder.permanentLimit1(limits1.getPermanentLimit()); + builder.currentLimits1(CurrentLimitsData.builder() + .permanentLimit(limits1.getPermanentLimit()).build()); } if (limits2 != null && !Double.isNaN(limits2.getPermanentLimit())) { - builder.permanentLimit2(limits2.getPermanentLimit()); + builder.currentLimits2(CurrentLimitsData.builder() + .permanentLimit(limits2.getPermanentLimit()).build()); } BranchStatus branchStatus = transformer.getExtension(BranchStatus.class); if (branchStatus != null) { @@ -395,16 +403,18 @@ private static TwoWindingsTransformerMapData toMapData(TwoWindingsTransformer tr if (connectablePosition != null) { if (connectablePosition.getFeeder1() != null) { builder - .connectionDirection1(connectablePosition.getFeeder1().getDirection()) - .connectionName1(connectablePosition.getFeeder1().getName().orElse(null)) - .connectionPosition1(connectablePosition.getFeeder1().getOrder().orElse(null)); + .position1(ConnectablePositionData.builder() + .direction(connectablePosition.getFeeder1().getDirection()) + .label(connectablePosition.getFeeder1().getName().orElse(null)) + .order(connectablePosition.getFeeder1().getOrder().orElse(null)).build()); } if (connectablePosition.getFeeder2() != null) { builder - .connectionDirection2(connectablePosition.getFeeder2().getDirection()) - .connectionName2(connectablePosition.getFeeder2().getName().orElse(null)) - .connectionPosition2(connectablePosition.getFeeder2().getOrder().orElse(null)); + .position2(ConnectablePositionData.builder() + .direction(connectablePosition.getFeeder2().getDirection()) + .label(connectablePosition.getFeeder2().getName().orElse(null)) + .order(connectablePosition.getFeeder2().getOrder().orElse(null)).build()); } } return builder.build(); @@ -416,15 +426,18 @@ private static TapChangerData toMapData(RatioTapChanger tapChanger) { } TapChangerData.TapChangerDataBuilder builder = TapChangerData.builder() - .lowTapPosition(tapChanger.getLowTapPosition()) - .highTapPosition(tapChanger.getHighTapPosition()) - .tapPosition(tapChanger.getTapPosition()) - .regulating(tapChanger.isRegulating()) - .loadTapChangingCapabilities(tapChanger.hasLoadTapChangingCapabilities()) - .regulatingTerminalConnectableId(tapChanger.getRegulationTerminal() != null ? tapChanger.getRegulationTerminal().getConnectable().getId() : null) - .regulatingTerminalConnectableType(tapChanger.getRegulationTerminal() != null ? tapChanger.getRegulationTerminal().getConnectable().getType().name() : null) - .regulatingTerminalVlId(tapChanger.getRegulationTerminal() != null ? tapChanger.getRegulationTerminal().getVoltageLevel().getId() : null) - .steps(toMapDataRatioStep(tapChanger.getAllSteps())); + .lowTapPosition(tapChanger.getLowTapPosition()) + .highTapPosition(tapChanger.getHighTapPosition()) + .tapPosition(tapChanger.getTapPosition()) + .regulating(tapChanger.isRegulating()) + .loadTapChangingCapabilities(tapChanger.hasLoadTapChangingCapabilities()) + .regulatingTerminal(tapChanger.getRegulationTerminal() != null ? RegulatingTerminalData.builder() + .id(tapChanger.getRegulationTerminal().getConnectable().getId()) + .vlId(tapChanger.getRegulationTerminal().getVoltageLevel().getId()) + .type(tapChanger.getRegulationTerminal().getConnectable().getType().name()) + .build() + : null) + .steps(toMapDataRatioStep(tapChanger.getAllSteps())); builder.targetV(nullIfNan(tapChanger.getTargetV())); builder.targetDeadBand(nullIfNan(tapChanger.getTargetDeadband())); @@ -437,17 +450,20 @@ private static TapChangerData toMapData(PhaseTapChanger tapChanger) { } TapChangerData.TapChangerDataBuilder builder = TapChangerData.builder() - .lowTapPosition(tapChanger.getLowTapPosition()) - .highTapPosition(tapChanger.getHighTapPosition()) - .tapPosition(tapChanger.getTapPosition()) - .regulating(tapChanger.isRegulating()) - .regulationMode(tapChanger.getRegulationMode()) - .regulationValue(tapChanger.getRegulationValue()) - .targetDeadBand(tapChanger.getTargetDeadband()) - .regulatingTerminalConnectableId(tapChanger.getRegulationTerminal() != null ? tapChanger.getRegulationTerminal().getConnectable().getId() : null) - .regulatingTerminalConnectableType(tapChanger.getRegulationTerminal() != null ? tapChanger.getRegulationTerminal().getConnectable().getType().name() : null) - .regulatingTerminalVlId(tapChanger.getRegulationTerminal() != null ? tapChanger.getRegulationTerminal().getVoltageLevel().getId() : null) - .steps(toMapDataPhaseStep(tapChanger.getAllSteps())); + .lowTapPosition(tapChanger.getLowTapPosition()) + .highTapPosition(tapChanger.getHighTapPosition()) + .tapPosition(tapChanger.getTapPosition()) + .regulating(tapChanger.isRegulating()) + .regulationMode(tapChanger.getRegulationMode()) + .regulationValue(tapChanger.getRegulationValue()) + .targetDeadBand(tapChanger.getTargetDeadband()) + .regulatingTerminal(tapChanger.getRegulationTerminal() != null ? RegulatingTerminalData.builder() + .id(tapChanger.getRegulationTerminal().getConnectable().getId()) + .vlId(tapChanger.getRegulationTerminal().getVoltageLevel().getId()) + .type(tapChanger.getRegulationTerminal().getConnectable().getType().name()) + .build() + : null) + .steps(toMapDataPhaseStep(tapChanger.getAllSteps())); builder.targetDeadBand(nullIfNan(tapChanger.getTargetDeadband())); return builder.build(); diff --git a/src/main/java/org/gridsuite/network/map/model/ConnectablePositionData.java b/src/main/java/org/gridsuite/network/map/model/ConnectablePositionData.java new file mode 100644 index 00000000..555a41dc --- /dev/null +++ b/src/main/java/org/gridsuite/network/map/model/ConnectablePositionData.java @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2023, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.network.map.model; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.powsybl.iidm.network.extensions.ConnectablePosition; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +/** + * @author Franck Lecuyer + */ +@Builder +@Getter +@EqualsAndHashCode +public class ConnectablePositionData { + + @JsonInclude(JsonInclude.Include.NON_NULL) + private String label; + + @JsonInclude(JsonInclude.Include.NON_NULL) + private Integer order; + + @JsonInclude(JsonInclude.Include.NON_NULL) + private ConnectablePosition.Direction direction; +} diff --git a/src/main/java/org/gridsuite/network/map/model/CurrentLimitsData.java b/src/main/java/org/gridsuite/network/map/model/CurrentLimitsData.java new file mode 100644 index 00000000..d7e78717 --- /dev/null +++ b/src/main/java/org/gridsuite/network/map/model/CurrentLimitsData.java @@ -0,0 +1,25 @@ +/** + * Copyright (c) 2023, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.network.map.model; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +/** + * @author Franck Lecuyer + */ + +@Builder +@Getter +@EqualsAndHashCode +public class CurrentLimitsData { + + @JsonInclude(JsonInclude.Include.NON_NULL) + private Double permanentLimit; +} diff --git a/src/main/java/org/gridsuite/network/map/model/LineMapData.java b/src/main/java/org/gridsuite/network/map/model/LineMapData.java index 4909beee..0412cb51 100644 --- a/src/main/java/org/gridsuite/network/map/model/LineMapData.java +++ b/src/main/java/org/gridsuite/network/map/model/LineMapData.java @@ -7,7 +7,6 @@ package org.gridsuite.network.map.model; import com.fasterxml.jackson.annotation.JsonInclude; -import com.powsybl.iidm.network.extensions.ConnectablePosition; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -57,10 +56,10 @@ public class LineMapData { private Double i2; @JsonInclude(JsonInclude.Include.NON_NULL) - private Double permanentLimit1; + private CurrentLimitsData currentLimits1; @JsonInclude(JsonInclude.Include.NON_NULL) - private Double permanentLimit2; + private CurrentLimitsData currentLimits2; @JsonInclude(JsonInclude.Include.NON_NULL) private String branchStatus; @@ -84,22 +83,10 @@ public class LineMapData { private Double b2; @JsonInclude(JsonInclude.Include.NON_NULL) - private String connectionName1; + private ConnectablePositionData position1; @JsonInclude(JsonInclude.Include.NON_NULL) - private ConnectablePosition.Direction connectionDirection1; - - @JsonInclude(JsonInclude.Include.NON_NULL) - private String connectionName2; - - @JsonInclude(JsonInclude.Include.NON_NULL) - private ConnectablePosition.Direction connectionDirection2; - - @JsonInclude(JsonInclude.Include.NON_NULL) - private Integer connectionPosition1; - - @JsonInclude(JsonInclude.Include.NON_NULL) - private Integer connectionPosition2; + private ConnectablePositionData position2; @JsonInclude(JsonInclude.Include.NON_NULL) private String busOrBusbarSectionId1; diff --git a/src/main/java/org/gridsuite/network/map/model/RegulatingTerminalData.java b/src/main/java/org/gridsuite/network/map/model/RegulatingTerminalData.java new file mode 100644 index 00000000..5c0aac2c --- /dev/null +++ b/src/main/java/org/gridsuite/network/map/model/RegulatingTerminalData.java @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2023, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.network.map.model; + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +/** + * @author Franck Lecuyer + */ +@Builder +@Getter +@EqualsAndHashCode +public class RegulatingTerminalData { + + @JsonInclude(JsonInclude.Include.NON_NULL) + private String id; + + @JsonInclude(JsonInclude.Include.NON_NULL) + private String type; + + @JsonInclude(JsonInclude.Include.NON_NULL) + private String vlId; +} diff --git a/src/main/java/org/gridsuite/network/map/model/TapChangerData.java b/src/main/java/org/gridsuite/network/map/model/TapChangerData.java index c24aae6a..af589e26 100644 --- a/src/main/java/org/gridsuite/network/map/model/TapChangerData.java +++ b/src/main/java/org/gridsuite/network/map/model/TapChangerData.java @@ -44,16 +44,9 @@ public class TapChangerData { private Double regulationValue; @JsonInclude(JsonInclude.Include.NON_NULL) - private String regulatingTerminalConnectableId; - - @JsonInclude(JsonInclude.Include.NON_NULL) - private String regulatingTerminalConnectableType; - - @JsonInclude(JsonInclude.Include.NON_NULL) - private String regulatingTerminalVlId; + private RegulatingTerminalData regulatingTerminal; @JsonInclude(JsonInclude.Include.NON_NULL) private List steps; - } diff --git a/src/main/java/org/gridsuite/network/map/model/TwoWindingsTransformerMapData.java b/src/main/java/org/gridsuite/network/map/model/TwoWindingsTransformerMapData.java index 0f59fb0e..c4dd7f0b 100644 --- a/src/main/java/org/gridsuite/network/map/model/TwoWindingsTransformerMapData.java +++ b/src/main/java/org/gridsuite/network/map/model/TwoWindingsTransformerMapData.java @@ -7,7 +7,6 @@ package org.gridsuite.network.map.model; import com.fasterxml.jackson.annotation.JsonInclude; -import com.powsybl.iidm.network.extensions.ConnectablePosition; import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -55,10 +54,10 @@ public class TwoWindingsTransformerMapData { private Double i2; @JsonInclude(JsonInclude.Include.NON_NULL) - private Double permanentLimit1; + private CurrentLimitsData currentLimits1; @JsonInclude(JsonInclude.Include.NON_NULL) - private Double permanentLimit2; + private CurrentLimitsData currentLimits2; @JsonInclude(JsonInclude.Include.NON_NULL) private TapChangerData phaseTapChanger; @@ -82,20 +81,10 @@ public class TwoWindingsTransformerMapData { private Double ratedS; @JsonInclude(JsonInclude.Include.NON_NULL) - private String connectionName1; - - private ConnectablePosition.Direction connectionDirection1; - - @JsonInclude(JsonInclude.Include.NON_NULL) - private String connectionName2; - - private ConnectablePosition.Direction connectionDirection2; - - @JsonInclude(JsonInclude.Include.NON_NULL) - private Integer connectionPosition1; + private ConnectablePositionData position1; @JsonInclude(JsonInclude.Include.NON_NULL) - private Integer connectionPosition2; + private ConnectablePositionData position2; @JsonInclude(JsonInclude.Include.NON_NULL) private String busOrBusbarSectionId1; diff --git a/src/test/java/org/gridsuite/network/map/ConnectablePositionDataTest.java b/src/test/java/org/gridsuite/network/map/ConnectablePositionDataTest.java new file mode 100644 index 00000000..a072b888 --- /dev/null +++ b/src/test/java/org/gridsuite/network/map/ConnectablePositionDataTest.java @@ -0,0 +1,22 @@ +/** + * Copyright (c) 2023, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.network.map; + +import nl.jqno.equalsverifier.EqualsVerifier; +import org.gridsuite.network.map.model.ConnectablePositionData; +import org.junit.Test; + +/** + * @author Franck Lecuyer + */ +public class ConnectablePositionDataTest { + + @Test + public void equalsContract() { + EqualsVerifier.simple().forClass(ConnectablePositionData.class).verify(); + } +} diff --git a/src/test/java/org/gridsuite/network/map/CurrentLimitsDataTest.java b/src/test/java/org/gridsuite/network/map/CurrentLimitsDataTest.java new file mode 100644 index 00000000..710088b1 --- /dev/null +++ b/src/test/java/org/gridsuite/network/map/CurrentLimitsDataTest.java @@ -0,0 +1,22 @@ +/** + * Copyright (c) 2023, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.network.map; + +import nl.jqno.equalsverifier.EqualsVerifier; +import org.gridsuite.network.map.model.CurrentLimitsData; +import org.junit.Test; + +/** + * @author Franck Lecuyer + */ +public class CurrentLimitsDataTest { + + @Test + public void equalsContract() { + EqualsVerifier.simple().forClass(CurrentLimitsData.class).verify(); + } +} diff --git a/src/test/java/org/gridsuite/network/map/RegulatingTerminalDataTest.java b/src/test/java/org/gridsuite/network/map/RegulatingTerminalDataTest.java new file mode 100644 index 00000000..e1f08486 --- /dev/null +++ b/src/test/java/org/gridsuite/network/map/RegulatingTerminalDataTest.java @@ -0,0 +1,22 @@ +/** + * Copyright (c) 2023, RTE (http://www.rte-france.com) + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.gridsuite.network.map; + +import nl.jqno.equalsverifier.EqualsVerifier; +import org.gridsuite.network.map.model.RegulatingTerminalData; +import org.junit.Test; + +/** + * @author Franck Lecuyer + */ +public class RegulatingTerminalDataTest { + + @Test + public void equalsContract() { + EqualsVerifier.simple().forClass(RegulatingTerminalData.class).verify(); + } +} diff --git a/src/test/resources/2-windings-transformer-map-data.json b/src/test/resources/2-windings-transformer-map-data.json index 7188c32d..fcedd852 100644 --- a/src/test/resources/2-windings-transformer-map-data.json +++ b/src/test/resources/2-windings-transformer-map-data.json @@ -1,47 +1,55 @@ { "id": "NGEN_NHV1", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV1", "voltageLevelName2": null, "name": null, "terminal1Connected": true, "terminal2Connected": true, - "branchStatus": "PLANNED_OUTAGE", "p1": 11.1, "q1": 12.2, "p2": 13.33, "q2": 14.44, - "permanentLimit1": 750.4, - "permanentLimit2": 780.6, + "currentLimits1": { + "permanentLimit": 750.4 + }, + "currentLimits2": { + "permanentLimit": 780.6 + }, "phaseTapChanger": { "lowTapPosition": 0, - "highTapPosition": 1, "tapPosition": 1, + "highTapPosition": 1, "regulating": true, "targetDeadBand": 0.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 10.0, - "regulatingTerminalConnectableId": "NGEN_NHV1", - "regulatingTerminalConnectableType": "TWO_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLGEN", - "steps": [{ - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8500000238418579, - "alpha": 1, - "index": 0 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8999999761581421, - "alpha": 1, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 10.0, + "regulatingTerminal": { + "id": "NGEN_NHV1", + "type": "TWO_WINDINGS_TRANSFORMER", + "vlId": "VLGEN" + }, + "steps": [ + { + "index": 0, + "rho": 0.8500000238418579, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + }, + { + "index": 1, + "rho": 0.8999999761581421, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + } + ] }, "g": 0.0, "b": 0.0, @@ -49,12 +57,17 @@ "x": 11.104492831516762, "ratedU1": 24.0, "ratedU2": 400.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, + "branchStatus": "PLANNED_OUTAGE", "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NHV1" } diff --git a/src/test/resources/2-windings-transformers-map-data.json b/src/test/resources/2-windings-transformers-map-data.json index fe2cf9ad..48094c07 100644 --- a/src/test/resources/2-windings-transformers-map-data.json +++ b/src/test/resources/2-windings-transformers-map-data.json @@ -2,47 +2,55 @@ { "id": "NGEN_NHV1", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV1", "voltageLevelName2": null, "name": null, "terminal1Connected": true, "terminal2Connected": true, - "branchStatus": "PLANNED_OUTAGE", "p1": 11.1, "q1": 12.2, "p2": 13.33, "q2": 14.44, - "permanentLimit1": 750.4, - "permanentLimit2": 780.6, + "currentLimits1": { + "permanentLimit": 750.4 + }, + "currentLimits2": { + "permanentLimit": 780.6 + }, "phaseTapChanger": { "lowTapPosition": 0, - "highTapPosition": 1, "tapPosition": 1, + "highTapPosition": 1, "regulating": true, "targetDeadBand": 0.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 10.0, - "regulatingTerminalConnectableId": "NGEN_NHV1", - "regulatingTerminalConnectableType": "TWO_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLGEN", - "steps": [{ - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8500000238418579, - "alpha": 1, - "index": 0 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8999999761581421, - "alpha": 1, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 10.0, + "regulatingTerminal": { + "id": "NGEN_NHV1", + "type": "TWO_WINDINGS_TRANSFORMER", + "vlId": "VLGEN" + }, + "steps": [ + { + "index": 0, + "rho": 0.8500000238418579, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + }, + { + "index": 1, + "rho": 0.8999999761581421, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + } + ] }, "g": 0.0, "b": 0.0, @@ -50,64 +58,78 @@ "x": 11.104492831516762, "ratedU1": 24.0, "ratedU2": 400.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, + "branchStatus": "PLANNED_OUTAGE", "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NHV1" }, { "id": "NHV2_NLOAD", "voltageLevelId1": "VLHV2", - "voltageLevelId2": "VLLOAD", "voltageLevelName1": null, + "voltageLevelId2": "VLLOAD", "voltageLevelName2": null, "name": null, "terminal1Connected": true, "terminal2Connected": true, - "branchStatus": "PLANNED_OUTAGE", "p1": 5.5, "q1": 6.6, "p2": 7.77, "q2": 8.88, - "permanentLimit1": 900.5, - "permanentLimit2": 950.5, + "currentLimits1": { + "permanentLimit": 900.5 + }, + "currentLimits2": { + "permanentLimit": 950.5 + }, "ratioTapChanger": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 0.0, - "targetV": 158.0, - "loadTapChangingCapabilities": true, + "highTapPosition": 2, "regulating": true, - "regulatingTerminalConnectableId": "NHV2_NLOAD", - "regulatingTerminalConnectableType": "TWO_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLLOAD", - "steps": [{ - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8505666905244191, - "index": 0 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 1.0006666666666666, - "index": 1 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 1.150766642808914, - "index": 2 - }] + "loadTapChangingCapabilities": true, + "targetV": 158.0, + "targetDeadBand": 0.0, + "regulatingTerminal": { + "id": "NHV2_NLOAD", + "type": "TWO_WINDINGS_TRANSFORMER", + "vlId": "VLLOAD" + }, + "steps": [ + { + "index": 0, + "rho": 0.8505666905244191, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + }, + { + "index": 1, + "rho": 1.0006666666666666, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + }, + { + "index": 2, + "rho": 1.150766642808914, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + } + ] }, "g": 0.0, "b": 0.0, @@ -115,12 +137,17 @@ "x": 4.049724365620455, "ratedU1": 400.0, "ratedU2": 158.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, + "branchStatus": "PLANNED_OUTAGE", "busOrBusbarSectionId1": "NHV2", "busOrBusbarSectionId2": "NLOAD" } diff --git a/src/test/resources/3-windings-transformers-map-data.json b/src/test/resources/3-windings-transformers-map-data.json index 0ac21292..2179a976 100644 --- a/src/test/resources/3-windings-transformers-map-data.json +++ b/src/test/resources/3-windings-transformers-map-data.json @@ -18,85 +18,93 @@ "permanentLimit3": 54.0, "phaseTapChanger1": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, "ratioTapChanger3": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, - "regulatingMode1" : "CURRENT_LIMITER", - "regulatingPhase1" : true, - "regulatingValue1" : 25.0, "loadTapChanging3Capabilities": false, - "regulatingRatio3" : false, - "targetV3" : 220.0, + "targetV3": 220.0, + "regulatingMode1": "CURRENT_LIMITER", + "regulatingRatio3": false, + "regulatingPhase1": true, + "regulatingValue1": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" @@ -120,85 +128,93 @@ "permanentLimit2": 25.0, "ratioTapChanger1": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT21", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT21", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, "phaseTapChanger2": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT21", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT21", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, - "regulatingMode2" : "CURRENT_LIMITER", - "regulatingPhase2" : true, - "regulatingValue2" : 25.0, "loadTapChanging1Capabilities": false, - "regulatingRatio1" : false, - "targetV1" : 220.0, + "targetV1": 220.0, + "regulatingMode2": "CURRENT_LIMITER", + "regulatingRatio1": false, + "regulatingPhase2": true, + "regulatingValue2": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" @@ -222,85 +238,93 @@ "permanentLimit3": 25.0, "ratioTapChanger2": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT32", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT32", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, "phaseTapChanger3": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT32", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT32", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, - "regulatingMode3" : "CURRENT_LIMITER", - "regulatingPhase3" : true, - "regulatingValue3" : 25.0, "loadTapChanging2Capabilities": false, - "regulatingRatio2" : false, - "targetV2" : 220.0, + "targetV2": 220.0, + "regulatingMode3": "CURRENT_LIMITER", + "regulatingRatio2": false, + "regulatingPhase3": true, + "regulatingValue3": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" diff --git a/src/test/resources/all-map-data-in-variant.json b/src/test/resources/all-map-data-in-variant.json index 6a786fdc..a95ede75 100644 --- a/src/test/resources/all-map-data-in-variant.json +++ b/src/test/resources/all-map-data-in-variant.json @@ -1,9 +1,9 @@ { "substations": [ { - "countryCode": "FR", "id": "P1", "countryName": "FRANCE", + "countryCode": "FR", "voltageLevels": [ { "id": "VLNEW2", @@ -43,9 +43,9 @@ ] }, { - "countryCode": "FR", "id": "P3", "countryName": "FRANCE", + "countryCode": "FR", "voltageLevels": [ { "id": "VLGEN3", @@ -56,22 +56,23 @@ ] }, { - "countryCode": "FR", "id": "P4", "countryName": "FRANCE", + "countryCode": "FR", "voltageLevels": [ { "id": "VLGEN4", "substationId": "P4", "nominalVoltage": 24.0, "topologyKind": "NODE_BREAKER", - "busbarSections": - [{ - "id": "NGEN4", - "name": "NGEN4", - "vertPos": 1, - "horizPos": 2 - }] + "busbarSections": [ + { + "id": "NGEN4", + "name": "NGEN4", + "vertPos": 1, + "horizPos": 2 + } + ] } ] } @@ -80,8 +81,8 @@ { "id": "NHV1_NHV2_1", "voltageLevelId1": "VLHV1", - "voltageLevelId2": "VLHV2", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -89,45 +90,53 @@ "q1": 2.2, "p2": 3.33, "q2": 4.44, - "permanentLimit1": 700.4, - "permanentLimit2": 800.8, + "currentLimits1": { + "permanentLimit": 700.4 + }, + "currentLimits2": { + "permanentLimit": 800.8 + }, "r": 9.0, "x": 10.0, "g1": 7.0, "b1": 5.0, "g2": 8.0, "b2": 6.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NHV2" }, { "id": "NHV1_NHV2_2", "voltageLevelId1": "VLHV1", - "voltageLevelId2": "VLHV2", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, - "r":3.0, - "x":33.0, - "g1":0.0, - "b1":1.93E-4, - "g2":0.0, - "b2":1.93E-4, + "r": 3.0, + "x": 33.0, + "g1": 0.0, + "b1": 1.93E-4, + "g2": 0.0, + "b2": 1.93E-4, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NHV2" }, { "id": "LINE3", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLGEN3", "voltageLevelName1": null, + "voltageLevelId2": "VLGEN3", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -138,12 +147,16 @@ "b1": 1.93E-4, "g2": 0.0, "b2": 1.93E-4, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NGEN3" } @@ -152,47 +165,55 @@ { "id": "NGEN_NHV1", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV1", "voltageLevelName2": null, "name": null, "terminal1Connected": true, "terminal2Connected": true, - "branchStatus": "PLANNED_OUTAGE", "p1": 11.1, "q1": 12.2, "p2": 13.33, "q2": 14.44, - "permanentLimit1": 750.4, - "permanentLimit2": 780.6, + "currentLimits1": { + "permanentLimit": 750.4 + }, + "currentLimits2": { + "permanentLimit": 780.6 + }, "phaseTapChanger": { "lowTapPosition": 0, - "highTapPosition": 1, "tapPosition": 1, + "highTapPosition": 1, "regulating": true, "targetDeadBand": 0.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 10.0, - "regulatingTerminalConnectableId": "NGEN_NHV1", - "regulatingTerminalConnectableType": "TWO_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLGEN", - "steps": [{ - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8500000238418579, - "alpha": 1, - "index": 0 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8999999761581421, - "alpha": 1, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 10.0, + "regulatingTerminal": { + "id": "NGEN_NHV1", + "type": "TWO_WINDINGS_TRANSFORMER", + "vlId": "VLGEN" + }, + "steps": [ + { + "index": 0, + "rho": 0.8500000238418579, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + }, + { + "index": 1, + "rho": 0.8999999761581421, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + } + ] }, "g": 0.0, "b": 0.0, @@ -200,64 +221,78 @@ "x": 11.104492831516762, "ratedU1": 24.0, "ratedU2": 400.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NGEN", - "busOrBusbarSectionId2": "NHV1" + "busOrBusbarSectionId2": "NHV1", + "branchStatus": "PLANNED_OUTAGE" }, { "id": "NHV2_NLOAD", "voltageLevelId1": "VLHV2", - "voltageLevelId2": "VLLOAD", "voltageLevelName1": null, + "voltageLevelId2": "VLLOAD", "voltageLevelName2": null, "name": null, "terminal1Connected": true, "terminal2Connected": true, - "branchStatus": "PLANNED_OUTAGE", "p1": 5.5, "q1": 6.6, "p2": 7.77, "q2": 8.88, - "permanentLimit1": 900.5, - "permanentLimit2": 950.5, + "currentLimits1": { + "permanentLimit": 900.5 + }, + "currentLimits2": { + "permanentLimit": 950.5 + }, "ratioTapChanger": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 0.0, - "targetV": 158.0, - "loadTapChangingCapabilities": true, + "highTapPosition": 2, "regulating": true, - "regulatingTerminalConnectableId": "NHV2_NLOAD", - "regulatingTerminalConnectableType": "TWO_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLLOAD", - "steps": [{ - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8505666905244191, - "index": 0 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 1.0006666666666666, - "index": 1 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 1.150766642808914, - "index": 2 - }] + "loadTapChangingCapabilities": true, + "targetV": 158.0, + "targetDeadBand": 0.0, + "regulatingTerminal": { + "id": "NHV2_NLOAD", + "type": "TWO_WINDINGS_TRANSFORMER", + "vlId": "VLLOAD" + }, + "steps": [ + { + "index": 0, + "rho": 0.8505666905244191, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + }, + { + "index": 1, + "rho": 1.0006666666666666, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + }, + { + "index": 2, + "rho": 1.150766642808914, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + } + ] }, "g": 0.0, "b": 0.0, @@ -265,14 +300,19 @@ "x": 4.049724365620455, "ratedU1": 400.0, "ratedU2": 158.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NHV2", - "busOrBusbarSectionId2": "NLOAD" + "busOrBusbarSectionId2": "NLOAD", + "branchStatus": "PLANNED_OUTAGE" } ], "threeWindingsTransformers": [ @@ -295,85 +335,93 @@ "permanentLimit3": 54.0, "phaseTapChanger1": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, "ratioTapChanger3": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, - "regulatingMode1" : "CURRENT_LIMITER", - "regulatingPhase1" : true, - "regulatingValue1" : 25.0, "loadTapChanging3Capabilities": false, - "regulatingRatio3" : false, - "targetV3" : 220.0, + "targetV3": 220.0, + "regulatingMode1": "CURRENT_LIMITER", + "regulatingRatio3": false, + "regulatingPhase1": true, + "regulatingValue1": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" @@ -397,85 +445,93 @@ "permanentLimit2": 25.0, "ratioTapChanger1": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT21", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT21", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, "phaseTapChanger2": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT21", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT21", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, - "regulatingMode2" : "CURRENT_LIMITER", - "regulatingPhase2" : true, - "regulatingValue2" : 25.0, "loadTapChanging1Capabilities": false, - "regulatingRatio1" : false, - "targetV1" : 220.0, + "targetV1": 220.0, + "regulatingMode2": "CURRENT_LIMITER", + "regulatingRatio1": false, + "regulatingPhase2": true, + "regulatingValue2": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" @@ -499,85 +555,93 @@ "permanentLimit3": 25.0, "ratioTapChanger2": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT32", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT32", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, "phaseTapChanger3": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT32", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT32", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, - "regulatingMode3" : "CURRENT_LIMITER", - "regulatingPhase3" : true, - "regulatingValue3" : 25.0, "loadTapChanging2Capabilities": false, - "regulatingRatio2" : false, - "targetV2" : 220.0, + "targetV2": 220.0, + "regulatingMode3": "CURRENT_LIMITER", + "regulatingRatio2": false, + "regulatingPhase3": true, + "regulatingValue3": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" @@ -588,31 +652,31 @@ "id": "GEN", "name": null, "voltageLevelId": "VLGEN", - "activePowerControlOn":true, + "activePowerControlOn": true, "terminalConnected": true, "p": 25.0, "q": 32.0, "targetP": 28.0, - "targetQ":301.0, - "targetV":24.5, + "targetQ": 301.0, + "targetV": 24.5, "minP": -9999.99, "maxP": 9999.99, - "energySource":"OTHER", - "ratedS": 27, - "voltageRegulatorOn":true, + "energySource": "OTHER", + "ratedS": 27.0, + "voltageRegulatorOn": true, "minMaxReactiveLimits": { - "minimumReactivePower": -500, - "maximumReactivePower": 500 + "minimumReactivePower": -500.0, + "maximumReactivePower": 500.0 }, - "droop": 4, + "droop": 4.0, "regulatingTerminalConnectableId": "NHV1_NHV2_1", "regulatingTerminalConnectableType": "LINE", "regulatingTerminalVlId": "VLHV1", "connectionName": "feederName", "connectionDirection": "TOP", - "qPercent": 10.0, "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN" + "busOrBusbarSectionId": "NGEN", + "qPercent": 10.0 }, { "id": "GEN2", @@ -645,9 +709,9 @@ ], "connectionName": "feederName", "connectionDirection": "TOP", - "qPercent": 10.0, "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN" + "busOrBusbarSectionId": "NGEN", + "qPercent": 10.0 } ], "batteries": [ @@ -701,24 +765,9 @@ "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", "converterStationId1": "VSC1", "converterStationId2": "LCC2", + "r": 1.0, "activePowerSetpoint": 500.0, - "r": 1, - "maxP": 100 - }, - { - "id": "HVDC2", - "name": "HVDC2", - "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", - "converterStationId1": "VSC1", - "converterStationId2": "LCC2", - "activePowerSetpoint": 500.0, - "r": 1, - "maxP": 100, - "k": 180, - "p0": 190, - "oprFromCS1toCS2": 1000, - "oprFromCS2toCS1": 900, - "isEnabled": true + "maxP": 100.0 }, { "id": "HVDC3", @@ -726,9 +775,9 @@ "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", "converterStationId1": "VSC3", "converterStationId2": "VSC4", + "r": 1.0, "activePowerSetpoint": 500.0, - "r": 1, - "maxP": 100 + "maxP": 100.0 }, { "id": "HVDC4", @@ -736,9 +785,24 @@ "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", "converterStationId1": "VSC5", "converterStationId2": "VSC6", + "r": 1.0, + "activePowerSetpoint": 500.0, + "maxP": 100.0 + }, + { + "id": "HVDC2", + "name": "HVDC2", + "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", + "converterStationId1": "VSC1", + "converterStationId2": "LCC2", + "r": 1.0, "activePowerSetpoint": 500.0, - "r": 1, - "maxP": 100 + "maxP": 100.0, + "k": 180.0, + "isEnabled": true, + "p0": 190.0, + "oprFromCS1toCS2": 1000.0, + "oprFromCS2toCS1": 900.0 } ], "lccConverterStations": [ @@ -748,9 +812,9 @@ "voltageLevelId": "VLGEN", "terminalConnected": true, "hvdcLineId": null, + "busOrBusbarSectionId": "NGEN", "powerFactor": 0.5, - "lossFactor": 1.0, - "busOrBusbarSectionId": "NGEN" + "lossFactor": 1.0 }, { "id": "LCC2", @@ -760,9 +824,9 @@ "hvdcLineId": "HVDC1", "p": 110.0, "q": 310.0, + "busOrBusbarSectionId": "NNEW2", "powerFactor": 0.5, - "lossFactor": 1.0, - "busOrBusbarSectionId": "NNEW2" + "lossFactor": 1.0 } ], "loads": [ @@ -813,11 +877,11 @@ "targetDeadband": 10.0, "sectionCount": 4, "maximumSectionCount": 8, - "bperSection": 5.0, "connectionName": "feederName", "connectionDirection": "TOP", "connectionPosition": 0, - "busOrBusbarSectionId": "NNEW2" + "busOrBusbarSectionId": "NNEW2", + "bperSection": 5.0 }, { "id": "SHUNT2", @@ -828,11 +892,24 @@ "targetDeadband": 10.0, "sectionCount": 2, "maximumSectionCount": 3, - "bperSection": 1.0, "connectionName": "feederName", "connectionDirection": "TOP", "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN3" + "busOrBusbarSectionId": "NGEN3", + "bperSection": 1.0 + }, + { + "id": "SHUNT_VLNB", + "name": "SHUNT_VLNB", + "voltageLevelId": "VLGEN4", + "terminalConnected": false, + "targetV": 225.0, + "targetDeadband": 10.0, + "sectionCount": 2, + "maximumSectionCount": 3, + "connectionDirection": null, + "busOrBusbarSectionId": "NGEN4", + "bperSection": 1.0 }, { "id": "SHUNT3", @@ -844,24 +921,11 @@ "targetDeadband": 10.0, "sectionCount": 2, "maximumSectionCount": 3, - "bperSection": 1.0, "connectionName": "feederName", "connectionDirection": "TOP", "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN3" - }, - { - "id": "SHUNT_VLNB", - "name": "SHUNT_VLNB", - "voltageLevelId": "VLGEN4", - "terminalConnected": false, - "targetV": 225.0, - "targetDeadband": 10.0, - "sectionCount":2, - "maximumSectionCount":3, - "bperSection":1.0, - "connectionDirection": null, - "busOrBusbarSectionId": "NGEN4" + "busOrBusbarSectionId": "NGEN3", + "bperSection": 1.0 } ], "staticVarCompensators": [ @@ -897,23 +961,11 @@ "hvdcLineId": "HVDC1", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": true, "voltageSetpoint": 150.0, "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NNEW2" - }, - { - "id": "VSC2", - "name": "VSC2", - "voltageLevelId": "VLGEN3", - "terminalConnected": true, - "hvdcLineId": null, - "lossFactor": 1.0, - "voltageRegulatorOn": true, - "voltageSetpoint": 150.0, - "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NGEN3" + "voltageRegulatorOn": true }, { "id": "VSC3", @@ -923,10 +975,10 @@ "hvdcLineId": "HVDC3", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": false, "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NNEW2" + "voltageRegulatorOn": false }, { "id": "VSC4", @@ -936,10 +988,10 @@ "hvdcLineId": "HVDC3", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": false, "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NNEW2" + "voltageRegulatorOn": false }, { "id": "VSC5", @@ -949,10 +1001,10 @@ "hvdcLineId": "HVDC4", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": true, "voltageSetpoint": 150.0, - "busOrBusbarSectionId": "NNEW2" + "voltageRegulatorOn": true }, { "id": "VSC6", @@ -962,10 +1014,22 @@ "hvdcLineId": "HVDC4", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": true, "voltageSetpoint": 150.0, - "busOrBusbarSectionId": "NNEW2" + "voltageRegulatorOn": true + }, + { + "id": "VSC2", + "name": "VSC2", + "voltageLevelId": "VLGEN3", + "terminalConnected": true, + "hvdcLineId": null, + "busOrBusbarSectionId": "NGEN3", + "lossFactor": 1.0, + "voltageSetpoint": 150.0, + "reactivePowerSetpoint": 40.0, + "voltageRegulatorOn": true } ] } diff --git a/src/test/resources/all-map-data.json b/src/test/resources/all-map-data.json index 04bc63b8..86af7087 100644 --- a/src/test/resources/all-map-data.json +++ b/src/test/resources/all-map-data.json @@ -1,9 +1,9 @@ { "substations": [ { - "countryCode": "FR", "id": "P1", "countryName": "FRANCE", + "countryCode": "FR", "voltageLevels": [ { "id": "VLGEN", @@ -43,9 +43,9 @@ ] }, { - "countryCode": "FR", "id": "P3", "countryName": "FRANCE", + "countryCode": "FR", "voltageLevels": [ { "id": "VLGEN3", @@ -56,22 +56,23 @@ ] }, { - "countryCode": "FR", "id": "P4", "countryName": "FRANCE", + "countryCode": "FR", "voltageLevels": [ { "id": "VLGEN4", "substationId": "P4", "nominalVoltage": 24.0, "topologyKind": "NODE_BREAKER", - "busbarSections": - [{ - "id": "NGEN4", - "name": "NGEN4", - "vertPos": 1, - "horizPos": 2 - }] + "busbarSections": [ + { + "id": "NGEN4", + "name": "NGEN4", + "vertPos": 1, + "horizPos": 2 + } + ] } ] } @@ -80,8 +81,8 @@ { "id": "NHV1_NHV2_1", "voltageLevelId1": "VLHV1", - "voltageLevelId2": "VLHV2", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -89,45 +90,53 @@ "q1": 2.2, "p2": 3.33, "q2": 4.44, - "permanentLimit1": 700.4, - "permanentLimit2": 800.8, + "currentLimits1": { + "permanentLimit": 700.4 + }, + "currentLimits2": { + "permanentLimit": 800.8 + }, "r": 9.0, "x": 10.0, "g1": 7.0, "b1": 5.0, "g2": 8.0, "b2": 6.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NHV2" }, { "id": "NHV1_NHV2_2", "voltageLevelId1": "VLHV1", - "voltageLevelId2": "VLHV2", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, - "r":3.0, - "x":33.0, - "g1":0.0, - "b1":1.93E-4, - "g2":0.0, - "b2":1.93E-4, + "r": 3.0, + "x": 33.0, + "g1": 0.0, + "b1": 1.93E-4, + "g2": 0.0, + "b2": 1.93E-4, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NHV2" }, { "id": "LINE3", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLGEN3", "voltageLevelName1": null, + "voltageLevelId2": "VLGEN3", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -138,12 +147,16 @@ "b1": 1.93E-4, "g2": 0.0, "b2": 1.93E-4, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NGEN3" } @@ -152,47 +165,55 @@ { "id": "NGEN_NHV1", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV1", "voltageLevelName2": null, "name": null, "terminal1Connected": true, "terminal2Connected": true, - "branchStatus": "PLANNED_OUTAGE", "p1": 11.1, "q1": 12.2, "p2": 13.33, "q2": 14.44, - "permanentLimit1": 750.4, - "permanentLimit2": 780.6, + "currentLimits1": { + "permanentLimit": 750.4 + }, + "currentLimits2": { + "permanentLimit": 780.6 + }, "phaseTapChanger": { "lowTapPosition": 0, - "highTapPosition": 1, "tapPosition": 1, + "highTapPosition": 1, "regulating": true, "targetDeadBand": 0.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 10.0, - "regulatingTerminalConnectableId": "NGEN_NHV1", - "regulatingTerminalConnectableType": "TWO_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLGEN", - "steps": [{ - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8500000238418579, - "alpha": 1, - "index": 0 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8999999761581421, - "alpha": 1, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 10.0, + "regulatingTerminal": { + "id": "NGEN_NHV1", + "type": "TWO_WINDINGS_TRANSFORMER", + "vlId": "VLGEN" + }, + "steps": [ + { + "index": 0, + "rho": 0.8500000238418579, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + }, + { + "index": 1, + "rho": 0.8999999761581421, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + } + ] }, "g": 0.0, "b": 0.0, @@ -200,64 +221,78 @@ "x": 11.104492831516762, "ratedU1": 24.0, "ratedU2": 400.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NGEN", - "busOrBusbarSectionId2": "NHV1" + "busOrBusbarSectionId2": "NHV1", + "branchStatus": "PLANNED_OUTAGE" }, { "id": "NHV2_NLOAD", "voltageLevelId1": "VLHV2", - "voltageLevelId2": "VLLOAD", "voltageLevelName1": null, + "voltageLevelId2": "VLLOAD", "voltageLevelName2": null, "name": null, "terminal1Connected": true, "terminal2Connected": true, - "branchStatus": "PLANNED_OUTAGE", "p1": 5.5, "q1": 6.6, "p2": 7.77, "q2": 8.88, - "permanentLimit1": 900.5, - "permanentLimit2": 950.5, + "currentLimits1": { + "permanentLimit": 900.5 + }, + "currentLimits2": { + "permanentLimit": 950.5 + }, "ratioTapChanger": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 0.0, - "targetV": 158.0, - "loadTapChangingCapabilities": true, + "highTapPosition": 2, "regulating": true, - "regulatingTerminalConnectableId": "NHV2_NLOAD", - "regulatingTerminalConnectableType": "TWO_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLLOAD", - "steps": [{ - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8505666905244191, - "index": 0 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 1.0006666666666666, - "index": 1 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 1.150766642808914, - "index": 2 - }] + "loadTapChangingCapabilities": true, + "targetV": 158.0, + "targetDeadBand": 0.0, + "regulatingTerminal": { + "id": "NHV2_NLOAD", + "type": "TWO_WINDINGS_TRANSFORMER", + "vlId": "VLLOAD" + }, + "steps": [ + { + "index": 0, + "rho": 0.8505666905244191, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + }, + { + "index": 1, + "rho": 1.0006666666666666, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + }, + { + "index": 2, + "rho": 1.150766642808914, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0 + } + ] }, "g": 0.0, "b": 0.0, @@ -265,14 +300,19 @@ "x": 4.049724365620455, "ratedU1": 400.0, "ratedU2": 158.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NHV2", - "busOrBusbarSectionId2": "NLOAD" + "busOrBusbarSectionId2": "NLOAD", + "branchStatus": "PLANNED_OUTAGE" } ], "threeWindingsTransformers": [ @@ -295,85 +335,93 @@ "permanentLimit3": 54.0, "phaseTapChanger1": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, "ratioTapChanger3": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, - "regulatingMode1" : "CURRENT_LIMITER", - "regulatingPhase1" : true, - "regulatingValue1" : 25.0, "loadTapChanging3Capabilities": false, - "regulatingRatio3" : false, - "targetV3" : 220.0, + "targetV3": 220.0, + "regulatingMode1": "CURRENT_LIMITER", + "regulatingRatio3": false, + "regulatingPhase1": true, + "regulatingValue1": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" @@ -397,85 +445,93 @@ "permanentLimit2": 25.0, "ratioTapChanger1": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT21", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT21", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, "phaseTapChanger2": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT21", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT21", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, - "regulatingMode2" : "CURRENT_LIMITER", - "regulatingPhase2" : true, - "regulatingValue2" : 25.0, "loadTapChanging1Capabilities": false, - "regulatingRatio1" : false, - "targetV1" : 220.0, + "targetV1": 220.0, + "regulatingMode2": "CURRENT_LIMITER", + "regulatingRatio1": false, + "regulatingPhase2": true, + "regulatingValue2": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" @@ -499,85 +555,93 @@ "permanentLimit3": 25.0, "ratioTapChanger2": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 2, - "targetDeadBand": 22.0, - "targetV": 220.0, - "loadTapChangingCapabilities": false, + "highTapPosition": 2, "regulating": false, - "regulatingTerminalConnectableId": "TWT32", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", + "loadTapChangingCapabilities": false, + "targetV": 220.0, + "targetDeadBand": 22.0, + "regulatingTerminal": { + "id": "TWT32", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, "steps": [ { - "r": 1, - "b": 1.5, - "g": 0.5, + "index": 0, "rho": 0.99, - "x": 4, - "index": 0 + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5 }, { + "index": 1, + "rho": 1.0, "r": 1.1, - "b": 1.6, - "g": 0.6, - "rho": 1, "x": 4.1, - "index": 1 + "g": 0.6, + "b": 1.6 }, { + "index": 2, + "rho": 1.01, "r": 1.2, "x": 4.2, "g": 0.7, - "b": 1.7, - "rho": 1.01, - "index": 2 + "b": 1.7 } ] }, "phaseTapChanger3": { "lowTapPosition": 0, - "highTapPosition": 2, "tapPosition": 1, + "highTapPosition": 2, "regulating": true, "targetDeadBand": 22.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 25.0, - "regulatingTerminalConnectableId": "TWT32", - "regulatingTerminalConnectableType": "THREE_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLHV1", - "steps": [{ - "r": 1, - "x": 4, - "g": 0.5, - "b": 1.5, - "rho": 0.99, - "alpha": -10.0, - "index": 0 - }, { - "r": 1.2, - "x": 4.2, - "g": 0.7, - "b": 1.7, - "rho": 1.01, - "alpha": 10.0, - "index": 2 - }, { - "r": 1.1, - "x": 4.1, - "g": 0.6, - "b": 1.6, - "rho": 1.0, - "alpha": 0.0, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 25.0, + "regulatingTerminal": { + "id": "TWT32", + "type": "THREE_WINDINGS_TRANSFORMER", + "vlId": "VLHV1" + }, + "steps": [ + { + "index": 0, + "rho": 0.99, + "r": 1.0, + "x": 4.0, + "g": 0.5, + "b": 1.5, + "alpha": -10.0 + }, + { + "index": 1, + "rho": 1.0, + "r": 1.1, + "x": 4.1, + "g": 0.6, + "b": 1.6, + "alpha": 0.0 + }, + { + "index": 2, + "rho": 1.01, + "r": 1.2, + "x": 4.2, + "g": 0.7, + "b": 1.7, + "alpha": 10.0 + } + ] }, - "regulatingMode3" : "CURRENT_LIMITER", - "regulatingPhase3" : true, - "regulatingValue3" : 25.0, "loadTapChanging2Capabilities": false, - "regulatingRatio2" : false, - "targetV2" : 220.0, + "targetV2": 220.0, + "regulatingMode3": "CURRENT_LIMITER", + "regulatingRatio2": false, + "regulatingPhase3": true, + "regulatingValue3": 25.0, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NNEW2", "busOrBusbarSectionId3": "NGEN" @@ -588,31 +652,31 @@ "id": "GEN", "name": null, "voltageLevelId": "VLGEN", - "activePowerControlOn":true, + "activePowerControlOn": true, "terminalConnected": true, "p": 25.0, "q": 32.0, "targetP": 28.0, - "targetQ":301.0, - "targetV":24.5, + "targetQ": 301.0, + "targetV": 24.5, "minP": -9999.99, "maxP": 9999.99, - "energySource":"OTHER", - "ratedS": 27, - "voltageRegulatorOn":true, + "energySource": "OTHER", + "ratedS": 27.0, + "voltageRegulatorOn": true, "minMaxReactiveLimits": { - "minimumReactivePower": -500, - "maximumReactivePower": 500 + "minimumReactivePower": -500.0, + "maximumReactivePower": 500.0 }, - "droop": 4, + "droop": 4.0, "regulatingTerminalConnectableId": "NHV1_NHV2_1", "regulatingTerminalConnectableType": "LINE", "regulatingTerminalVlId": "VLHV1", "connectionName": "feederName", "connectionDirection": "TOP", - "qPercent": 10.0, "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN" + "busOrBusbarSectionId": "NGEN", + "qPercent": 10.0 }, { "id": "GEN2", @@ -645,9 +709,9 @@ ], "connectionName": "feederName", "connectionDirection": "TOP", - "qPercent": 10.0, "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN" + "busOrBusbarSectionId": "NGEN", + "qPercent": 10.0 } ], "batteries": [ @@ -701,24 +765,9 @@ "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", "converterStationId1": "VSC1", "converterStationId2": "LCC2", + "r": 1.0, "activePowerSetpoint": 500.0, - "r": 1, - "maxP": 100 - }, - { - "id": "HVDC2", - "name": "HVDC2", - "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", - "converterStationId1": "VSC1", - "converterStationId2": "LCC2", - "activePowerSetpoint": 500.0, - "r": 1, - "maxP": 100, - "k": 180, - "p0": 190, - "oprFromCS1toCS2": 1000, - "oprFromCS2toCS1": 900, - "isEnabled": true + "maxP": 100.0 }, { "id": "HVDC3", @@ -726,9 +775,9 @@ "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", "converterStationId1": "VSC3", "converterStationId2": "VSC4", + "r": 1.0, "activePowerSetpoint": 500.0, - "r": 1, - "maxP": 100 + "maxP": 100.0 }, { "id": "HVDC4", @@ -736,9 +785,24 @@ "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", "converterStationId1": "VSC5", "converterStationId2": "VSC6", + "r": 1.0, "activePowerSetpoint": 500.0, - "r": 1, - "maxP": 100 + "maxP": 100.0 + }, + { + "id": "HVDC2", + "name": "HVDC2", + "convertersMode": "SIDE_1_INVERTER_SIDE_2_RECTIFIER", + "converterStationId1": "VSC1", + "converterStationId2": "LCC2", + "r": 1.0, + "activePowerSetpoint": 500.0, + "maxP": 100.0, + "k": 180.0, + "isEnabled": true, + "p0": 190.0, + "oprFromCS1toCS2": 1000.0, + "oprFromCS2toCS1": 900.0 } ], "lccConverterStations": [ @@ -748,9 +812,9 @@ "voltageLevelId": "VLGEN", "terminalConnected": true, "hvdcLineId": null, + "busOrBusbarSectionId": "NGEN", "powerFactor": 0.5, - "lossFactor": 1.0, - "busOrBusbarSectionId": "NGEN" + "lossFactor": 1.0 }, { "id": "LCC2", @@ -760,9 +824,9 @@ "hvdcLineId": "HVDC1", "p": 110.0, "q": 310.0, + "busOrBusbarSectionId": "NNEW2", "powerFactor": 0.5, - "lossFactor": 1.0, - "busOrBusbarSectionId": "NNEW2" + "lossFactor": 1.0 } ], "loads": [ @@ -811,13 +875,13 @@ "q": 90.0, "targetV": 225.0, "targetDeadband": 10.0, - "sectionCount":4, - "maximumSectionCount":8, - "bperSection":5.0, + "sectionCount": 4, + "maximumSectionCount": 8, "connectionName": "feederName", "connectionDirection": "TOP", "connectionPosition": 0, - "busOrBusbarSectionId": "NNEW2" + "busOrBusbarSectionId": "NNEW2", + "bperSection": 5.0 }, { "id": "SHUNT2", @@ -826,13 +890,13 @@ "terminalConnected": true, "targetV": 225.0, "targetDeadband": 10.0, - "sectionCount":2, - "maximumSectionCount":3, - "bperSection":1.0, + "sectionCount": 2, + "maximumSectionCount": 3, "connectionName": "feederName", "connectionDirection": "TOP", "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN3" + "busOrBusbarSectionId": "NGEN3", + "bperSection": 1.0 }, { "id": "SHUNT_VLNB", @@ -841,11 +905,11 @@ "terminalConnected": true, "targetV": 225.0, "targetDeadband": 10.0, - "sectionCount":2, - "maximumSectionCount":3, - "bperSection":1.0, + "sectionCount": 2, + "maximumSectionCount": 3, "connectionDirection": null, - "busOrBusbarSectionId": "NGEN4" + "busOrBusbarSectionId": "NGEN4", + "bperSection": 1.0 } ], "staticVarCompensators": [ @@ -881,23 +945,11 @@ "hvdcLineId": "HVDC1", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": true, "voltageSetpoint": 150.0, "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NNEW2" - }, - { - "id": "VSC2", - "name": "VSC2", - "voltageLevelId": "VLGEN3", - "terminalConnected": true, - "hvdcLineId": null, - "lossFactor": 1.0, - "voltageRegulatorOn": true, - "voltageSetpoint": 150.0, - "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NGEN3" + "voltageRegulatorOn": true }, { "id": "VSC3", @@ -907,10 +959,10 @@ "hvdcLineId": "HVDC3", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": false, "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NNEW2" + "voltageRegulatorOn": false }, { "id": "VSC4", @@ -920,10 +972,10 @@ "hvdcLineId": "HVDC3", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": false, "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NNEW2" + "voltageRegulatorOn": false }, { "id": "VSC5", @@ -933,10 +985,10 @@ "hvdcLineId": "HVDC4", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": true, "voltageSetpoint": 150.0, - "busOrBusbarSectionId": "NNEW2" + "voltageRegulatorOn": true }, { "id": "VSC6", @@ -946,10 +998,22 @@ "hvdcLineId": "HVDC4", "p": 10.0, "q": 30.0, + "busOrBusbarSectionId": "NNEW2", "lossFactor": 1.0, - "voltageRegulatorOn": true, "voltageSetpoint": 150.0, - "busOrBusbarSectionId": "NNEW2" + "voltageRegulatorOn": true + }, + { + "id": "VSC2", + "name": "VSC2", + "voltageLevelId": "VLGEN3", + "terminalConnected": true, + "hvdcLineId": null, + "busOrBusbarSectionId": "NGEN3", + "lossFactor": 1.0, + "voltageSetpoint": 150.0, + "reactivePowerSetpoint": 40.0, + "voltageRegulatorOn": true } ] } diff --git a/src/test/resources/line-map-data.json b/src/test/resources/line-map-data.json index d639f491..7a54f9bf 100644 --- a/src/test/resources/line-map-data.json +++ b/src/test/resources/line-map-data.json @@ -1,8 +1,8 @@ { "id": "NHV1_NHV2_1", "voltageLevelId1": "VLHV1", - "voltageLevelId2": "VLHV2", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -10,20 +10,28 @@ "q1": 2.2, "p2": 3.33, "q2": 4.44, - "permanentLimit1": 700.4, - "permanentLimit2": 800.8, + "currentLimits1": { + "permanentLimit": 700.4 + }, + "currentLimits2": { + "permanentLimit": 800.8 + }, "r": 9.0, "x": 10.0, "g1": 7.0, "b1": 5.0, "g2": 8.0, "b2": 6.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NHV2" -} \ No newline at end of file +} diff --git a/src/test/resources/lines-map-data.json b/src/test/resources/lines-map-data.json index b2adf310..49c0c4ce 100644 --- a/src/test/resources/lines-map-data.json +++ b/src/test/resources/lines-map-data.json @@ -2,8 +2,8 @@ { "id": "NHV1_NHV2_1", "voltageLevelId1": "VLHV1", - "voltageLevelId2": "VLHV2", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -11,28 +11,36 @@ "q1": 2.2, "p2": 3.33, "q2": 4.44, - "permanentLimit1": 700.4, - "permanentLimit2": 800.8, + "currentLimits1": { + "permanentLimit": 700.4 + }, + "currentLimits2": { + "permanentLimit": 800.8 + }, "r": 9.0, "x": 10.0, "g1": 7.0, "b1": 5.0, "g2": 8.0, "b2": 6.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NHV2" }, { "id": "NHV1_NHV2_2", "voltageLevelId1": "VLHV1", - "voltageLevelId2": "VLHV2", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -48,8 +56,8 @@ { "id": "LINE3", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLGEN3", "voltageLevelName1": null, + "voltageLevelId2": "VLGEN3", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -60,12 +68,16 @@ "b1": 1.93E-4, "g2": 0.0, "b2": 1.93E-4, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NGEN3" } diff --git a/src/test/resources/map-lines-data.json b/src/test/resources/map-lines-data.json index 0601ba3a..116fa6db 100644 --- a/src/test/resources/map-lines-data.json +++ b/src/test/resources/map-lines-data.json @@ -1,24 +1,28 @@ [ { - "id":"NHV1_NHV2_1", - "voltageLevelId1":"VLHV1", - "voltageLevelId2":"VLHV2", + "id": "NHV1_NHV2_1", + "voltageLevelId1": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, - "terminal1Connected":true, - "terminal2Connected":true, - "p1":1.1, - "p2":3.33, - "permanentLimit1":700.4, - "permanentLimit2":800.8, + "terminal1Connected": true, + "terminal2Connected": true, + "p1": 1.1, + "p2": 3.33, + "currentLimits1": { + "permanentLimit": 700.4 + }, + "currentLimits2": { + "permanentLimit": 800.8 + }, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NHV2" }, { - "id":"NHV1_NHV2_2", - "voltageLevelId1":"VLHV1", - "voltageLevelId2":"VLHV2", + "id": "NHV1_NHV2_2", + "voltageLevelId1": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, "terminal1Connected":true, "terminal2Connected":true, @@ -26,10 +30,10 @@ "busOrBusbarSectionId2": "NHV2" }, { - "id":"LINE3", - "voltageLevelId1":"VLGEN", - "voltageLevelId2":"VLGEN3", + "id": "LINE3", + "voltageLevelId1": "VLGEN", "voltageLevelName1": null, + "voltageLevelId2": "VLGEN3", "voltageLevelName2": null, "terminal1Connected":true, "terminal2Connected":true, @@ -37,4 +41,4 @@ "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NGEN3" } -] \ No newline at end of file +] diff --git a/src/test/resources/partial-2-windings-transformers-map-data.json b/src/test/resources/partial-2-windings-transformers-map-data.json index 60589046..b27b5d36 100644 --- a/src/test/resources/partial-2-windings-transformers-map-data.json +++ b/src/test/resources/partial-2-windings-transformers-map-data.json @@ -2,47 +2,55 @@ { "id": "NGEN_NHV1", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV1", "voltageLevelName2": null, "name": null, "terminal1Connected": true, "terminal2Connected": true, - "branchStatus": "PLANNED_OUTAGE", "p1": 11.1, "q1": 12.2, "p2": 13.33, "q2": 14.44, - "permanentLimit1": 750.4, - "permanentLimit2": 780.6, + "currentLimits1": { + "permanentLimit": 750.4 + }, + "currentLimits2": { + "permanentLimit": 780.6 + }, "phaseTapChanger": { "lowTapPosition": 0, - "highTapPosition": 1, "tapPosition": 1, + "highTapPosition": 1, "regulating": true, "targetDeadBand": 0.0, - "regulationMode" : "CURRENT_LIMITER", - "regulationValue" : 10.0, - "regulatingTerminalConnectableId": "NGEN_NHV1", - "regulatingTerminalConnectableType": "TWO_WINDINGS_TRANSFORMER", - "regulatingTerminalVlId": "VLGEN", - "steps": [{ - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8500000238418579, - "alpha": 1, - "index": 0 - }, { - "r": 0.0, - "x": 0.0, - "g": 0.0, - "b": 0.0, - "rho": 0.8999999761581421, - "alpha": 1, - "index": 1 - }] + "regulationMode": "CURRENT_LIMITER", + "regulationValue": 10.0, + "regulatingTerminal": { + "id": "NGEN_NHV1", + "type": "TWO_WINDINGS_TRANSFORMER", + "vlId": "VLGEN" + }, + "steps": [ + { + "index": 0, + "rho": 0.8500000238418579, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + }, + { + "index": 1, + "rho": 0.8999999761581421, + "r": 0.0, + "x": 0.0, + "g": 0.0, + "b": 0.0, + "alpha": 1.0 + } + ] }, "g": 0.0, "b": 0.0, @@ -50,12 +58,17 @@ "x": 11.104492831516762, "ratedU1": 24.0, "ratedU2": 400.0, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, + "branchStatus": "PLANNED_OUTAGE", "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NHV1" } diff --git a/src/test/resources/partial-all-map-data-in-variant.json b/src/test/resources/partial-all-map-data-in-variant.json index 7c1d9c73..909bf965 100644 --- a/src/test/resources/partial-all-map-data-in-variant.json +++ b/src/test/resources/partial-all-map-data-in-variant.json @@ -1,9 +1,9 @@ { "substations": [ { - "countryCode": "FR", "id": "P3", "countryName": "FRANCE", + "countryCode": "FR", "voltageLevels": [ { "id": "VLGEN3", @@ -18,8 +18,8 @@ { "id": "LINE3", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLGEN3", "voltageLevelName1": null, + "voltageLevelId2": "VLGEN3", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -30,12 +30,16 @@ "b1": 1.93E-4, "g2": 0.0, "b2": 1.93E-4, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NGEN3" } @@ -78,11 +82,11 @@ "targetDeadband": 10.0, "sectionCount": 2, "maximumSectionCount": 3, - "bperSection": 1.0, "connectionName": "feederName", "connectionDirection": "TOP", "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN3" + "busOrBusbarSectionId": "NGEN3", + "bperSection": 1.0 }, { "id": "SHUNT3", @@ -92,13 +96,13 @@ "q": 90.0, "targetV": 225.0, "targetDeadband": 10.0, - "sectionCount":2, - "maximumSectionCount":3, - "bperSection":1.0, + "sectionCount": 2, + "maximumSectionCount": 3, "connectionName": "feederName", "connectionDirection": "TOP", "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN3" + "busOrBusbarSectionId": "NGEN3", + "bperSection": 1.0 } ], "staticVarCompensators": [], @@ -109,11 +113,11 @@ "voltageLevelId": "VLGEN3", "terminalConnected": true, "hvdcLineId": null, + "busOrBusbarSectionId": "NGEN3", "lossFactor": 1.0, - "voltageRegulatorOn": true, "voltageSetpoint": 150.0, "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NGEN3" + "voltageRegulatorOn": true } ] } diff --git a/src/test/resources/partial-all-map-data.json b/src/test/resources/partial-all-map-data.json index 70d76dd5..fe233fbb 100644 --- a/src/test/resources/partial-all-map-data.json +++ b/src/test/resources/partial-all-map-data.json @@ -1,9 +1,9 @@ { "substations": [ { - "countryCode": "FR", "id": "P3", "countryName": "FRANCE", + "countryCode": "FR", "voltageLevels": [ { "id": "VLGEN3", @@ -18,8 +18,8 @@ { "id": "LINE3", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLGEN3", "voltageLevelName1": null, + "voltageLevelId2": "VLGEN3", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -30,12 +30,16 @@ "b1": 1.93E-4, "g2": 0.0, "b2": 1.93E-4, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NGEN3" } @@ -78,11 +82,11 @@ "targetDeadband": 10.0, "sectionCount": 2, "maximumSectionCount": 3, - "bperSection": 1.0, "connectionName": "feederName", "connectionDirection": "TOP", "connectionPosition": 0, - "busOrBusbarSectionId": "NGEN3" + "busOrBusbarSectionId": "NGEN3", + "bperSection": 1.0 } ], "staticVarCompensators": [], @@ -93,11 +97,11 @@ "voltageLevelId": "VLGEN3", "terminalConnected": true, "hvdcLineId": null, + "busOrBusbarSectionId": "NGEN3", "lossFactor": 1.0, - "voltageRegulatorOn": true, "voltageSetpoint": 150.0, "reactivePowerSetpoint": 40.0, - "busOrBusbarSectionId": "NGEN3" + "voltageRegulatorOn": true } ] } diff --git a/src/test/resources/partial-lines-map-data.json b/src/test/resources/partial-lines-map-data.json index e1a14bdb..1a7f86dd 100644 --- a/src/test/resources/partial-lines-map-data.json +++ b/src/test/resources/partial-lines-map-data.json @@ -2,8 +2,8 @@ { "id": "LINE3", "voltageLevelId1": "VLGEN", - "voltageLevelId2": "VLGEN3", "voltageLevelName1": null, + "voltageLevelId2": "VLGEN3", "voltageLevelName2": null, "terminal1Connected": true, "terminal2Connected": true, @@ -14,12 +14,16 @@ "b1": 1.93E-4, "g2": 0.0, "b2": 1.93E-4, - "connectionName1": "feederName1", - "connectionDirection1": "TOP", - "connectionName2": "feederName2", - "connectionDirection2": "BOTTOM", - "connectionPosition1": 0, - "connectionPosition2": 0, + "position1": { + "label": "feederName1", + "order": 0, + "direction": "TOP" + }, + "position2": { + "label": "feederName2", + "order": 0, + "direction": "BOTTOM" + }, "busOrBusbarSectionId1": "NGEN", "busOrBusbarSectionId2": "NGEN3" } diff --git a/src/test/resources/partial-map-lines-data.json b/src/test/resources/partial-map-lines-data.json index 0601ba3a..876409f9 100644 --- a/src/test/resources/partial-map-lines-data.json +++ b/src/test/resources/partial-map-lines-data.json @@ -1,40 +1,44 @@ [ { - "id":"NHV1_NHV2_1", - "voltageLevelId1":"VLHV1", - "voltageLevelId2":"VLHV2", + "id": "LINE3", + "voltageLevelId1": "VLGEN", "voltageLevelName1": null, + "voltageLevelId2": "VLGEN3", "voltageLevelName2": null, - "terminal1Connected":true, - "terminal2Connected":true, - "p1":1.1, - "p2":3.33, - "permanentLimit1":700.4, - "permanentLimit2":800.8, - "busOrBusbarSectionId1": "NHV1", - "busOrBusbarSectionId2": "NHV2" + "terminal1Connected": true, + "terminal2Connected": true, + "branchStatus": "PLANNED_OUTAGE", + "busOrBusbarSectionId1": "NGEN", + "busOrBusbarSectionId2": "NGEN3" }, { - "id":"NHV1_NHV2_2", - "voltageLevelId1":"VLHV1", - "voltageLevelId2":"VLHV2", + "id": "NHV1_NHV2_1", + "voltageLevelId1": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, - "terminal1Connected":true, - "terminal2Connected":true, + "terminal1Connected": true, + "terminal2Connected": true, + "p1": 1.1, + "p2": 3.33, + "currentLimits1": { + "permanentLimit": 700.4 + }, + "currentLimits2": { + "permanentLimit": 800.8 + }, "busOrBusbarSectionId1": "NHV1", "busOrBusbarSectionId2": "NHV2" }, { - "id":"LINE3", - "voltageLevelId1":"VLGEN", - "voltageLevelId2":"VLGEN3", + "id": "NHV1_NHV2_2", + "voltageLevelId1": "VLHV1", "voltageLevelName1": null, + "voltageLevelId2": "VLHV2", "voltageLevelName2": null, - "terminal1Connected":true, - "terminal2Connected":true, - "branchStatus": "PLANNED_OUTAGE", - "busOrBusbarSectionId1": "NGEN", - "busOrBusbarSectionId2": "NGEN3" + "terminal1Connected": true, + "terminal2Connected": true, + "busOrBusbarSectionId1": "NHV1", + "busOrBusbarSectionId2": "NHV2" } -] \ No newline at end of file +]