Skip to content

Commit 24441c9

Browse files
Merge branch 'dev' into ps/#554-HandlingNoWeatherData
2 parents 22ca7f6 + 321d72c commit 24441c9

File tree

136 files changed

+3053
-1274
lines changed

Some content is hidden

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

136 files changed

+3053
-1274
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
uses: actions/setup-java@v4
3535
with:
3636
distribution: 'temurin'
37-
java-version: 17
37+
java-version: 21
3838

3939
- name: Setup Gradle
4040
uses: gradle/actions/setup-gradle@v4
@@ -84,13 +84,17 @@ jobs:
8484
8585
#Deployment
8686
- name: Deploy
87-
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev'
87+
if: github.ref == 'refs/heads/main'
8888
env:
8989
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.MAVENCENTRAL_SIGNINGKEY }}
9090
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.MAVENCENTRAL_SIGNINGPASS }}
91-
ORG_GRADLE_PROJECT_user: ${{ secrets.MAVENCENTRAL_USER }}
92-
ORG_GRADLE_PROJECT_password: ${{ secrets.MAVENCENTRAL_PASS }}
91+
ORG_GRADLE_PROJECT_mavenCentralUser: ${{ github.actor == 'sebastian-peter' && secrets.MAVENCENTRAL_USER ||
92+
github.actor == 'danielfeismann' && secrets.MAVENCENTRAL_DANIEL_USER }}
93+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ github.actor == 'sebastian-peter' && secrets.MAVENCENTRAL_PASS ||
94+
github.actor == 'danielfeismann' && secrets.MAVENCENTRAL_DANIEL_PASS }}
95+
9396
run: |
97+
echo "Using MavenCentral Token of GitHub Actor: ${{ github.actor }}"
9498
if [ "${GITHUB_REF}" == "refs/heads/main" ]; then
9599
currentVersion=$(./gradlew -q currentVersion)
96100
else
@@ -100,3 +104,18 @@ jobs:
100104
echo "currentVersion=$currentVersion"
101105
102106
./gradlew publish -PdeployVersion=$currentVersion
107+
108+
109+
#MavenCentral Staging
110+
- name: MavenCentral Staging
111+
if: github.ref == 'refs/heads/main'
112+
env:
113+
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.MAVENCENTRAL_SIGNINGKEY }}
114+
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.MAVENCENTRAL_SIGNINGPASS }}
115+
ORG_GRADLE_PROJECT_mavenCentralUser: ${{ github.actor == 'sebastian-peter' && secrets.MAVENCENTRAL_USER ||
116+
github.actor == 'danielfeismann' && secrets.MAVENCENTRAL_DANIEL_USER }}
117+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ github.actor == 'sebastian-peter' && secrets.MAVENCENTRAL_PASS ||
118+
github.actor == 'danielfeismann' && secrets.MAVENCENTRAL_DANIEL_PASS }}
119+
120+
run: |
121+
./gradlew stagingAtMavenCentralPortal

CHANGELOG.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
## [Unreleased/Snapshot]
88

