Skip to content

Commit 8fb02ec

Browse files
Added new logs
1 parent 5ab800f commit 8fb02ec

9 files changed

+677
-103
lines changed

src/main/java/org/gridsuite/voltageinit/server/service/parameters/VoltageInitParametersService.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,39 @@ public OpenReacParameters buildOpenReacParameters(VoltageInitRunContext context,
212212
.withSeverity(TypedValue.TRACE_SEVERITY)
213213
.build()));
214214

215+
long nbMissingVoltageLimits = 0L;
216+
long nbVoltageLimitModifications = 0L;
217+
parameters.getSpecificVoltageLimits()
218+
.stream()
219+
.collect(Collectors.groupingBy(VoltageLimitOverride::getVoltageLevelId))
220+
.forEach((id, voltageLimits) -> {
221+
final Map<VoltageLimitType, Double> newLimits = voltageLimits.stream()
222+
.collect(Collectors.groupingBy(VoltageLimitOverride::getVoltageLimitType, Collectors.summingDouble(VoltageLimitOverride::getLimit)));
223+
final VoltageLevel voltageLevel = network.getVoltageLevel(id);
224+
reporter.report(Report.builder()
225+
.withKey("voltageLimitModified")
226+
.withDefaultMessage("On or two voltage limits of voltage level ${voltageLevelId} have been replaced and/or modified low voltage limit = ${newLowVoltageLimit}kV, high voltage limit = ${newHighVoltageLimit}kV (initial values: low voltage limit = ${initialLowVoltageLimit}kV, high voltage limit = ${initialHighVoltage}kV).")
227+
.withTypedValue("voltageLevelId", voltageLevel.getId(), TypedValue.VOLTAGE_LEVEL)
228+
.withTypedValue("newLowVoltageLimit", newLimits.getOrDefault(VoltageLimitType.LOW_VOLTAGE_LIMIT, voltageLevel.getLowVoltageLimit()), TypedValue.VOLTAGE)
229+
.withTypedValue("newHighVoltageLimit", newLimits.getOrDefault(VoltageLimitType.HIGH_VOLTAGE_LIMIT, voltageLevel.getHighVoltageLimit()), TypedValue.VOLTAGE)
230+
.withTypedValue("initialLowVoltageLimit", voltageLevel.getLowVoltageLimit(), TypedValue.VOLTAGE)
231+
.withTypedValue("initialHighVoltage", voltageLevel.getHighVoltageLimit(), TypedValue.VOLTAGE)
232+
.withSeverity(TypedValue.TRACE_SEVERITY)
233+
.build());
234+
});
235+
reporter.report(Report.builder()
236+
.withKey("missingVoltageLimits")
237+
.withDefaultMessage("Missing voltage limits of ${nbMissingVoltageLimits} voltage levels have been replaced with user-defined default values.")
238+
.withValue("nbMissingVoltageLimits", nbMissingVoltageLimits)
239+
.withSeverity(TypedValue.INFO_SEVERITY)
240+
.build());
241+
reporter.report(Report.builder()
242+
.withKey("voltageLimitModifications")
243+
.withDefaultMessage("Voltage limits of ${nbVoltageLimitModifications} voltage levels have been modified according to user input.")
244+
.withValue("nbVoltageLimitModifications", nbVoltageLimitModifications)
245+
.withSeverity(TypedValue.INFO_SEVERITY)
246+
.build());
247+
215248
//The optimizer will attach reactive slack variables to all buses
216249
parameters.setReactiveSlackBusesMode(ReactiveSlackBusesMode.ALL);
217250

