Skip to content

Commit c9e9328

Browse files
Merge pull request #1034 from ie3-institute/rel/sp/#1033-release-5.0
Release version 5.0
2 parents 46e571f + 91eabf3 commit c9e9328

File tree

520 files changed

+16224
-12289
lines changed

Some content is hidden

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

520 files changed

+16224
-12289
lines changed

.gitignore

+6-1
Original file line numberDiff line numberDiff line change
@@ -242,4 +242,9 @@ docs/readthedocs/_build
242242
**/*.synctex.gz
243243
**/*.synctex(busy)
244244

245-
docs/javadoc
245+
### Metals ###
246+
.metals/
247+
.bloop/
248+
project/**/metals.sbt
249+
250+
docs/javadoc

AUTHORS

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
Copyright (c) 2023, Institute of Energy Systems, Energy Efficiency and Energy Economics (ie3)
1+
Copyright (c) 2024, Institute of Energy Systems, Energy Efficiency and Energy Economics (ie3)
22
All rights reserved.
33

44
Lead Developers:
55
- Johannes Hiry
66
- Chris Kittl
77
- Debopama Sen-Sarma
8+
- Thomas Oberließen
9+
- Daniel Feismann
10+
- Johannes Bao
11+
- Sebastian Peter
812

913
Main Contributers:
1014
- Johannes Hiry - https://github.com/johanneshiry
@@ -20,3 +24,8 @@ Main Contributers:
2024
- Marius Staudt - https://github.com/staudtMarius
2125
- Lara Roumeliotis - https://github.com/lararou
2226
- Vicky Bung - https://github.com/vickybung1
27+
- Daniel Feismann - https://github.com/danielfeismann
28+
- Johannes Bao - https://github.com/jo-bao
29+
- Julian Hohmann - https://github.com/julianhohmann
30+
- Simon Huette - https://github.com/SimonHuette
31+
- Pierre Petersmeier - http://github.com/pierrepetersmeier

CHANGELOG.md

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

77
## [Unreleased/Snapshot]
88

