Skip to content

Commit 504d73a

Browse files
Merge pull request #1108 from ie3-institute/rel/sp/#1107-release-5.1
Release version 5.1
2 parents 8ef99f7 + cad964d commit 504d73a

File tree

161 files changed

+2968
-2452
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

161 files changed

+2968
-2452
lines changed

CHANGELOG.md

+29-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased/Snapshot]
88

9+
### Added
10+
11+
### Fixed
12+
13+
### Changed
14+
15+
## [5.1.0] - 2024-06-24
16+
17+
### Added
18+
- Enhancing `VoltageLevel` with `equals` method [#1063](https://github.com/ie3-institute/PowerSystemDataModel/issues/1063)
19+
- `ConnectorValidationUtils` checks if parallel devices is > 0 [#1077](https://github.com/ie3-institute/PowerSystemDataModel/issues/1077)
20+
- `GridContainerValidationUtils` checks the connectivity for all defined operation time intervals [#1091](https://github.com/ie3-institute/PowerSystemDataModel/issues/1091)
21+
- Implemented a `CongestionResult` [#1097](https://github.com/ie3-institute/PowerSystemDataModel/issues/1097)
22+
23+
### Fixed
24+
- Fixed `MappingEntryies` not getting processed by adding `Getter` methods for record fields [#1084](https://github.com/ie3-institute/PowerSystemDataModel/issues/1084)
25+
- Fixed "depth of discharge" in documentation [#872](https://github.com/ie3-institute/PowerSystemDataModel/issues/872)
26+
- Fixed project being build twice in CI [#994](https://github.com/ie3-institute/PowerSystemDataModel/issues/994)
27+
28+
### Changed
29+
- Improvements to the search for corner points in `IdCoordinateSource` [#1016](https://github.com/ie3-institute/PowerSystemDataModel/issues/1016)
30+
- Refactor `CsvFileConnector` and `CsvDataSource` [#1007](https://github.com/ie3-institute/PowerSystemDataModel/issues/1007)
31+
- Make `EntitySource` completely static [#975](https://github.com/ie3-institute/PowerSystemDataModel/issues/975)
32+
- Abstract commonly used functionality from `EntitySource` [#981](https://github.com/ie3-institute/PowerSystemDataModel/issues/981)
33+
934
## [5.0.1] - 2024-03-07
1035

1136
### Fixed
@@ -277,9 +302,10 @@ coordinates or multiple exactly equal coordinates possible
277302
- CsvDataSource now stops trying to get an operator for empty operator uuid field in entities
278303
- CsvDataSource now parsing multiple geoJson strings correctly
279304

280-
[Unreleased/Snapshot]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.0.1...HEAD
281-
[5.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.0.0...5.0.1
282-
[4.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.1.0...5.0.0
305+
[Unreleased/Snapshot]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.1.0...HEAD
306+
[5.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.0.1...5.1.0
307+
[5.0.1]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.0.0...5.0.1
308+
[5.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.1.0...5.0.0
283309
[4.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.0.0...4.1.0
284310
[4.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/3.0.0...4.0.0
285311
[3.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/2.1.0...3.0.0

Jenkinsfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ node {
113113
gradle('--refresh-dependencies clean spotlessCheck pmdMain pmdTest spotbugsMain ' +
114114
'spotbugsTest test jacocoTestReport jacocoTestCoverageVerification', projectName)
115115

116-
sh(script: """set +x && cd $projectName""" + ''' set +x; ./gradlew clean javadoc''', returnStdout: true)
116+
sh(script: """set +x && cd $projectName""" + ''' set +x; ./gradlew javadoc''', returnStdout: true)
117117
}
118118

119119
// sonarqube analysis
@@ -156,7 +156,7 @@ node {
156156
*/
157157
sh(
158158
script: """set +x && cd $projectName""" +
159-
''' set +x; ./gradlew clean javadoc''',
159+
''' set +x; ./gradlew javadoc''',
160160
returnStdout: true
161161
)
162162

build.gradle

+12-12
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ plugins {
55
id 'signing'
66
id 'pmd' // code check, working on source code
77
id 'com.diffplug.spotless' version '6.25.0' //code format
8-
id 'com.github.spotbugs' version '6.0.8' // code check, working on byte code
8+
id 'com.github.spotbugs' version '6.0.18' // code check, working on byte code
99
id 'de.undercouch.download' version '5.6.0'
1010
id 'kr.motd.sphinx' version '2.10.1' // documentation generation
1111
id 'jacoco' // java code coverage plugin
12-
id "org.sonarqube" version "4.4.1.3373" // sonarqube
12+
id "org.sonarqube" version "5.0.0.4638" // sonarqube
1313
id 'net.thauvin.erik.gradle.semver' version '1.0.4' // semantic versioning
1414
}
1515

1616
ext {
1717
//version (changing these should be considered thoroughly!)
1818
javaVersion = JavaVersion.VERSION_17
1919
groovyVersion = "4.0"
20-
groovyBinaryVersion = "4.0.19"
21-
testcontainersVersion = '1.19.7'
20+
groovyBinaryVersion = "4.0.21"
21+
testcontainersVersion = '1.19.8'
2222

2323
scriptsLocation = 'gradle' + File.separator + 'scripts' + File.separator //location of script plugins
2424
}
@@ -72,8 +72,8 @@ dependencies {
7272

7373
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2'
7474
testImplementation "org.spockframework:spock-core:2.3-groovy-$groovyVersion"
75-
testImplementation 'org.objenesis:objenesis:3.3' // Mock creation with constructor parameters
76-
testImplementation 'net.bytebuddy:byte-buddy:1.14.12' // Mocks of classes
75+
testImplementation 'org.objenesis:objenesis:3.4' // Mock creation with constructor parameters
76+
testImplementation 'net.bytebuddy:byte-buddy:1.14.17' // Mocks of classes
7777

7878
// testcontainers (docker framework for testing)
7979
testImplementation "org.testcontainers:testcontainers:$testcontainersVersion"
@@ -83,19 +83,19 @@ dependencies {
8383
testImplementation "org.testcontainers:couchbase:$testcontainersVersion"
8484

8585
// logging
86-
implementation platform('org.apache.logging.log4j:log4j-bom:2.23.0')
86+
implementation platform('org.apache.logging.log4j:log4j-bom:2.23.1')
8787
implementation 'org.apache.logging.log4j:log4j-api' // log4j
8888
implementation 'org.apache.logging.log4j:log4j-core' // log4j
8989
implementation 'org.apache.logging.log4j:log4j-slf4j-impl' // log4j -> slf4j
9090

9191
// Databases
9292
implementation 'org.influxdb:influxdb-java:2.24'
93-
implementation 'com.couchbase.client:java-client:3.5.3'
94-
runtimeOnly 'org.postgresql:postgresql:42.7.2' // postgresql jdbc driver required during runtime
93+
implementation 'com.couchbase.client:java-client:3.7.0'
94+
runtimeOnly 'org.postgresql:postgresql:42.7.3' // postgresql jdbc driver required during runtime
9595

96-
implementation 'commons-io:commons-io:2.15.1' // I/O functionalities
97-
implementation 'commons-codec:commons-codec:1.16.1' // needed by commons-compress
98-
implementation 'org.apache.commons:commons-compress:1.26.0' // I/O functionalities
96+
implementation 'commons-io:commons-io:2.16.1' // I/O functionalities
97+
implementation 'commons-codec:commons-codec:1.17.0' // needed by commons-compress
98+
implementation 'org.apache.commons:commons-compress:1.26.2' // I/O functionalities
9999
}
100100

101101
tasks.withType(JavaCompile) {

docs/readthedocs/conf.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
author = 'Institute of Energy Systems, Energy Efficiency and Energy Economics'
2323

2424
# The full version, including alpha/beta/rc tags
25-
version = '3.0'
26-
release = '3.0.0'
25+
version = '5.0'
26+
release = '5.0.1'
2727

2828
pygments_style = 'tango'
2929
add_function_parentheses = True

docs/readthedocs/gettingstarted.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ On [Maven central](https://search.maven.org/artifact/com.github.ie3-institute/Po
2020
<dependency>
2121
<groupId>com.github.ie3-institute</groupId>
2222
<artifactId>PowerSystemDataModel</artifactId>
23-
<version>2.1.0</version>
23+
<version>5.0.1</version>
2424
</dependency>
2525
```
2626

@@ -41,7 +41,7 @@ and add the dependency:
4141
<dependency>
4242
<groupId>com.github.ie3-institute</groupId>
4343
<artifactId>PowerSystemDataModel</artifactId>
44-
<version>3.0-SNAPSHOT</version>
44+
<version>6.0-SNAPSHOT</version>
4545
</dependency>
4646
```
4747

docs/readthedocs/io/ValidationUtils.md

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ The methods in ValidationUtils and subclasses can be used to check that objects
1111
The general validation checks:
1212
- if assigned values are valid, e.g. lines are not allowed to have negative lengths or the rated power factor of any unit must be between 0 and 1
1313
- furthermore, several connections are checked, e.g. that lines only connect nodes of the same voltage level or that the voltage levels indicated for the transformer sides match the voltage levels of the nodes they are connected to.
14+
- the connectivity of the given grid for all defined operation intervals
1415

1516
The uniqueness validation checks if a collection of given objects are unique in either:
1617
- a specific field

docs/readthedocs/io/csvfiles.md

+6
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ You may extend / alter the naming with pre- or suffix by calling `new EntityPers
8181
8282
```
8383

84+
### Id Coordinate
85+
Csv id coordinate sources can have two different ways to represent their coordinate:
86+
1. ICON: Takes a `latitude` and a `longitude` column
87+
2. COSMO: Takes a `lat_rot`, a `long_rot`, a `lat_geo` and a `long_geo` column
88+
89+
8490
### Time Series
8591

8692
```{eval-rst}

docs/readthedocs/models/input/additionaldata/idcoordinatesource.md

+24-16
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,21 @@ coordinates.
77

88
## Information
99

10-
| Attribute | Remarks |
11-
|:-------------|:---------------------------------------------------------------|
12-
| `Id` | An integer value for identifying the coordinate. |
13-
| `Coordiante` | Geographical information presented as `Lat/long` of a `Point`. |
10+
```{eval-rst}
11+
.. list-table::
12+
:widths: 33 33
13+
:header-rows: 1
14+
15+
* - Attribute
16+
- Remarks
17+
18+
* - Id
19+
- An integer value for identifying the coordinate.
20+
21+
* - Coordinate
22+
- Geographical information presented as `Lat/long` of a `Point`.
1423
24+
```
1525

1626

1727
## Known implementations:
@@ -74,19 +84,17 @@ return less than n coordinates.
7484

7585

7686
## Finding and returning the closest corner coordinates:
77-
In most cases we need four corner coordinates for our given coordinate. Therefor the
78-
IdCoordinateSource contains a method that will use the calculated distances to find the closest
79-
corner coordinates for the given coordinate.
87+
In most cases we need four corner coordinates for our given coordinate. Therefor the IdCoordinateSource contains methods
88+
that tries to return the corner points for a given coordinate. The max. number of corner points is specified by the
89+
implementation of the second method.
8090

8191
``` java
82-
List<CoordinateDistance> restrictToBoundingBox(
83-
Point coordinate,
84-
Collection<CoordinateDistance> distances,
85-
int numberOfPoints
86-
)
92+
List<CoordinateDistance> findCornerPoints(Point coordinate, ComparableQuantity<Length> distance)
93+
List<CoordinateDistance> findCornerPoints(Point coordinate, Collection<CoordinateDistance> distances)
8794
```
8895

89-
For a given set of coordinates, the closest four corner coordinates plus more close points if n > 4
90-
are returned. If n < 4 the method will return the closest n corner coordinates. If the set of
91-
coordinates contains a coordinate that matches the given coordinate, only this one coordinate is
92-
returned. If n > number of coordinates in the set, all coordinates are returned.
96+
1. This method can be used to return the corner points by specifying a maximum search distance.
97+
98+
2. If a coordinate matches the given coordinate, only this coordinate is returned. If no coordinate matches the given
99+
coordinate, this method tries to return four corner points.
100+

docs/readthedocs/models/input/additionaldata/timeseries.md

+36-11
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,39 @@ In addition to actual data, a mapping function has to be known.
1717
To be as flexible, as possible, the actual content of the time series is given as children of the `Value` class.
1818
The following different values are available:
1919

20-
| Value Class | Purpose |
21-
|:-----------------------|:--------------------------------------------------------------------------------------------------------------|
22-
| `PValue` | Electrical active power |
23-
| `SValue` | Electrical active and reactive power |
24-
| `HeatAndPValue` | Combination of thermal power (e.g. in kW) <br> and electrical active power (e.g. in kW) |
25-
| `HeatAndSValue` | Combination of thermal power (e.g. in kW) <br> and electrical active and reactive power (e.g. in kW and kVAr) |
26-
| `EnergyPriceValue` | Wholesale market price (e.g. in € / MWh) |
27-
| `SolarIrradianceValue` | Combination of diffuse and direct solar irradiance |
28-
| `TemperatureValue` | Temperature information |
29-
| `WindValue` | Combination of wind direction and wind velocity |
30-
| `WeatherValue` | Combination of irradiance, temperature and wind information |
20+
```{eval-rst}
21+
.. list-table::
22+
:widths: 33 33
23+
:header-rows: 1
24+
25+
* - Value Class
26+
- Purpose
27+
28+
* - `PValue`
29+
- Electrical active power
30+
31+
* - `SValue`
32+
- Electrical active and reactive power
33+
34+
* - `HeatAndPValue`
35+
- Combination of thermal power (e.g. in kW) <br> and electrical active power (e.g. in kW)
36+
37+
* - `HeatAndSValue`
38+
- Combination of thermal power (e.g. in kW) <br> and electrical active and reactive power (e.g. in kW and kVAr)
39+
40+
* - `EnergyPriceValue`
41+
- Wholesale market price (e.g. in € / MWh)
42+
43+
* - `SolarIrradianceValue`
44+
- Combination of diffuse and direct solar irradiance
45+
46+
* - `TemperatureValue`
47+
- Temperature information
48+
49+
* - `WindValue`
50+
- Combination of wind direction and wind velocity
51+
52+
* - `WeatherValue`
53+
- Combination of irradiance, temperature and wind information
54+
55+
```

docs/readthedocs/models/input/em.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Participants are connected to an EM each via their `em` field.
1010
```{eval-rst}
1111
.. list-table::
1212
:widths: 33 33 33
13-
:header-rows: 0
13+
:header-rows: 1
1414
1515
1616
* - Attribute

docs/readthedocs/models/input/grid/gridcontainer.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ A synoptic overview of both classes' attributes is given here:
4040
```{eval-rst}
4141
.. list-table::
4242
:widths: 33 33 33
43-
:header-rows: 0
43+
:header-rows: 1
4444
4545
4646
* - Attribute

docs/readthedocs/models/input/grid/line.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Representation of an AC line.
99
```{eval-rst}
1010
.. list-table::
1111
:widths: 33 33 33
12-
:header-rows: 0
12+
:header-rows: 1
1313
1414
* - Attribute
1515
- Unit
@@ -29,15 +29,15 @@ Representation of an AC line.
2929
3030
* - x
3131
- Ω / km
32-
- Phase resistance per length
32+
- Phase reactance per length
3333
3434
* - g
3535
- µS / km
3636
- Phase-to-ground conductance per length
3737
3838
* - b
3939
- µS / km
40-
- Phase-to-ground conductance per length
40+
- Phase-to-ground susceptance per length
4141
4242
* - iMax
4343
- A
@@ -56,7 +56,7 @@ A list with some standard line types can be found here: [Standard Line Types](#s
5656
```{eval-rst}
5757
.. list-table::
5858
:widths: 33 33 33
59-
:header-rows: 0
59+
:header-rows: 1
6060
6161
6262
* - Attribute
@@ -129,7 +129,7 @@ Some standard overhead lines.
129129
```{eval-rst}
130130
.. list-table::
131131
:widths: 11 11 11 11 11 11 11 11 11
132-
:header-rows: 0
132+
:header-rows: 1
133133
134134
135135
* - uuid
@@ -312,7 +312,7 @@ Some standard cables.
312312
```{eval-rst}
313313
.. list-table::
314314
:widths: 11 11 11 11 11 11 11 11 11
315-
:header-rows: 0
315+
:header-rows: 1
316316
317317
318318
* - uuid

docs/readthedocs/models/input/grid/linegraphic.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Schematic drawing information for a line model.
99
```{eval-rst}
1010
.. list-table::
1111
:widths: 33 33 33
12-
:header-rows: 0
12+
:header-rows: 1
1313
1414
1515
* - Attribute

docs/readthedocs/models/input/grid/measurementunit.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The measured information are indicated by boolean fields.
1111
```{eval-rst}
1212
.. list-table::
1313
:widths: 33 33 33
14-
:header-rows: 0
14+
:header-rows: 1
1515
1616
1717
* - Attribute

docs/readthedocs/models/input/grid/node.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Representation of an electrical node, with no further distinction into bus bar,
99
```{eval-rst}
1010
.. list-table::
1111
:widths: 33 33 33
12-
:header-rows: 0
12+
:header-rows: 1
1313
1414
1515
* - Attribute

docs/readthedocs/models/input/grid/nodegraphic.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Schematic drawing information for a node model.
99
```{eval-rst}
1010
.. list-table::
1111
:widths: 33 33 33
12-
:header-rows: 0
12+
:header-rows: 1
1313
1414
1515
* - Attribute

0 commit comments

Comments
 (0)