src/test/java/org/gridsuite/voltageinit/server/VoltageInitParametersTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ List<DynamicTest> dynamicTestsBuildSpecificVoltageLimits() {
307307
final VoltageLimitEntity voltageLimit4 = new VoltageLimitEntity(UUID.randomUUID(), -20.0, 10.0, 0, VoltageLimitParameterType.MODIFICATION, List.of(new FilterEquipmentsEmbeddable(FILTER_UUID_1, FILTER_1)));
308308
final VoltageLimitEntity voltageLimit5 = new VoltageLimitEntity(UUID.randomUUID(), 10.0, 10.0, 0, VoltageLimitParameterType.DEFAULT, List.of(new FilterEquipmentsEmbeddable(FILTER_UUID_1, FILTER_1)));
309309
return List.of(
310-
DynamicTest.dynamicTest("No voltage limit modification", () -> initTestEnv.apply(List.of(voltageLimit, voltageLimit2), "report_empty.json")
310+
DynamicTest.dynamicTest("No voltage limit modification", () -> initTestEnv.apply(List.of(voltageLimit, voltageLimit2), "reporter_buildOpenReacParameters.json")
311311
.hasSize(4)
312312
//No override should be relative since there is no voltage limit modification
313313
.noneMatch(VoltageLimitOverride::isRelative)
@@ -320,7 +320,7 @@ List<DynamicTest> dynamicTestsBuildSpecificVoltageLimits() {
320320
assertVoltageLimitOverride("VLLOAD", VoltageLimitType.HIGH_VOLTAGE_LIMIT, 88.)
321321
)),
322322
//We now add limit modifications in additions to defaults settings
323-
DynamicTest.dynamicTest("With voltage limit modifications", () -> initTestEnv.apply(List.of(voltageLimit, voltageLimit2, voltageLimit3), "report_empty.json")
323+
DynamicTest.dynamicTest("With voltage limit modifications", () -> initTestEnv.apply(List.of(voltageLimit, voltageLimit2, voltageLimit3), "reporter_buildOpenReacParameters_withLimitModifications.json")
324324
//Limits that weren't impacted by default settings are now impacted by modification settings
325325
.hasSize(8)
326326
//There should (not?) be relative overrides since voltage limit modification are applied
@@ -333,13 +333,13 @@ List<DynamicTest> dynamicTestsBuildSpecificVoltageLimits() {
333333
.satisfiesOnlyOnce(assertVoltageLimitOverride("VLLOAD", VoltageLimitType.HIGH_VOLTAGE_LIMIT, 86.))),
334334
//note: VoltageLimitOverride implement equals() correctly, so we can use it
335335
// We need to check for the case of relative = true with the modification less than 0 => the new low voltage limit = low voltage limit * -1
336-
DynamicTest.dynamicTest("Case relative true overrides", () -> initTestEnv.apply(List.of(voltageLimit4), "report_case_relative_true.json")
336+
DynamicTest.dynamicTest("Case relative true overrides", () -> initTestEnv.apply(List.of(voltageLimit4), "reporter_buildOpenReacParameters_caseRelativeTrue.json")
337337
.hasSize(4)
338338
// isRelative: There should have relative true overrides since voltage limit modification are applied for VLGEN
339339
// getLimit: The low voltage limit must be impacted by the modification of the value
340340
.containsOnlyOnce(new VoltageLimitOverride("VLGEN", VoltageLimitType.LOW_VOLTAGE_LIMIT, true, -10.0))),
341341
// We need to check for the case of relative = false with the modification less than 0 => the new low voltage limit = 0
342-
DynamicTest.dynamicTest("Case relative false overrides", () -> initTestEnv.apply(List.of(voltageLimit4, voltageLimit5), "report_case_relative_false.json")
342+
DynamicTest.dynamicTest("Case relative false overrides", () -> initTestEnv.apply(List.of(voltageLimit4, voltageLimit5), "reporter_buildOpenReacParameters_caseRelativeFalse.json")
343343
.hasSize(8)
344344
// isRelative: There should have relative false overrides since voltage limit modification are applied for VLHV1
345345
// getLimit: The low voltage limit must be impacted by the modification of the value

src/test/resources/report_case_relative_false.json

Lines changed: 0 additions & 38 deletions
This file was deleted.

src/test/resources/report_case_relative_true.json

Lines changed: 0 additions & 38 deletions
This file was deleted.

src/test/resources/report_empty.json

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
{
2+
"version": "1.0",
3+
"reportTree": {
4+
"taskKey": "VoltageInit",
5+
"subReporters": [
6+
{
7+
"taskKey": "OpenReactParameters",
8+
"taskValues": {
9+
"parameters_id": {
10+
"value": "11111111-1111-1111-1111-111111111111",
11+
"type": "ID"
12+
}
13+
},
14+
"reports": [
15+
{
16+
"reportKey": "voltageLimitModified",
17+
"values": {
18+
"initialLowVoltageLimit": {
19+
"value": 10.0,
20+
"type": "VOLTAGE"
21+
},
22+
"voltageLevelId": {
23+
"value": "VLHV2",
24+
"type": "VOLTAGE_LEVEL"
25+
},
26+
"reportSeverity": {
27+
"value": "TRACE",
28+
"type": "SEVERITY"
29+
},
30+
"newHighVoltageLimit": {
31+
"value": 10.0,
32+
"type": "VOLTAGE"
33+
},
34+
"initialHighVoltage": {
35+
"value": "NaN",
36+
"type": "VOLTAGE"
37+
},
38+
"newLowVoltageLimit": {
39+
"value": 10.0,
40+
"type": "VOLTAGE"
41+
}
42+
}
43+
},
44+
{
45+
"reportKey": "voltageLimitModified",
46+
"values": {
47+
"initialLowVoltageLimit": {
48+
"value": "NaN",
49+
"type": "VOLTAGE"
50+
},
51+
"voltageLevelId": {
52+
"value": "VLHV1",
53+
"type": "VOLTAGE_LEVEL"
54+
},
55+
"reportSeverity": {
56+
"value": "TRACE",
57+
"type": "SEVERITY"
58+
},
59+
"newHighVoltageLimit": {
60+
"value": 20.0,
61+
"type": "VOLTAGE"
62+
},
63+
"initialHighVoltage": {
64+
"value": 20.0,
65+
"type": "VOLTAGE"
66+
},
67+
"newLowVoltageLimit": {
68+
"value": 5.0,
69+
"type": "VOLTAGE"
70+
}
71+
}
72+
},
73+
{
74+
"reportKey": "voltageLimitModified",
75+
"values": {
76+
"initialLowVoltageLimit": {
77+
"value": "NaN",
78+
"type": "VOLTAGE"
79+
},
80+
"voltageLevelId": {
81+
"value": "VLLOAD",
82+
"type": "VOLTAGE_LEVEL"
83+
},
84+
"reportSeverity": {
85+
"value": "TRACE",
86+
"type": "SEVERITY"
87+
},
88+
"newHighVoltageLimit": {
89+
"value": 88.0,
90+
"type": "VOLTAGE"
91+
},
92+
"initialHighVoltage": {
93+
"value": "NaN",
94+
"type": "VOLTAGE"
95+
},
96+
"newLowVoltageLimit": {
97+
"value": 44.0,
98+
"type": "VOLTAGE"
99+
}
100+
}
101+
},
102+
{
103+
"reportKey": "missingVoltageLimits",
104+
"values": {
105+
"nbMissingVoltageLimits": {
106+
"value": 0
107+
},
108+
"reportSeverity": {
109+
"value": "INFO",
110+
"type": "SEVERITY"
111+
}
112+
}
113+
},
114+
{
115+
"reportKey": "voltageLimitModifications",
116+
"values": {
117+
"reportSeverity": {
118+
"value": "INFO",
119+
"type": "SEVERITY"
120+
},
121+
"nbVoltageLimitModifications": {
122+
"value": 0
123+
}
124+
}
125+
}
126+
]
127+
}
128+
]
129+
},
130+
"dics": {
131+
"default": {
132+
"voltageLimitModifications": "Voltage limits of ${nbVoltageLimitModifications} voltage levels have been modified according to user input.",
133+
"VoltageInit": "VoltageInit",
134+
"OpenReactParameters": "OpenReact parameters",
135+
"missingVoltageLimits": "Missing voltage limits of ${nbMissingVoltageLimits} voltage levels have been replaced with user-defined default values.",
136+
"voltageLimitModified": "On or two voltage limits of voltage level ${voltageLevelId} have been replaced and/or modified low voltage limit = ${newLowVoltageLimit}kV, high voltage limit = ${newHighVoltageLimit}kV (initial values: low voltage limit = ${initialLowVoltageLimit}kV, high voltage limit = ${initialHighVoltage}kV)."
137+
}
138+
}
139+
}

0 commit comments

Comments
 (0)