Skip to content

Commit 06bd9d5

Browse files
Merge remote-tracking branch 'origin/sh/#872-storage-documentation' into sh/#872-storage-documentation
# Conflicts: # docs/readthedocs/models/input/participant/storage.md
2 parents 2e2c9aa + faa4715 commit 06bd9d5

File tree

523 files changed

+16134
-12282
lines changed

Some content is hidden

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

523 files changed

+16134
-12282
lines changed

.gitignore

Lines changed: 6 additions & 1 deletion
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

Lines changed: 10 additions & 1 deletion
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

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,52 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased/Snapshot]
88

9+
## [5.0.1] - 2024-03-07
10+
11+
### Fixed
12+
- Fixed `equals` of `ResultEntity` and `TimeSeriesEntry` [#1037](https://github.com/ie3-institute/PowerSystemDataModel/issues/1037)
13+
- Fixed "depth of discharge" in documentation [#872](https://github.com/ie3-institute/PowerSystemDataModel/issues/872)
14+
15+
## [5.0.0] - 2024-03-06
16+
917
### Added
18+
- Formatting Spotless Groovy import order [#960](https://github.com/ie3-institute/PowerSystemDataModel/issues/960)
19+
- Implementing missing typical methods in `Try` [#970](https://github.com/ie3-institute/PowerSystemDataModel/issues/970)
20+
- Added log warning when using `SwitchInputs` with `parallelDevices` parameter [#840](https://github.com/ie3-institute/PowerSystemDataModel/issues/840)
21+
- Validation for `EvcsInput` [#1000](https://github.com/ie3-institute/PowerSystemDataModel/issues/1000)
22+
- Scaling method in system participant copy builders [#1011](https://github.com/ie3-institute/PowerSystemDataModel/issues/1011)
23+
- Added separate field for maximum power limit for DC to evtype [#876](https://github.com/ie3-institute/PowerSystemDataModel/issues/876)
24+
- Added test for invalid input data in `CsvRawGridSource` [#1021](https://github.com/ie3-institute/PowerSystemDataModel/issues/1021)
25+
- Added `CsvThermalGridSource` [#1009](https://github.com/ie3-institute/PowerSystemDataModel/issues/1009)
26+
- Enhance documentation for CSV timeseries [#825](https://github.com/ie3-institute/PowerSystemDataModel/issues/825)
27+
- Enhancing `VoltageLevel` with `equals` method [#1063](https://github.com/ie3-institute/PowerSystemDataModel/issues/1063)
1028

1129
### Fixed
1230
- Fixed Couchbase integration tests that randomly failed [#755](https://github.com/ie3-institute/PowerSystemDataModel/issues/755)
13-
- Fixed "depth of discharge" in documentation [#872](https://github.com/ie3-institute/PowerSystemDataModel/issues/872)
31+
- Fixed hyperlink in line documentation [#965](https://github.com/ie3-institute/PowerSystemDataModel/issues/965)
32+
- Fixed some tests no failing when they should [#958](https://github.com/ie3-institute/PowerSystemDataModel/issues/958)
33+
- Fixed thermal-house-documentation [#873](https://github.com/ie3-institute/PowerSystemDataModel/issues/873)
34+
- Fixed ElectricVehicle Documentation [#875](https://github.com/ie3-institute/PowerSystemDataModel/issues/875)
35+
- Fixed Equal behavior of `ConnectorResult` [#1001](https://github.com/ie3-institute/PowerSystemDataModel/issues/1001)
36+
- Fixed test for invalid input data in `CsvGraphicSource` [#1022](https://github.com/ie3-institute/PowerSystemDataModel/issues/1022)
1437

1538
### Changed
1639
- Changing from comparing strings to comparing uuids in `EntitySource.findFirstEntityByUuid` [#829](https://github.com/ie3-institute/PowerSystemDataModel/issues/829)
1740
- Adding JavaDoc to `EntitySource.safeMapGet` [#828](https://github.com/ie3-institute/PowerSystemDataModel/issues/828)
1841
- Abstracting some methods in `ValidationUtils` [#852](https://github.com/ie3-institute/PowerSystemDataModel/issues/852)
42+
- Changes to Energy Management inputs:
43+
- `EmInput` should not be connected to the grid [#955](https://github.com/ie3-institute/PowerSystemDataModel/issues/955)
44+
- System participants now reference the em entity [#957](https://github.com/ie3-institute/PowerSystemDataModel/issues/957)
45+
- Enhancing the error message for coordinate sources with invalid column names [#670](https://github.com/ie3-institute/PowerSystemDataModel/issues/670)
46+
- Allowing for additional unused columns in sources [#839](https://github.com/ie3-institute/PowerSystemDataModel/issues/839)
47+
- Improving column name validation to only run once per source [#849](https://github.com/ie3-institute/PowerSystemDataModel/issues/849)
48+
- Refactored and abstracted `EntitySource`s and `EntityData` creation [#969](https://github.com/ie3-institute/PowerSystemDataModel/issues/969)
49+
- Updated contributing.md [#737](https://github.com/ie3-institute/PowerSystemDataModel/issues/737)
50+
- Don't throw exceptions for not yet implemented validations [#879](https://github.com/ie3-institute/PowerSystemDataModel/issues/879)
51+
- `CsvDataSource` throws exceptions on error [#954](https://github.com/ie3-institute/PowerSystemDataModel/issues/954)
52+
- Removing `uuid` as required column from input and result time series [#826](https://github.com/ie3-institute/PowerSystemDataModel/issues/826)
53+
- 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)
54+
- BREAKING: Updating PowerSystemUtils dependency to 2.2 [#1006](https://github.com/ie3-institute/PowerSystemDataModel/issues/1006)
1955

2056
## [4.1.0] - 2023-11-02
2157

@@ -39,6 +75,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3975
### Fixed
4076
- Fixed wrong rated power unit hint [#804](https://github.com/ie3-institute/PowerSystemDataModel/issues/804)
4177
- Fixed wrong hash code generation of ConnectorResult [#817](https://github.com/ie3-institute/PowerSystemDataModel/issues/817)
78+
- Fixed wrong path for timeSeriesMapping [#886](https://github.com/ie3-institute/PowerSystemDataModel/issues/886)
4279

4380
### Changed
4481
- Removing deprecated classes and methods [#540](https://github.com/ie3-institute/PowerSystemDataModel/issues/540)
@@ -47,6 +84,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4784
- Use nio paths instead of strings for file path [#723](https://github.com/ie3-institute/PowerSystemDataModel/issues/723)
4885
- Data source will throw an exceptions instead of returning an empty optionals [#707](https://github.com/ie3-institute/PowerSystemDataModel/issues/707)
4986
- Improving `ValidationUtils` [#758](https://github.com/ie3-institute/PowerSystemDataModel/issues/758)
87+
- conversion from rst to markdown myst[#979](https://github.com/ie3-institute/PowerSystemDataModel/pull/985)
5088

5189
## [3.0.0] - 2023-02-16
5290

@@ -241,7 +279,9 @@ coordinates or multiple exactly equal coordinates possible
241279
- CsvDataSource now stops trying to get an operator for empty operator uuid field in entities
242280
- CsvDataSource now parsing multiple geoJson strings correctly
243281

244-
[Unreleased/Snapshot]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.1.0...HEAD
282+
[Unreleased/Snapshot]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.0.1...HEAD
283+
[5.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.0.0...5.0.1
284+
[4.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.1.0...5.0.0
245285
[4.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/4.0.0...4.1.0
246286
[4.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/3.0.0...4.0.0
247287
[3.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/2.1.0...3.0.0

CONTRIBUTING.md

Lines changed: 2 additions & 5 deletions
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:

build.gradle

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,21 @@ plugins {
44
id 'maven-publish'
55
id 'signing'
66
id 'pmd' // code check, working on source code
7-
id 'com.diffplug.spotless' version '6.23.2' //code format
8-
id 'com.github.spotbugs' version '5.2.5' // 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.12' // 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
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.16"
21-
testcontainersVersion = '1.19.3'
20+
groovyBinaryVersion = "4.0.21"
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.1'
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.10' // Mocks of classes
76+
testImplementation 'net.bytebuddy:byte-buddy:1.14.14' // 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.22.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
92-
implementation 'org.influxdb:influxdb-java:2.23'
93-
implementation 'com.couchbase.client:java-client:3.5.0'
94-
runtimeOnly 'org.postgresql:postgresql:42.7.0' // postgresql jdbc driver required during runtime
92+
implementation 'org.influxdb:influxdb-java:2.24'
93+
implementation 'com.couchbase.client:java-client:3.6.2'
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 'org.apache.commons:commons-compress:1.25.0' // I/O functionalities
98-
implementation 'org.apache.commons:commons-lang3:3.14.0'
96+
implementation 'commons-io:commons-io:2.16.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.1' // I/O functionalities
9999
}
100100

101101
tasks.withType(JavaCompile) {

docs/readthedocs/gettingstarted.md

Lines changed: 75 additions & 0 deletions
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

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

docs/readthedocs/index.md

Lines changed: 34 additions & 0 deletions
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)