Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev' into jb/#671-externaldatase…
Browse files Browse the repository at this point in the history
…rvice

# Conflicts:
#	src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentals.scala
#	src/main/scala/edu/ie3/simona/io/runtime/RuntimeEventLogSink.scala
#	src/main/scala/edu/ie3/simona/service/ev/ExtEvDataService.scala
#	src/main/scala/edu/ie3/simona/sim/SimonaSim.scala
#	src/main/scala/edu/ie3/simona/sim/setup/ExtSimSetupData.scala
#	src/main/scala/edu/ie3/simona/sim/setup/SimonaSetup.scala
#	src/main/scala/edu/ie3/simona/sim/setup/SimonaStandaloneSetup.scala
  • Loading branch information
Johannes Bao committed Aug 30, 2024
2 parents 0a39eef + 67ad290 commit 960d75a
Show file tree
Hide file tree
Showing 92 changed files with 2,623 additions and 2,879 deletions.
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ updates:
target-branch: dev
reviewers:
- t-ober
- sensarmad
- sebastian-peter
- danielfeismann
- jo-bao
ignore:
- dependency-name: org.scalatest:scalatest_2.13
versions:
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,13 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk

# End of https://www.gitignore.io/api/java,macos,windows,eclipse
# Metals
.metals/
.bloop/
project/**/metals.sbt


# End of https://www.gitignore.io/api/java,macos,windows,eclipse, metals

/target/