9+
## [5.0.0] - 2024-03-06
10+
911
### Added
12+
- Formatting Spotless Groovy import order [#960](https://github.com/ie3-institute/PowerSystemDataModel/issues/960)
13+
- Implementing missing typical methods in `Try` [#970](https://github.com/ie3-institute/PowerSystemDataModel/issues/970)
14+
- Added log warning when using `SwitchInputs` with `parallelDevices` parameter [#840](https://github.com/ie3-institute/PowerSystemDataModel/issues/840)
15+
- Validation for `EvcsInput` [#1000](https://github.com/ie3-institute/PowerSystemDataModel/issues/1000)
16+
- Scaling method in system participant copy builders [#1011](https://github.com/ie3-institute/PowerSystemDataModel/issues/1011)
17+
- Added separate field for maximum power limit for DC to evtype [#876](https://github.com/ie3-institute/PowerSystemDataModel/issues/876)
18+
- Added test for invalid input data in `CsvRawGridSource` [#1021](https://github.com/ie3-institute/PowerSystemDataModel/issues/1021)
19+
- Added `CsvThermalGridSource` [#1009](https://github.com/ie3-institute/PowerSystemDataModel/issues/1009)
20+
- Enhance documentation for CSV timeseries [#825](https://github.com/ie3-institute/PowerSystemDataModel/issues/825)
1021

1122
### Fixed
23+
- Fixed Couchbase integration tests that randomly failed [#755](https://github.com/ie3-institute/PowerSystemDataModel/issues/755)
24+
- Fixed hyperlink in line documentation [#965](https://github.com/ie3-institute/PowerSystemDataModel/issues/965)
25+
- Fixed some tests no failing when they should [#958](https://github.com/ie3-institute/PowerSystemDataModel/issues/958)
26+
- Fixed thermal-house-documentation [#873](https://github.com/ie3-institute/PowerSystemDataModel/issues/873)
27+
- Fixed ElectricVehicle Documentation [#875](https://github.com/ie3-institute/PowerSystemDataModel/issues/875)
28+
- Fixed Equal behavior of `ConnectorResult` [#1001](https://github.com/ie3-institute/PowerSystemDataModel/issues/1001)
29+
- Fixed test for invalid input data in `CsvGraphicSource` [#1022](https://github.com/ie3-institute/PowerSystemDataModel/issues/1022)
1230

1331
### Changed
32+
- Changing from comparing strings to comparing uuids in `EntitySource.findFirstEntityByUuid` [#829](https://github.com/ie3-institute/PowerSystemDataModel/issues/829)
33+
- Adding JavaDoc to `EntitySource.safeMapGet` [#828](https://github.com/ie3-institute/PowerSystemDataModel/issues/828)
34+
- Abstracting some methods in `ValidationUtils` [#852](https://github.com/ie3-institute/PowerSystemDataModel/issues/852)
35+
- Changes to Energy Management inputs:
36+
- `EmInput` should not be connected to the grid [#955](https://github.com/ie3-institute/PowerSystemDataModel/issues/955)
37+
- System participants now reference the em entity [#957](https://github.com/ie3-institute/PowerSystemDataModel/issues/957)
38+
- Enhancing the error message for coordinate sources with invalid column names [#670](https://github.com/ie3-institute/PowerSystemDataModel/issues/670)
39+
- Allowing for additional unused columns in sources [#839](https://github.com/ie3-institute/PowerSystemDataModel/issues/839)
40+
- Improving column name validation to only run once per source [#849](https://github.com/ie3-institute/PowerSystemDataModel/issues/849)
41+
- Refactored and abstracted `EntitySource`s and `EntityData` creation [#969](https://github.com/ie3-institute/PowerSystemDataModel/issues/969)
42+
- Updated contributing.md [#737](https://github.com/ie3-institute/PowerSystemDataModel/issues/737)
43+
- Don't throw exceptions for not yet implemented validations [#879](https://github.com/ie3-institute/PowerSystemDataModel/issues/879)
44+
- `CsvDataSource` throws exceptions on error [#954](https://github.com/ie3-institute/PowerSystemDataModel/issues/954)
45+
- Removing `uuid` as required column from input and result time series [#826](https://github.com/ie3-institute/PowerSystemDataModel/issues/826)
46+
- Removing the support for the old csv format that was marked `deprecated` back in version `1.1.0` [#795](https://github.com/ie3-institute/PowerSystemDataModel/issues/795)
47+
- BREAKING: Updating PowerSystemUtils dependency to 2.2 [#1006](https://github.com/ie3-institute/PowerSystemDataModel/issues/1006)
1448

1549
## [4.1.0] - 2023-11-02
1650

@@ -34,6 +68,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3468
### Fixed
3569
- Fixed wrong rated power unit hint [#804](https://github.com/ie3-institute/PowerSystemDataModel/issues/804)
3670
- Fixed wrong hash code generation of ConnectorResult [#817](https://github.com/ie3-institute/PowerSystemDataModel/issues/817)
71+
- Fixed wrong path for timeSeriesMapping [#886](https://github.com/ie3-institute/PowerSystemDataModel/issues/886)
3772

3873
### Changed
3974
- Removing deprecated classes and methods [#540](https://github.com/ie3-institute/PowerSystemDataModel/issues/540)
@@ -42,6 +77,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4277
- Use nio paths instead of strings for file path [#723](https://github.com/ie3-institute/PowerSystemDataModel/issues/723)
4378
- Data source will throw an exceptions instead of returning an empty optionals [#707](https://github.com/ie3-institute/PowerSystemDataModel/issues/707)
4479
- Improving `ValidationUtils` [#758](https://github.com/ie3-institute/PowerSystemDataModel/issues/758)
80+
- conversion from rst to markdown myst[#979](https://github.com/ie3-institute/PowerSystemDataModel/pull/985)
4581

4682
## [3.0.0] - 2023-02-16
4783

@@ -236,7 +272,8 @@ coordinates or multiple exactly equal coordinates possible
236272
- CsvDataSource now stops trying to get an operator for empty operator uuid field in entities
237273
- CsvDataSource now parsing multiple geoJson strings correctly
238274

239-
[Unreleased/Snapshot]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.1.0...HEAD
275+
[Unreleased/Snapshot]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.0.0...HEAD
276+
[4.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.1.0...5.0.0
240277
[4.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.0.0...4.1.0
241278
[4.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/3.0.0...4.0.0
242279
[3.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/2.1.0...3.0.0

CONTRIBUTING.md

+2-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ With this document we would like to give you some orientation on how you can con
1616
## Testing and reporting bugs
1717
We really appreciate your usage of this project.
1818
Whenever you find a bug, it would be nice to check, if this isn't a feature to us. :wink:
19-
You may find extensive information about the intended behaviour when you [Read the Docs](https://powersystemdatamodel.readthedocs.io/en/latest/) or within the [javadoc](https://ie3-institute.github.io/PowerSystemDataModel/javadoc/).
19+
You may find extensive information about the intended behaviour when you [Read the Docs](https://powersystemdatamodel.readthedocs.io/en/latest/).
2020
If you still think it's a bug, please raise an [issue](https://guides.github.com/features/issues/) for us.
2121
Considering the following aspects in your inquiry, assists us in helping you:
2222

@@ -67,9 +67,6 @@ Before marking the pull request as 'ready to review', take these precautionary a
6767
`gradle finalizePR` summarizes all of these steps .
6868

6969
## For any doubts
70-
... please contact
71-
* Johannes (@johanneshiry),
72-
* Debopama (@sensarmad) or
73-
* Chris (@ckittl)
70+
... please contact [us](AUTHORS)
7471

7572
We are happy to help! :smiley:

Jenkinsfile

-1
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,6 @@ def constantBranchesProps() {
451451
[
452452
string(defaultValue: '', description: '', name: 'deploy', trim: true)
453453
]),
454-
[$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false],
455454
[$class: 'ThrottleJobProperty', categories: [], limitOneJobWithMatchingParams: false, maxConcurrentPerNode: 0, maxConcurrentTotal: 0, paramsToUseForLimit: '', throttleEnabled: true, throttleOption: 'project']
456455
])
457456
}

build.gradle

+15-15
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ plugins {
44
id 'maven-publish'
55
id 'signing'
66
id 'pmd' // code check, working on source code
7-
id 'com.diffplug.spotless' version '6.22.0' //code format
8-
id 'com.github.spotbugs' version '5.2.1' // code check, working on byte code
9-
id 'de.undercouch.download' version '5.5.0'
7+
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
9+
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
1212
id "org.sonarqube" version "4.4.1.3373" // sonarqube
@@ -17,8 +17,8 @@ ext {
1717
//version (changing these should be considered thoroughly!)
1818
javaVersion = JavaVersion.VERSION_17
1919
groovyVersion = "4.0"
20-
groovyBinaryVersion = "4.0.15"
21-
testcontainersVersion = '1.19.1'
20+
groovyBinaryVersion = "4.0.19"
21+
testcontainersVersion = '1.19.7'
2222

2323
scriptsLocation = 'gradle' + File.separator + 'scripts' + File.separator //location of script plugins
2424
}
@@ -53,7 +53,7 @@ repositories {
5353
dependencies {
5454

5555
// ie³ power system utils
56-
implementation 'com.github.ie3-institute:PowerSystemUtils:2.0'
56+
implementation 'com.github.ie3-institute:PowerSystemUtils:2.2.1'
5757

5858
implementation 'tech.units:indriya:2.2'
5959

@@ -70,10 +70,10 @@ dependencies {
7070
// testing
7171
testImplementation "org.apache.groovy:groovy:$groovyBinaryVersion"
7272

73-
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0'
73+
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2'
7474
testImplementation "org.spockframework:spock-core:2.3-groovy-$groovyVersion"
7575
testImplementation 'org.objenesis:objenesis:3.3' // Mock creation with constructor parameters
76-
testImplementation 'net.bytebuddy:byte-buddy:1.14.9' // Mocks of classes
76+
testImplementation 'net.bytebuddy:byte-buddy:1.14.12' // 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.21.1')
86+
implementation platform('org.apache.logging.log4j:log4j-bom:2.23.0')
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
92-
implementation 'org.influxdb:influxdb-java:2.23'
93-
implementation 'com.couchbase.client:java-client:3.4.11'
94-
runtimeOnly 'org.postgresql:postgresql:42.6.0' // postgresql jdbc driver required during runtime
92+
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
9595

96-
implementation 'commons-io:commons-io:2.15.0' // I/O functionalities
97-
implementation 'org.apache.commons:commons-compress:1.24.0' // I/O functionalities
98-
implementation 'org.apache.commons:commons-lang3:3.13.0'
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
9999
}
100100

101101
tasks.withType(JavaCompile) {

docs/readthedocs/gettingstarted.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Getting started
2+
Welcome, dear fellow of bottom up power system modelling!
3+
This section is meant to give you some help getting hands on our project.
4+
If you feel, something is missing, please contact us!
5+
6+
## Requirements
7+
8+
Java > v 17
9+
10+
## Where to get
11+
12+
Checkout latest from [GitHub](https://github.com/ie3-institute/PowerSystemDataModel) or use maven for dependency
13+
management:
14+
15+
### Stable releases
16+
17+
On [Maven central](https://search.maven.org/artifact/com.github.ie3-institute/PowerSystemDataModel):
18+
19+
```xml
20+
<dependency>
21+
<groupId>com.github.ie3-institute</groupId>
22+
<artifactId>PowerSystemDataModel</artifactId>
23+
<version>2.1.0</version>
24+
</dependency>
25+
```
26+
27+
### Snapshot releases
28+
29+
Available on [OSS Sonatype](https://s01.oss.sonatype.org/).
30+
Add the correct repository:
31+
32+
```xml
33+
<repositories>
34+
<repository>https://s01.oss.sonatype.org/content/repositories/snapshots</repository>
35+
</repositories>
36+
```
37+
38+
and add the dependency:
39+
40+
```xml
41+
<dependency>
42+
<groupId>com.github.ie3-institute</groupId>
43+
<artifactId>PowerSystemDataModel</artifactId>
44+
<version>3.0-SNAPSHOT</version>
45+
</dependency>
46+
```
47+
48+
## Important changes
49+
50+
With the release of `PowerSystemDataModel` version `5.0` the support for the old csv file format will be fully removed.
51+
It was already marked as `deprecated` back in version `1.1.0`. For those who are still using a model in the old csv format
52+
the following guide will provide a fast and easy way to convert old format into the new one.
53+
54+
- Since the support is removed in version `5.0`, the `PowerSystemDataModel` version `3.x` or `4.x` must be
55+
used to read the old format. The `PSDM` will automatically write the output model in the new csv format.
56+
57+
58+
``` java
59+
/* Parameterization */
60+
String gridName = "gridWithOldFormat";
61+
String csvSep = ",";
62+
Path folderPath = Path.of("PATH_TO_THE_FOLDER");
63+
boolean isHierarchic = false;
64+
Path output = Path.of("PATH_OF_THE_OUTPUT_FOLDER");
65+
FileNamingStrategy namingStrategy = new FileNamingStrategy();
66+
67+
/* Reading the old format */
68+
JointGridContainer container = CsvJointGridContainerSource.read(gridName, csvSep, folderPath, isHierarchic);
69+
70+
/* Writing in the new format */
71+
CsvFileSink sink = new CsvFileSink(output, namingStrategy, csvSep);
72+
sink.persistJointGrid(container);
73+
```
74+
75+

docs/readthedocs/gettingstarted.rst

-50
This file was deleted.

docs/readthedocs/index.md

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Documentation of the PowerSystemDataModel
2+
3+
Welcome to the documentation of the PowerSystemDataModel.
4+
It provides an extensive data model capable of modelling energy systems with high granularity e.g. for bottom-up simulations.
5+
Additionally, useful functions to process, augment and furnish model i/o information is provided.
6+
Effective handling of geographic information related to power grids is also possible.
7+
8+
```{toctree}
9+
:caption: 'Contents:'
10+
:maxdepth: 2
11+
12+
gettingstarted
13+
models/models
14+
io/basiciousage
15+
```
16+
17+
## Contact the (Main) Maintainers
18+
19+
If you feel, something this missing, wrong or misleading, please contact one of our main contributors:
20+
21+
> - [@sensarmad](https://github.com/sensarmad)
22+
> - [@t-ober](https://github.com/t-ober)
23+
> - [@danielfeismann](https://github.com/danielfeismann)
24+
> - [@sebastian-peter](https://github.com/sebastian-peter)
25+
> - [@jo-bao](https://github.com/jo-bao)
26+
> - [@julianhohmann](https://github.com/julianhohmann)
27+
28+
Hat tip to all other contributors!
29+
30+
# Indices and tables
31+
32+
- {ref}`genindex`
33+
- {ref}`modindex`
34+
- {ref}`search`

0 commit comments

Comments
 (0)