99
### Added
10-
- Extend Validation to EnergyManagement Systems. [#1356](https://github.com/ie3-institute/PowerSystemDataModel/issues/1356)
10+
- Added weathersource documentation [#1390](https://github.com/ie3-institute/PowerSystemDataModel/issues/1390)
11+
- Added standard asset parameter for `3wTransformer` in `ReadTheDocs` [#1417](https://github.com/ie3-institute/PowerSystemDataModel/issues/1417)
12+
13+
### Fixed
14+
- Fixed small issues in tests [#1400](https://github.com/ie3-institute/PowerSystemDataModel/issues/1400)
15+
- Fix transformer susceptance in readTheDocs to negative values [#1078](https://github.com/ie3-institute/PowerSystemDataModel/issues/1078)
16+
17+
18+
### Changed
19+
- Updated CI-Pipeline to run task `Deploy` and `Staging` only for `Main` [#1403](https://github.com/ie3-institute/PowerSystemDataModel/issues/1403)
20+
- Extend `GermanVoltageLevelUtils` with more synonymousIds [#143](https://github.com/ie3-institute/PowerSystemDataModel/issues/143)
21+
- Change spotless to use googleJavaFormat('1.28.0') [#1409](https://github.com/ie3-institute/PowerSystemDataModel/issues/1409)
22+
23+
## [8.1.0] - 2025-07-25
24+
25+
### Added
1126
- Added `CITATION.cff` [#1380](https://github.com/ie3-institute/PowerSystemDataModel/issues/1380)
27+
- Enhanced check for invalid field names in sources [#1383](https://github.com/ie3-institute/PowerSystemDataModel/issues/1383)
28+
- Enhancing value retrieval in `TimeSeriesSource` [1280](https://github.com/ie3-institute/PowerSystemDataModel/issues/1280)
29+
- Enhancing the `LoadProfileSource` to return the resolution [1288](https://github.com/ie3-institute/PowerSystemDataModel/issues/1288)
30+
- Enhancing Validation for sRated of `HpTypeInput` [1394](https://github.com/ie3-institute/PowerSystemDataModel/issues/1394)
31+
- Added updated `BdewStandardLoadProfiles` [#1292](https://github.com/ie3-institute/PowerSystemDataModel/issues/1292)
32+
33+
### Changed
34+
- Fixed CFF-Version [#1392](https://github.com/ie3-institute/PowerSystemDataModel/issues/1392)
35+
- Enhanced `ValidationUtils` for `LoadModel` to check for correct profile naming [#1357](https://github.com/ie3-institute/PowerSystemDataModel/issues/1357)
36+
37+
## [8.0.0] - 2025-07-22
38+
39+
### Added
40+
- Extend Validation to EnergyManagement Systems. [#1356](https://github.com/ie3-institute/PowerSystemDataModel/issues/1356)
1241

1342
### Fixed
1443
- Fixed handling of `CongestionResult.InputModelType` in `EntityProcessor` [#1325](https://github.com/ie3-institute/PowerSystemDataModel/issues/1325)
@@ -374,7 +403,9 @@ coordinates or multiple exactly equal coordinates possible
374403
- CsvDataSource now stops trying to get an operator for empty operator uuid field in entities
375404
- CsvDataSource now parsing multiple geoJson strings correctly
376405

377-
[Unreleased/Snapshot]: https://github.com/ie3-institute/powersystemdatamodel/compare/7.0.0...HEAD
406+
[Unreleased/Snapshot]: https://github.com/ie3-institute/powersystemdatamodel/compare/8.1.0...HEAD
407+
[8.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/8.0.0...8.1.0
408+
[8.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/7.0.0...8.0.0
378409
[7.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/6.0.0...7.0.0
379410
[6.0.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.1.0...6.0.0
380411
[5.1.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/5.0.1...5.1.0

CITATION.cff

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cff-version: 1.0.0
1+
cff-version: 1.2.0
22
title: "PowerSystemDataModel - Provides an elaborated data model to model energy systems with a high granularity."
33
message: "If you use this software, please cite it as below."
44
type: software
@@ -61,5 +61,5 @@ keywords:
6161
- power system
6262
- energy system
6363
license: BSD-3-Clause
64-
version: 7.0.0
65-
date-released: 2025-06-05
64+
version: 8.1.0
65+
date-released: 2025-07-25

build.gradle

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
id 'signing'
66
id 'pmd' // code check, working on source code
77
id 'com.diffplug.spotless' version '7.2.1' //code format
8-
id 'com.github.spotbugs' version '6.2.2' // code check, working on byte code
8+
id 'com.github.spotbugs' version '6.2.3' // 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
@@ -16,9 +16,9 @@ plugins {
1616

1717
ext {
1818
//version (changing these should be considered thoroughly!)
19-
javaVersion = JavaVersion.VERSION_17
19+
javaVersion = JavaVersion.VERSION_21
2020
groovyVersion = "4.0"
21-
groovyBinaryVersion = "4.0.27"
21+
groovyBinaryVersion = "4.0.28"
2222

2323
junitVersion = '1.12.0'
2424
testcontainersVersion = '1.21.3'
@@ -41,7 +41,8 @@ apply from: scriptsLocation + 'spotless.gradle'
4141
apply from: scriptsLocation + 'checkJavaVersion.gradle'
4242
apply from: scriptsLocation + 'documentation.gradle'
4343
apply from: scriptsLocation + 'jacoco.gradle' // jacoco java code coverage
44-
apply from: scriptsLocation + 'mavenCentralPublish.gradle'
44+
apply from: scriptsLocation + 'uploadToMavenCentralPortal.gradle' // upload for deploy
45+
apply from: scriptsLocation + 'stagingAtMavenCentralPortal.gradle' // stage for deploy
4546
apply from: scriptsLocation + 'sonarqube.gradle'
4647
apply from: scriptsLocation + 'vcs.gradle'
4748
apply from: scriptsLocation + 'semVer.gradle'
@@ -98,12 +99,12 @@ dependencies {
9899

99100
// Databases
100101
implementation 'org.influxdb:influxdb-java:2.25'
101-
implementation 'com.couchbase.client:java-client:3.8.3'
102+
implementation 'com.couchbase.client:java-client:3.9.0'
102103
runtimeOnly 'org.postgresql:postgresql:42.7.7' // postgresql jdbc driver required during runtime
103104

104105
implementation 'commons-io:commons-io:2.20.0' // I/O functionalities
105106
implementation 'commons-codec:commons-codec:1.19.0' // needed by commons-compress
106-
implementation 'org.apache.commons:commons-compress:1.27.1' // I/O functionalities
107+
implementation 'org.apache.commons:commons-compress:1.28.0' // I/O functionalities
107108
}
108109

109110
tasks.withType(JavaCompile) {

docs/readthedocs/gettingstarted.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ If you feel, something is missing, please contact us!
55

66
## Requirements
77

8-
Java > v 17
8+
PowerSystemDataModel requires Java to be at least Version 21.
99

1010
## Where to get
1111

docs/readthedocs/io/csvfiles.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,11 @@ The following profiles are supported until now:
169169
- Information
170170
- Supported head line.
171171
* - e.g.: H0
172-
- BDEW standard load profiles ([source](https://www.bdew.de/energie/standardlastprofile-strom/))
172+
- BDEW standard load profiles 1999 ([source](https://www.bdew.de/energie/standardlastprofile-strom/))
173173
- Permissible head line: ``SuSa,SuSu,SuWd,TrSa,TrSu,TrWd,WiSa,WiSu,WiWd,quarterHour``
174+
* - e.g.: h25
175+
- BDEW standard load profiles 2025 ([source](https://www.bdew.de/energie/standardlastprofile-strom/))
176+
- Permissible head line: ``janSa,janSu,janWd,febSa,febSu,febWd,marSa,marSu,marWd,aprSa,aprSu,aprWd,maySa,maySu,mayWd,junSa,junSu,junWd,julSa,julSu,julWd,augSa,augSu,augWd,sepSa,sepSu,sepWd,octSa,octSu,octWd,novSa,novSu,novWd,decSa,decSu,decWd,quarterHour``
174177
* - random
175178
- A random load proile based on: ``Kays - Agent-based simulation environment for improving the planning of distribution grids``
176179
- Permissible head line: ``kSa,kSu,kWd,mySa,mySu,myWd,sigmaSa,sigmaSu,sigmaWd,quarterHour``
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# WeatherSource
2+
3+
The **`WeatherSource`** is an abstract class that provides a standardized interface for accessing time-series weather data. It serves as a foundation for concrete implementations that fetch data from various providers (e.g., CSV files or SQL databases).
4+
5+
A `WeatherSource` relies on two key components:
6+
* **[`IdCoordinateSource`](idcoordinatesource.md)**: Used to resolve a numeric **coordinate ID** from the source data into a geographic `Point` object.
7+
* **`TimeBasedWeatherValueFactory`**: Used to construct `WeatherValue` objects from the raw data fields.
8+
9+
***
10+
11+
## Information
12+
13+
The source data for any `WeatherSource` implementation is expected to contain the following information.
14+
15+
```{list-table}
16+
:widths: auto
17+
:class: wrapping
18+
:header-rows: 1
19+
20+
* - Attribute
21+
- Remarks
22+
23+
* - **`coordinateid`**
24+
- An **integer ID** for a specific geographic coordinate. This ID is used to look up the actual `Point` via the `IdCoordinateSource`.
25+
26+
* - **Time**
27+
- The specific timestamp of the weather data, typically as a `ZonedDateTime`.
28+
29+
* - **Weather Data**
30+
- The meteorological values, such as solar irradiance (`direct` and `diffuse`), temperature, and wind data (`speed` and `direction`).
31+
```
32+
33+
## WeatherData
34+
35+
Weather data is comprised of five key components:
36+
37+
```{list-table}
38+
:widths: auto
39+
:class: wrapping
40+
:header-rows: 1
41+
42+
* - Component
43+
- Description
44+
- Unit
45+
46+
* - **`directIrradiance`**
47+
- Solar radiation that reaches the surface directly from the sun.
48+
- W/m²
49+
50+
* - **`diffuseIrradiance`**
51+
- Solar radiation scattered by the atmosphere before reaching the surface.
52+
- W/m²
53+
54+
* - **`temperature`**
55+
- Ambient air temperature.
56+
- K (Kelvin)
57+
58+
* - **`windVelocity`**
59+
- Wind speed.
60+
- m/s (meters per second)
61+
62+
* - **`windDirection`**
63+
- Wind direction, where 0° is North, 90° is East, etc.
64+
- ° (degrees)
65+
```
66+
Weather data in COSMO and ICON formats is supported. Additional optional weather data can also be provided.

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

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,9 @@ A list with some standard transformer types can be found here: [Standard Two Win
137137
## Standard Two Winding Transformer Types
138138

139139

140-
Following there are some standard two winding transformer types with their source. A ``csv file`` containing the types listed
141-
below can be found [here](https://github.com/ie3-institute/PowerSystemDataModel/tree/dev/input/StandardAssetTypes). This
142-
file can be used directly for any simulation with ``simona``.
143-
The transformers which source is ``simBench`` are from [here](https://simbench.de/en/download/datasets/).
140+
Following there are some standard two winding transformer types with their source. The types are listed below in a ``csv file`` [here](https://github.com/ie3-institute/PowerSystemDataModel/tree/dev/input/StandardAssetTypes). This
141+
file can be used directly for any simulation with [SIMONA](https://github.com/ie3-institute/simona).
142+
The source for transformers from ``simBench`` can be found [here](https://simbench.de/en/download/datasets/).
144143

145144
```{list-table}
146145
:widths: auto
@@ -165,7 +164,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
165164
- source
166165
167166
* - 5a890aae-b9c9-4ebf-8a49-8850ae9df402
168-
- 219.43184927638458
167+
- -219.43184927638458
169168
- 0.0
170169
- 1.0
171170
- 1731.3019390581715
@@ -182,7 +181,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
182181
- simBench
183182
184183
* - 03159c0d-126e-47cc-9871-066870df3a3f
185-
- 1193.4686938790917
184+
- -1193.4686938790917
186185
- 0.0
187186
- 1.0
188187
- 831.0249307479223
@@ -199,7 +198,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
199198
- simBench
200199
201200
* - 7cb289cb-e6af-4470-9c68-e5a91978a5e7
202-
- 2013.800484464662
201+
- -2013.800484464662
203202
- 0.0
204203
- 1.0
205204
- 1446.280991735537
@@ -216,7 +215,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
216215
- simBench
217216
218217
* - 73644bc6-78cf-4882-9837-e6508cab092d
219-
- 867.7685950413226
218+
- -867.7685950413226
220219
- 0.0
221220
- 1.5
222221
- 1157.0247933884295
@@ -233,7 +232,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
233232
- simBench
234233
235234
* - 6935ae26-374a-4c24-aeee-6d5760d6ddf3
236-
- 720.4791642215993
235+
- -720.4791642215993
237236
- 0.0
238237
- 1.5
239238
- 1487.603305785124
@@ -250,7 +249,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
250249
- simBench
251250
252251
* - b49db20f-b8b5-4265-8318-f669b9d121e9
253-
- 1015.6886939330394
252+
- -1015.6886939330394
254253
- 0.0
255254
- 1.5
256255
- 1818.181818181818
@@ -267,7 +266,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
267266
- simBench
268267
269268
* - 0843b836-cee4-4a8c-81a4-098400fe91cf
270-
- 24.495101551166183
269+
- -24.495101551166183
271270
- 0.0
272271
- 2.5
273272
- 2999.9999999999995
@@ -284,7 +283,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
284283
- simBench
285284
286285
* - a8f3aeea-ef4d-4f3c-bb07-09a0a86766c1
287-
- 9.591746452043322
286+
- -9.591746452043322
288287
- 0.0
289288
- 2.5
290289
- 1149.9999999999998
@@ -301,7 +300,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
301300
- simBench
302301
303302
* - 0644c120-a247-425f-bbe4-31b153f7f440
304-
- 16.583241729259253
303+
- -16.583241729259253
305304
- 0.0
306305
- 2.5
307306
- 2199.9999999999995
@@ -318,7 +317,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
318317
- simBench
319318
320319
* - bdf22ee4-deba-41f4-a187-ae00638a6880
321-
- 36.47380569074435
320+
- -36.47380569074435
322321
- 0.0
323322
- 2.5
324323
- 4125.0
@@ -335,7 +334,7 @@ The transformers which source is ``simBench`` are from [here](https://simbench.d
335334
- simBench
336335
337336
* - a0cbd90a-4e9f-47db-8dca-041d3a288f77
338-
- 145.8952227629774
337+
- -145.8952227629774
339338
- 0.0
340339
- 2.5
341340
- 16500.0

0 commit comments

Comments
 (0)