Releases: powsybl/powsybl-core
v3.8.0
To fix any issues due to migration, please go to the migration guide. Labels and are clickable and lead to the section of the migration guide corresponding to the associated described change.
Release notes
CGMES
- Add option in CGMES import to ensure IDs and aliases unicity (#1508)
- Fix unit test for operational limits on node-breaker (#1509)
- Update rdf4j version (#1424)
- CGMES conversion performance improvement: avoid duplicated queries ( (#1500)
- CGMES non impedant AcLineSegment located inside a voltage level are now converted in a fictitious switch (#1500)
- CGMES conversion: join voltage levels connected by switches (Initial voltage levels id are stored as aliases) (#1332)
- Check the presence of a EQ profile in CgmesOnDataSource (#1542)
Computation
- Implement
getStdOut
andgetStdErr
to get outputs of local computations (#1511)
IIDM
- Allow to ensure alias unicity (#1508)
- Allow to reuse DanglingLineAdder twice (#1496 & #1552)
- Allow to reuse ThreeWindingsTransformerAdder twice (#1501)
- Allow to reuse TieLineAdder twice (#1507)
- Assert that the XML serializer is not null when writeExtension() is called (#1516)
- Bug fix in LineAdderAdapter (node1 used to be set twice) (#1521)
- Add names to node-breaker voltage level graphviz export (#1531)
- Fix error message in 3WT leg adder to give more contextual information (#1495)
- Allow to log error rather than throwing exceptions when there is an IIDM-XML version incompatibility during export (#1535)
Load flow
- Enable LoadFlowResult Json export (#1517)
Matpower
- Fix line detection during branch conversion (#1541)
Merging view
- Merge DanlingLines with the same ID and Xnode code (#1518)
- Fix error message in the merging view (#1520)
PSS/E
- Parse by field instead of by index to prepare support of v35 (#1460)
Sensitivity analysis
- A more
run
andrunAsync
methods in theSensitivityAnalysis
interface (#1529)
v3.8.0-RC1
To fix any issues due to migration, please go to the migration guide. Labels and are clickable and lead to the section of the migration guide corresponding to the associated described change.
Release notes
CGMES
- Fix unit test for operational limits on node-breaker (#1509)
- Update rdf4j version (#1424)
- CGMES conversion performance improvement: avoid duplicated queries ( (#1500)
- CGMES non impedant AcLineSegment located inside a voltage level are now converted in a fictitious switch (#1500)
- CGMES conversion: join voltage levels connected by switches (Initial voltage levels id are stored as aliases) (#1332)
- Check the presence of a EQ profile in CgmesOnDataSource (#1542)
Computation
- Implement
getStdOut
andgetStdErr
to get outputs of local computations (#1511)
IIDM
- Allow to reuse DanglingLineAdder twice (#1496)
- Allow to reuse ThreeWindingsTransformerAdder twice (#1501)
- Allow to reuse TieLineAdder twice (#1507)
- Assert that the XML serializer is not null when writeExtension() is called (#1516)
- Bug fix in LineAdderAdapter (node1 used to be set twice) (#1521)
- Add names to node-breaker voltage level graphviz export (#1531)
- Fix error message in 3WT leg adder to give more contextual information (#1495)
- Allow to log error rather than throwing exceptions when there is an IIDM-XML version incompatibility during export (#1535)
Load flow
- Enable LoadFlowResult Json export (#1517)
Matpower
- Fix line detection during branch conversion (#1541)
Merging view
- Merge DanlingLines with the same ID and Xnode code (#1518)
- Fix error message in the merging view (#1520)
PSS/E
- Parse by field instead of by index to prepare support of v35 (#1460)
Sensitivity analysis
- A more
run
andrunAsync
methods in theSensitivityAnalysis
interface (#1529)
v3.7.1
Release notes
Action
- Avoid adding duplicate contingencies to an ActionDB (#1506)
IIDM
- Fix bug in
AbstractTerminalTopologyVisitor
to visit terminals of BusbarSections (#1512)
iTools
- Allow itools.bat to be run several time in the same cmd.exe (#1505)
Loadflow
- Add per component results (#1497)
Quality
- Move tests on
SlackTerminal
andLoadDetail
in TCK (#1504)
v3.3.2
v3.7.0
To fix any issues due to migration, please go to the migration guide. Labels and are clickable and lead to the section of the migration guide corresponding to the associated described change.
Release notes
Action
- Avoid adding duplicate contingencies to an ActionDB (#1506)
- Fix encoding issue in ExpressionPrinter (#1486)
AMPL
- Fix AMPL conversion of ThreeWindingsTransformer and Shunts (#1475)
- Bug fix: consider network's extensions during AMPL export (#1514)
CGMES
- Add aliases during CGMES import for unmapped IDs (terminals, tap changers, etc) (#1466)
- Add an extension containing SV metadata information for CGMES SV import/export (#1459)
- Export SV profile from scratch (beta) (#1480)
- Fix property name of shunt compensator sections in previous SV export (#1477)
- Import
SynchronousMachine.referencePriority
asSlackTerminal
extension (#1467) - Introduce CimCharacteristics extension and use in CGMES import (#1464)
- Prevent x of step to be undefined (NaN) during CGMES import for non tabular ptc (#1491)
- Small fixes and corrections of CGMES RegulatingControl import (#1484 & #1487)
- Support of CGMES import of swicthes located at boundary: they are converted to DanglingLine with zero impedance (#1408)
Contingency DSL
- Support of DanglingLine contingencies in DSL (#1483)
Entsoe Util
- Fix a NullPointerException when getting the country code from a UX or UC filename (#1479)
IIDM
- Update IIDM/XIIDM version from
1.3
to1.4
- Add the possibility to associate a type to an alias (#1402)
- Fix: Invalidate the cache when an equipment is removed in node/breaker topology (#1472)
- Fix missing call to MultiVariantObject implementations (#1476)
- Move LoadDetailXmlSerializer in iidm-xml-converter (#1494)
- Fix bug in
AbstractTerminalTopologyVisitor
to visit terminals of BusbarSections (#1512)
iTools
- Allow itools.bat to be run several time in the same cmd.exe (#1505)
Loadflow
- Add new parameters: dc, distributed slack and balance type (#1481)
- Add per component results (#1497)
PSS/E
- Rename PSSE option to fit powsybl standards (#1498)
Security analysis
- Fix Limit violation builder (#1473, #1499)
- Remove
powsybl-security-analysis
aggregator module (#1503)
Sensitivity analysis
- Refactor sensitivity computation API (#1474 )
UCTE
- Don't export 999999.0 IMAX value when a line or transformer has no permanent limit (#1465)
Quality
v3.6.0
To fix any issues due to migration, please go to the migration guide. Labels and are clickable and lead to the section of the migration guide corresponding to the associated described change.
Release notes
Action simulator
- Add a method to get the actions from ActionDB (#1441)
CGMES (beta)
- Full model fast parser (#1420)
Commons
- Use WeakReference in listener cache (#1440)
Dynamic simulation
IIDM
- Add an option to XML export to sort elements (#1337)
- Bug fix: Correct default implementation of getVoltageSetpoint method for static var compensators (#1458)
- Make
LoadDetail
extension multi variant (#1448)
Merging View (beta)
- First implementation (#1445 & #1450)
- Implement getLineStream(), getLines(), getDanglingLineStream() and getDanglingLines() in BusAdapter
- Implement
VoltageLevelAdapter
- Use IIDM TCK to validate the merging view
- Add implementation of
MergingLine.getHalf(Side)
- Implement TopologyTraverserAdapter to traverse mergingview from TerminalAdapter (#1452)
Network Conversion
- Add some javadoc to import API (#1419)
Time series
- Fix constant time series creation (in Groovy script) from a
BigDecimal
literal (#1422)
UCTE
- Create stable substation IDs at import (#1449)
Utils
- Add utility function to quickly jump to a XML path (#1418)
Quality
v3.5.0
To fix any issues due to migration, please go to the migration guide. Labels and are clickable and lead to the section of the migration guide corresponding to the associated described change.
Release notes
CGMES
- Intilialize the PATL if undefined with the lowest TATL (#1360)
- Bug fix after (#1360): Add hasTemporaryLimits() to CurrentLimitsAdder in order to correct CGMES conversion (#1372)
- Bug fix:use
SychronousMachine.name
for generator's name, notGeneratingUnit.name
(#1387) - Fix file leak in CGMES import (#1405)
- Import load details to separate conform loads than non conform loads for further slack distribution (#1383)
- CGMES updates: reduce size of changelog not recording state variables (#1386)
Commons
- Fix locking in WeakListenerList to prevent deadlock (#1376)
Dynamic simulation
- Add support for dynamic model mapping (#1345)
- Remove
skip-proc
option from the dynamic simulation tool (#1403)
Extension
- Add a new extension VoltageExtension similar to CurrentExtension (#1355)
- add an Abstract Extension AbstractPrecontingencyValueExtension. CurrentExtension and VoltageExtension inherits from it (#1355)
- add LoadDetail extension (#1377)
Grid Conversion
- Add a utility function to support double parameters (#1380)
IEEE
- Add support of SlackBus import (#1381)
IIDM
- Add convenient methods to transformers to check if there is any tap changers (
hasRatio/PhaseTapChanger
&getOptionalRatio/PhaseTapChanger
) (#1346 & #1391) - Addition of an alias system on Identifiables in IIDM (#1319, #1406)
- Always use
get/set[...]Setpoint
instead ofget/set[...]SetPoint
(#1393) - Bug fix in
DanglingLine
'sCurrentLimits
notifications update (#1400) - Correcting bug for MultiVariant extensions of VoltageLevels (#1404)
- Implement a
getAllSteps()
method for tap changers (#1395) - Implementation of
LoadDetail
extension (handles fixed and variable power forLoad
) (#1377) - Improvement: using
identifiable.getNetwork()
when possible instead ofidentifiable.getVoltageLevel().getSubstation().getNetwork()
(#1401) - In the bus view calculation, a DanglingLine is not more considered as a feeder. We need to consider it as a branch, as it is in reality (#1340) to avoid bus losses from the merging view.
- Split shunt admittance when calculating flows in SV util (#1394)
- Runnables in XIIDM util methods can now throw XmlStreamException (#1399)
- Update the javadoc with the Tables copied from the current website (#1397)
- Add getters for terminals from a Bus (#1396)
- Update IIDM/XIIDM version from
1.2
to1.3
- Add SlackTerminal extension (#1038)
LoadFlow
- Add slackBus parameters to LoadFlowParameters (#1416)
Math
- Support LU transposition solvation (#1411)
MathPower
- Fix a memory leak (#1407)
PSS/E
- Improve PSSE import: switched shunts, phase shifters, 3 windings transformers (#1356, #1382)
- Remove duplicated connect in generators conversion (#1385)
- Add support of SlackBus import (#1381)
UCTE
- Fixes element statuses import export to handle all the use cases (REAL vs EQUIVALENT, IN_OPERATION vs OUT_OF_OPERATION) (#1358)
- Add support of SlackBus import/export (#1381)
Quality
v3.3.1
v3.4.0
To fix any issues due to migration, please go to the migration guide. Labels and are clickable and lead to the section of the migration guide corresponding to the associated described change.
Release notes
CGMES
- Consider only .xml files that contain valid namespaces (RDF, CIM) (#1296)
- Cgmes conversion: add phaseTapChangerLinear (#1306)
- Cgmes conversion: remove old conversion of transformers (#1320)
- Fix conversion of opened switches between voltage levels (#1344)
- Migrate
CgmesConversionContextExtension
to new Extension API (#1341) - Migrate
CgmesModelExtension
to new Extension API (#1339) - Remove noisy logs in datasource (#1352)
Dynamic simulation
- Add curves support for dynamic simulation (#1330)
Extensions
- Extendable: move newExtension from AbstractExtendable to default Extendable for broader compatibility. Override getImplementationName where needed (#1305)
- Add the new `VoltagePerReactivePowerControl extension for StaticVarCompensator (#1321)
- Cleanup the javadoc (#1298)
IEEE
- Fix generator active power limits default value (#1304)
IIDM
- Migrate extension
EntsoeArea
to new extension API (#1342) - Migrate extension
MergedXnode
to new extension API (#1343) - Migrate extension
ThreeWindingsTransformerPhaseAngleClock
to new extension API (#1336) - Migrate extension
TwoWindingsTransformerPhaseAngleClock
to new extension API (#1272) - Quality: Replace a log info to trace for node count removal (#1299)
- Fix ImporterWrapper implementation by passing the
NetworkFactory
to the importer (#1324) - Add a clone method based on NetworkXml that accepts a
NetworkFactory
(#1350)
iTools
- Remove the
skip-postproc
option from all the simulation tools (#1313)
Loadflow
- Introduction of new parameter
twtSplitShuntAdmittance
for split shunt admittance for two windings transformers and three windings transformers (#1276)
MatPower
Merging view
- Add an abstract connectable adapter to factorize the code (#1331)
PSS/E
- First version of PSS/E importer (it only works on simple networks like IEEE 14 buses) (#1338)
Security Analysis
- Fix the worker count in the
SecurityAnalysisImpl
when the contingency list is empty (#1323)
Sensitivity
- Allow to use a JSON file to update the configuration for sensitivity computation (#1302)
Triplestore
- Add method to write a unique subset (#1301)
- Quality: Replace
rdf4j-runtime
dependency by the dependencies actually used (#1303)
UCTE
- Fix incorrect management of power plant type in UCTE import/export (#1270)
- Fix tie-line current limit export when different on both sides of the XNode (#1333)
- Add a check on voltage level consistencies of both side of the lines (#1325)
- Logs level adjustments in UCTE importer and network merge (#1351)
Quality
- Update Mockito to v3.3.3 (#1328)
v3.3.0
To fix any issues due to migration, please go to the migration guide. Labels and are clickable and lead to the section of the migration guide corresponding to the associated described change.
Release notes
CGMES (beta)
- Bug fix: regulating terminal TN can be obtained through CN (#1251)
- Change in CGMES import of SVC regulation (#1238 & #1295)
- Check that node has attached equipment attached to them before setting voltages and angles during CGMES import of a node/breaker network (#1233)
- Improve performance of the
PropertyBag::tabulate()
method (#1264) - Let Connectivity Nodes find Topological Node SvVoltage through Terminals (#1237)
- Optimize SPARQL request (#1246)
- Support CGMES export with simple modifications in bus/branch topology (#1201)
- Support shunt's regulation (#1220)
- Update CGMES conversion of DC components to interpret correctly atypical DC configuration (no simple single DC line) (#1230, #1275 & #1291)
- Unhandled update notifications do not throw exceptions anymore while preparing CGMES export (#1283)
- Optimize the performance of the logging methods in the conversion context (#1266)
Configuration
- Add mechanism to allow the configuration file to be updated by a JSON file in command line (#1248)
Dynamic simulation
- Add a
parameters-file
option to the dynamic-simulation command (#1107)
IEEE
- Bug fix: align
isTransformer
's logic tocreateBranches
line and transformer detection logic (#1236)
IIDM
- Add a convenient method to get an
Optional<Terminal>
from its node in theNodeBreakerView
(#1235 ) - Add a convenient method to check if a node in the
NodeBreakerView
has equipment (Connectable
,Switch
orInternalConnection
) attached to it (#1233) - Add more restrictive integrity tests on HVDC lines and converter stations (#1262)
- Add a new predicate type for network reduction: allow to keep a voltage level and its neighbors up to a specified depth (#1261)
- Bug fix: ensure that
voltageLevel.getConnectables()
andvoltageLevel.getConnectableStream()
return distinct elements (#1218) - Bug fix: fix a NullPointerException when removing a voltage level that contains an internal connection (#1259)
- Bug Fix: fix the filtering of buses for the Synchronous component (#1258)
- Extension
MergedXNode
constructor throws exception ifrdp
orxdp
isNaN
(#1222) - Extension
CoordinatedReactiveControl
andActivePowerControl
follow the new API design (#1255) - Fix in destructive merging of two
DanglingLine
in aMergedLine
(#1142) - Introduce
Identifiable.getOptionalName()
,Identifiable.getNameOrId()
and deprecateIdentifiable.getName()
(#1243) - Introduce new convenient methods to run through connectables from network (#1232)
- Merging view
- Refactor XMLExport to remove the multi file export feature (#1215 & #1281)
- Remove
skip-extensions
property inXMLExporter
(#1212) - Update IIDM/XIIDM version from
1.1
to1.2
- Add a
ratedS
attribute toTwoWindingsTransformer
andThreeWindingsTransformer.Leg
to model apparent power (#1199) - Add regulation for
ShuntCompensator
(#958) - Any
Identifiable
canfictitious
, not onlySwitch
(#1209) - Change behavior of
targetDeadband
for tap changers (#958 & #1204) - Change mechanism for creating and cleaning vertices in a node/breaker voltage level's graph (#1161)
- Delete
nodeCount
attribute innodeBreakerTopology
XML element (#1161) - The lossFactor is a percentage (#1280)
- Add a
Loadflow
- Fix
LoadFlowParameters
copy constructor to also clone the extension (#1154) specificCompatibility
parameter is renamedt2wtSplitShuntAdmittance
(#1198)
Network extraction
- Add a new network predicate based on a voltage level and a depth (#1261)
PSS/E (alpha)
- Support PSS/E import
Security
- Change the design of the
SecurityAnalysisResultBuilder
and improve security analysis interceptors (#1247)
Sensitivity
- Modify the sensitivity API to support for post-contingency sensitivity analyses (#1155 & #1245)
- Support a CSV export of sensitivity calculation results (#1190)
UCTE
- Bug fix: in a mergedXnode, R1/(R1+R2) is set to 0 when R1+R2 is equal to 0 (resp X) (#1222 )
- Bug fix: Add a comment in the UCTE header to specify the tool used and the case date (#1223)
- Equivalent UCTE bus are tagged as fictitious IIDM bus and vice versa (#1249)
- Fix EntsoeFileName to parse IDCF (#1284)
- Fix on
rdp
andxdp
values ofmergedXnode
during UCTE import (#1222 & #1241) - Fix loss of element names on tie-lines (#1263)
Quality