Expand Down
4 changes: 4 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,7 @@ Scala and uses pekko as its main library for concurrent calculation and to repre
- Staudt, Marius
- Roumeliotis, Lara
- Bung, Vicky
- Hütte, Simon
- Schmelter, Philipp
- Petersmeier, Pierre
- Heintze, Marvin
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Printing the directory of log to terminal upon simulation failure [#626](https://github.com/ie3-institute/simona/issues/626)
- Implementation of StorageAgent [#309](https://github.com/ie3-institute/simona/issues/309)
- Enhanced Newton-Raphson-PowerFlow failures with more information [#815](https://github.com/ie3-institute/simona/issues/815)
- Update RTD references and bibliography [#868](https://github.com/ie3-institute/simona/issues/868)
- Add gradle application plugin for command line execution with gradle run [#890](https://github.com/ie3-institute/simona/issues/890)
- Additional tests to check flexibility options of thermal house and storage [#729](https://github.com/ie3-institute/simona/issues/729)

### Changed
- Adapted to changed data source in PSDM [#435](https://github.com/ie3-institute/simona/issues/435)
Expand Down Expand Up @@ -59,6 +62,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Remove unnecessary dependency `pekko-connectors-csv` [#857](https://github.com/ie3-institute/simona/issues/857)
- Rewrote RefSystemTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646)
- Rewrote FixedFeedModelTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646)
- Rewrote WecModelTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646)
- Rewrote FixedLoadModelTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646)
- Rewrote SystemComponentTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646)
- Converting remaining rst files to markdown [#838](https://github.com/ie3-institute/simona/issues/838)
- Merging both `FixedFeedInModelSpec` tests [#870](https://github.com/ie3-institute/simona/issues/870)
- Rewrote ThermalHouseTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646)
- Updated dependabot reviewers [#888](https://github.com/ie3-institute/simona/issues/888)
- Merged `HpModelTestData` with `HpTestData` to `HpInputTestData` [#872](https://github.com/ie3-institute/simona/issues/872)
- Harmonised both methods that check the inner temperature of thermal house against the boundaries [#880](https://github.com/ie3-institute/simona/issues/880)
- Convert all `eval-rst` instances in rtd to myst syntax [#901](https://github.com/ie3-institute/simona/issues/901)
- External simulation should provide information about next tick of MobSim [#776](https://github.com/ie3-institute/simona/issues/776)
- Reverted temporary workaround in `spotless.gradle` [#681](https://github.com/ie3-institute/simona/issues/681)
- Updated AUTHORS.md [#904](https://github.com/ie3-institute/simona/issues/904)
- Updated `Gradle` to version V8.10 [#829](https://github.com/ie3-institute/simona/issues/829)
- Updated AUTHORS.md [#905](https://github.com/ie3-institute/simona/issues/905)
- Rewrote BMModelTest from groovy to scala [#646](https://github.com/ie3-institute/simona/issues/646)

### Fixed
- Removed a repeated line in the documentation of vn_simona config [#658](https://github.com/ie3-institute/simona/issues/658)
Expand All @@ -79,6 +98,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Simulation stopping at unhandled messages in `DBFSAlgorithm` [#821](https://github.com/ie3-institute/simona/issues/821)
- Not stopping correctly on failed power flow if configured to stop [#800](https://github.com/ie3-institute/simona/issues/800)
- Finally fixing `RuntimeEventListenerSpec` [#849](https://github.com/ie3-institute/simona/issues/849)
- Fixed result output for thermal houses and cylindrical storages [#844](https://github.com/ie3-institute/simona/issues/844)
- Fixed FixedFeedModelSpec [#861](https://github.com/ie3-institute/simona/issues/861)
- Fixing duration calculation in result events [#801](https://github.com/ie3-institute/simona/issues/801)
- Handle MobSim requests for current prices [#892](https://github.com/ie3-institute/simona/issues/892)
- Fix determineState of ThermalHouse [#926](https://github.com/ie3-institute/simona/issues/926)
- Fix activation of Hp when not under control of an EM [#922](https://github.com/ie3-institute/simona/issues/922)

## [3.0.0] - 2023-08-07

Expand Down Expand Up @@ -141,6 +166,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Changed format of example grid `vn_simona` [#216](https://github.com/ie3-institute/simona/issues/216)
- Renamed ChpData to ChpRelevantData [#494](https://github.com/ie3-institute/simona/issues/494)
- Updated gradle to 8.2.1, cleaned up `build.gradle` and `Jenkinsfile` [#572](https://github.com/ie3-institute/simona/issues/572)
- Changed implementation of actor naming for unique name generation [#103](https://github.com/ie3-institute/simona/issues/103)

### Fixed
- Location of `vn_simona` test grid (was partially in Berlin and Dortmund) [#72](https://github.com/ie3-institute/simona/issues/72)
Expand Down
16 changes: 11 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ plugins {
id "com.github.maiflai.scalatest" version "0.32" // run scalatest without specific spec task
id 'org.hidetake.ssh' version '2.11.2'
id 'net.thauvin.erik.gradle.semver' version '1.0.4' // semantic versioning
id "application"
}

ext {
Expand All @@ -28,8 +29,8 @@ ext {
pekkoVersion = '1.0.2'
jtsVersion = '1.19.0'
confluentKafkaVersion = '7.4.0'
tscfgVersion = '1.0.0'
scapegoatVersion = '2.1.6'
tscfgVersion = '1.1.3'
scapegoatVersion = '3.0.0'

testContainerVersion = '0.41.4'

Expand Down Expand Up @@ -93,7 +94,7 @@ dependencies {
exclude group: 'edu.ie3'
}

implementation('com.github.ie3-institute:simonaAPI:0.4.0') {
implementation('com.github.ie3-institute:simonaAPI:0.5.0') {
exclude group: 'org.apache.logging.log4j'
exclude group: 'org.slf4j'
/* Exclude our own nested dependencies */
Expand All @@ -108,12 +109,12 @@ dependencies {

/* logging */
implementation "com.typesafe.scala-logging:scala-logging_${scalaVersion}:3.9.5" // pekko scala logging
implementation "ch.qos.logback:logback-classic:1.5.6"
implementation "ch.qos.logback:logback-classic:1.5.7"

/* testing */
testImplementation 'org.spockframework:spock-core:2.3-groovy-4.0'
testImplementation 'org.scalatestplus:mockito-3-4_2.13:3.2.10.0'
testImplementation 'org.mockito:mockito-core:5.12.0' // mocking framework
testImplementation 'org.mockito:mockito-core:5.13.0' // mocking framework
testImplementation "org.scalatest:scalatest_${scalaVersion}:3.2.19"
testRuntimeOnly 'com.vladsch.flexmark:flexmark-all:0.64.8' //scalatest html output
testImplementation group: 'org.pegdown', name: 'pegdown', version: '1.6.0'
Expand Down Expand Up @@ -177,6 +178,11 @@ jar {
}
}

// Run with ./gradlew run --args='--config /path/to/simona.conf'
application {
mainClassName = jar.manifest.attributes.get('Main-Class')
}

//////////////////////////////////////////////////////////////////////
// Build pekko'able fat jar using the gradle shadow plugin
// see http://www.sureshpw.com/2015/10/building-akka-bundle-with-all.html
Expand Down
28 changes: 27 additions & 1 deletion docs/readthedocs/_static/bibliography/bibAboutSimona.bib
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ @book{Hiry.2022
volume = {24},
publisher = {Shaker},
isbn = {9783844084627},
series = {Dortmunder Beitr{\"a}ge zu Energiesystemen, Energieeffizienz und Energiewirtschaft}
series = {Dortmunder Beitr{\"a}ge zu Energiesystemen, Energieeffizienz und Energiewirtschaft},
doi = {10.17877/DE290R-22549}
}

@Book{Kittl.2022,
Expand Down Expand Up @@ -311,3 +312,28 @@ @InProceedings{Kays.2011b
address = {Bologna}
}

@article{HIRY2022108365,
title = {Multi-voltage level distributed backward–forward sweep power flow algorithm in an agent-based discrete-event simulation framework},
journal = {Electric Power Systems Research},
volume = {213},
pages = {108365},
year = {2022},
issn = {0378-7796},
doi = {https://doi.org/10.1016/j.epsr.2022.108365},
url = {https://www.sciencedirect.com/science/article/pii/S0378779622005326},
author = {Johannes Hiry and Chris Kittl and Debopama Sen Sarma and Thomas Oberließen and Christian Rehtanz},
keywords = {Agent-based modeling, Discrete-event systems, Distributed power generation, Load flow, Power system simulation},
}

@INPROCEEDINGS{10407568,
author={Sarma, Debopama Sen and Peter, Sebastian and Rehtanz, Christian},
booktitle={2023 IEEE PES Innovative Smart Grid Technologies Europe (ISGT EUROPE)},
title={A Distributed Framework for Agent-based Optimal Energy Management of Distribution Systems},
year={2023},
volume={},
number={},
pages={1-5},
keywords={Data privacy;Europe;Systems simulation;Smart grids;Security;Energy management;Optimization;agent-based;distributed optimization;energy management;flexible prosumers;modern distribution networks},
doi={10.1109/ISGTEUROPE56780.2023.10407568}}


2 changes: 1 addition & 1 deletion docs/readthedocs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

templates_path = ['_templates']
exclude_trees = ['.build']
source_suffix = ['.rst', '.md']
source_suffix = ['.md']
source_encoding = 'utf-8-sig'


Expand Down
22 changes: 22 additions & 0 deletions docs/readthedocs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Welcome to simona docs

```{image} ../logo/logo_tightcrop_transparent.png
:width: 25%
:align: right
:alt: logo of simona
```

Welcome to the documentation of simona - an agent-based discrete-event power system simulation model developed at the
Institute of Energy Systems, Energy Efficiency and Energy Economics at TU Dortmund University, Germany.

```{toctree}
---
maxdepth: 2
---
about
usersguide
config
models
developersguide
references
```
20 changes: 0 additions & 20 deletions docs/readthedocs/index.rst

This file was deleted.

1 change: 1 addition & 0 deletions docs/readthedocs/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ models/two_winding_transformer_model
models/three_winding_transformer_model
models/reference_system
models/thermal_grid_model
models/thermal_house_model
```

## System Participant Related Models
Expand Down
6 changes: 3 additions & 3 deletions docs/readthedocs/models/cts_model.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ $$
$$

Reference:
```{eval-rst}
* :cite:ts:`Quaschning.2013`
```

* {cite:cts}`Quaschning.2013`


That is the mathematical description of loading and unloading processes concerning the buffer storage. Whenever heat is stored within the storage or removed from the storage this equation is used. This includes the case that the whole heat demand is satisfied by the storage.

Expand Down
71 changes: 31 additions & 40 deletions docs/readthedocs/models/pv_model.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,9 @@ $$

**References:**

```{eval-rst}
* :cite:cts:`Maleki.2017`
* :cite:ts:`Spencer.1971`
```
* {cite:cts}`Maleki.2017`
* {cite:cts}`Spencer.1971`


### Hour Angle

Expand Down Expand Up @@ -104,11 +103,10 @@ $$

**References:**

```{eval-rst}
* :cite:cts:`Watter.2013`
* :cite:ts:`Maleki.2017`
* :cite:ts:`Wang.2019`
```
* {cite:cts}`Watter.2013`
* {cite:cts}`Maleki.2017`
* {cite:cts}`Wang.2019`


### Sunrise Angle

Expand All @@ -127,10 +125,10 @@ $$
**$\phi$** = observer's latitude

**References:**
```{eval-rst}
* :cite:cts:`Maleki.2017`
* :cite:ts:`Itaca_Sun`
```

* {cite:cts}`Maleki.2017`
* {cite:cts}`Itaca_Sun`


### Solar Altitude Angle

Expand All @@ -147,10 +145,9 @@ $$

**References:**

```{eval-rst}
* :cite:ts:`Maleki.2017` p. 5
* :cite:ts:`Itaca_Sun`
```
* {cite:cts}`Maleki.2017` p. 5
* {cite:cts}`Itaca_Sun`


### Zenith Angle

Expand Down Expand Up @@ -192,10 +189,9 @@ $$

**References:**

```{eval-rst}
* :cite:ts:`Quaschning.2013`
* :cite:ts:`Maleki.2017` p. 18
```
* {cite:cts}`Quaschning.2013`
* {cite:cts}`Maleki.2017` p. 18


### Air Mass

Expand All @@ -211,10 +207,9 @@ $$

**References:**

```{eval-rst}
* :cite:ts:`Schoenberg.1929`
* :cite:ts:`WikiAirMass`
```
* {cite:cts}`Schoenberg.1929`
* {cite:cts}`WikiAirMass`


### Extraterrestrial Radiation

Expand All @@ -237,10 +232,9 @@ $$

**References:**

```{eval-rst}
* :cite:ts:`Zheng.2017` p. 53, formula 2.3b
* :cite:ts:`Iqbal.1983`
```
* {cite:cts}`Zheng.2017` p. 53, formula 2.3b
* {cite:cts}`Iqbal.1983`


### Beam Radiation on Sloped Surface

Expand Down Expand Up @@ -296,9 +290,8 @@ $$

**Reference:**

```{eval-rst}
* :cite:ts:`Duffie.2013` p. 88
```
* {cite:cts}`Duffie.2013` p. 88


### Diffuse Radiation on Sloped Surface

Expand Down Expand Up @@ -408,11 +401,10 @@ $$

**References:**

```{eval-rst}
* :cite:ts:`Perez.1987`
* :cite:ts:`Perez.1990`
* :cite:ts:`Myers.2017` p. 96f
```
* {cite:cts}`Perez.1987`
* {cite:cts}`Perez.1990`
* {cite:cts}`Myers.2017` p. 96f


### Reflected Radiation on Sloped Surface

Expand All @@ -427,9 +419,8 @@ $$
**$\rho$** = albedo

**Reference:**
```{eval-rst}
* :cite:ts:`Maleki.2017` p. 19
```

* {cite:cts}`Maleki.2017` p. 19


### Output
Expand Down
Loading

0 comments on commit 960d75a

Please sign in to comment.