FlexiB Spine Toolbox workflow for Backbone model-predictive control data

Fuente: Zenodo
Salvato in:
Dettagli Bibliografici
Autore principale: Topi Rasku
Natura: Recurso digital
Lingua:inglese
Pubblicazione: Zenodo 2023
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866902090584948736
author Topi Rasku
author_facet Topi Rasku
contents <p><strong>NOTE! If the contained Spine Toolbox doesn't open the workflow properly, try updating the Spine Toolbox to the latest version by running `git pull` in the `Spine/Spine-Toolbox` folder and re-running `install.bat`!</strong></p> <p># FlexiB Spine Toolbox workflow for Backbone model-predictive control data</p> <p>A [Spine Toolbox](https://github.com/spine-tools/Spine-Toolbox) workflow for processing the input data for building-level model-predictive control for a scientific manuscript.</p> <p> </p> <p>## Key contents</p> <p>1. `install.bat` script installs the contained Spine Toolbox version into a `BbMPC` Conda environment, and runs `install_julia_modules.jl`.</p> <p>2. `install_julia_modules.jl` script is run as part of `install.bat`, setting up the necessary Julia modules within the workflow.</p> <p>3. `toolbox.bat` Starts Spine Toolbox for examining and running the data processing workflow.</p> <p>4. `building_inputs_2015-2022.zip` contains the Backbone input data files for the years 2015-2022 used in the manuscript.</p> <p>5. `raw_results_for_paper.zip` contains the raw result files used for producing the final results in the manuscript.</p> <p>6. `backbone/` contains the source code of the Backbone energy system modelling framework used for producing the results.</p> <p>7. `FlexiB/` contains the raw data and source code of the Julia tools used for the simplified RC-modelling of two buildings.</p> <p>8. `Spine/` contains the raw data and source code of the tools used for the data processing workflow management.</p> <p>9. `.spinetoolbox/` is the Spine Toolbox project folder containing the data processing workflow.</p> <p> </p> <p>## Installation</p> <p>This project uses both [Python](https://www.python.org/) *(v3.9.16 used)* and [Julia](https://julialang.org/) *(v1.8.1 used)*, so one needs to have both of them installed, although hopefully the exact same versions aren't required. Furthermore, [Conda](https://anaconda.org/anaconda/conda) *(v23.1.0 used)* is used for Python package management. **All of the above need to be installed and included in your `path`, so that they can be called from the command line in the scripts!** The `install.bat` script can be used to automatically install the contents of this Spine Toolbox project, and performs the following steps:</p> <p>1. Creates a Spine Toolbox compatible Python 3.9 Conda environment named `BbMPC`.</p> <p>2. Activates said environment.</p> <p>3. Installs the contained Spine Toolbox into the environment using `pip`.</p> <p>4. Runs the `install_julia_modules.jl` script to set up the contained Julia modules.</p> <p>Additionally, it may be necessary to configure Spine Toolbox to use the correct Julia. This can be done by opening Spine Toolbox via `toolbox.bat`, or from command line</p> <p>```</p> <p>activate BbMPC</p> <p>python -m spinetoolbox</p> <p>```</p> <p>and navigating to the `File -> Settings -> Tools -> Julia` to set the desired Julia path. </p> <p>The `install_julia_modules.jl` script performs the necessary setup for the Julia side of things following the steps: </p> <p>1. Installs and configures the contained `SpineInterface.jl`.</p> <p>2. Installs the contained `FinnishBuildingStockData.jl`, used for processing the building data.</p> <p>3. Installs the contained `ArchetypeBuildingModel.jl`, used for processing the building models.<br>  </p> <p>## Use</p> <p>The Spine Toolbox workflow comes pre-configured to produce input data files for the year 2022, and running Backbone for the flat-price baseline case in 2022. **Note that while this workflow was used for producing the input data for the simulations in the manuscript, the price-dependent model-predictive control and final results were produced separately!** Also note that since Backbone is a GAMS-based framework, one cannot unfortunately run the model without a GAMS license.<br>  </p> <p>### Messing with the settings</p> <p>If one wants to mess with the simulations and their settings, it is highly recommended to familiarize oneself with the online documentation of [ArchetypeBuildingModel.jl](https://github.com/vttresearch/ArchetypeBuildingModel). </p> <p>The `archetype_definitions.sqlite` and `backbone_template.sqlite` datastores contain key definitions for the simulations, and any changes with staying power should be made here. All of the other datastores are purged during the execution of the workflow, in order to avoid unnecessary accumulation of old data. Further input definitions are provided by the `backbone_inputs` data connection, essentially pointing to several key Backbone input definition files under `backbone/input/`<br>  </p> <p>## License</p> <p>Please note that different parts of this workflow can be subject to different licenses. In general, most parts are subject to either the [MIT](https://mit-license.org/) or the [Creative Commons Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) licenses.<br>  </p> <p>## Acknowledgements</p> <p>This work was carried out under the Academy of Finland project "Integration of building flexibility into future energy systems (FlexiB)" under grant agreement No 332421.<br>  </p> <p>### ERA5 weather data</p> <p>Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A., Muñoz‐Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons, A., Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati, G., Bidlot, J., Bonavita, M., De Chiara, G., Dahlgren, P., Dee, D., Diamantakis, M., Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer, A., Haimberger, L., Healy, S., Hogan, R.J., Hólm, E., Janisková, M., Keeley, S., Laloyaux, P., Lopez, P., Lupu, C., Radnoti, G., de Rosnay, P., Rozum, I., Vamborg, F., Villaume, S., Thépaut, J-N. (2017): Complete ERA5 from 1979: Fifth generation of ECMWF atmospheric reanalyses of the global climate. Copernicus Climate Change Service (C3S) Data Store (CDS).<br>  </p> <p>### PyPSA/atlite for weather data processing</p> <p>Hofmann et al., (2021). atlite: A Lightweight Python Package for Calculating Renewable Power Potentials and Time Series. Journal of Open Source Software, 6(62), 3294, https://doi.org/10.21105/joss.03294<br>  </p> <p>### Backbone energy system modelling framework</p> <p>Helistö, N., Kiviluoma, J., Ikäheimo, J., Rasku, T., Rinne, E., O'Dwyer, C., Li, R., & Flynn, D. (2019). Backbone: An adaptable energy systems modelling framework. Energies, 12(17), [3388]. https://doi.org/10.3390/en12173388</p>
format Recurso digital
id zenodo_https___doi_org_10_5281_zenodo_7828058
institution Zenodo
language eng
publishDate 2023
publisher Zenodo
record_format zenodo
spellingShingle FlexiB Spine Toolbox workflow for Backbone model-predictive control data
Topi Rasku
Backbone energy system modelling framework
building simulation
building energy management
model predictive control
Spine Toolbox
<p><strong>NOTE! If the contained Spine Toolbox doesn't open the workflow properly, try updating the Spine Toolbox to the latest version by running `git pull` in the `Spine/Spine-Toolbox` folder and re-running `install.bat`!</strong></p> <p># FlexiB Spine Toolbox workflow for Backbone model-predictive control data</p> <p>A [Spine Toolbox](https://github.com/spine-tools/Spine-Toolbox) workflow for processing the input data for building-level model-predictive control for a scientific manuscript.</p> <p> </p> <p>## Key contents</p> <p>1. `install.bat` script installs the contained Spine Toolbox version into a `BbMPC` Conda environment, and runs `install_julia_modules.jl`.</p> <p>2. `install_julia_modules.jl` script is run as part of `install.bat`, setting up the necessary Julia modules within the workflow.</p> <p>3. `toolbox.bat` Starts Spine Toolbox for examining and running the data processing workflow.</p> <p>4. `building_inputs_2015-2022.zip` contains the Backbone input data files for the years 2015-2022 used in the manuscript.</p> <p>5. `raw_results_for_paper.zip` contains the raw result files used for producing the final results in the manuscript.</p> <p>6. `backbone/` contains the source code of the Backbone energy system modelling framework used for producing the results.</p> <p>7. `FlexiB/` contains the raw data and source code of the Julia tools used for the simplified RC-modelling of two buildings.</p> <p>8. `Spine/` contains the raw data and source code of the tools used for the data processing workflow management.</p> <p>9. `.spinetoolbox/` is the Spine Toolbox project folder containing the data processing workflow.</p> <p> </p> <p>## Installation</p> <p>This project uses both [Python](https://www.python.org/) *(v3.9.16 used)* and [Julia](https://julialang.org/) *(v1.8.1 used)*, so one needs to have both of them installed, although hopefully the exact same versions aren't required. Furthermore, [Conda](https://anaconda.org/anaconda/conda) *(v23.1.0 used)* is used for Python package management. **All of the above need to be installed and included in your `path`, so that they can be called from the command line in the scripts!** The `install.bat` script can be used to automatically install the contents of this Spine Toolbox project, and performs the following steps:</p> <p>1. Creates a Spine Toolbox compatible Python 3.9 Conda environment named `BbMPC`.</p> <p>2. Activates said environment.</p> <p>3. Installs the contained Spine Toolbox into the environment using `pip`.</p> <p>4. Runs the `install_julia_modules.jl` script to set up the contained Julia modules.</p> <p>Additionally, it may be necessary to configure Spine Toolbox to use the correct Julia. This can be done by opening Spine Toolbox via `toolbox.bat`, or from command line</p> <p>```</p> <p>activate BbMPC</p> <p>python -m spinetoolbox</p> <p>```</p> <p>and navigating to the `File -> Settings -> Tools -> Julia` to set the desired Julia path. </p> <p>The `install_julia_modules.jl` script performs the necessary setup for the Julia side of things following the steps: </p> <p>1. Installs and configures the contained `SpineInterface.jl`.</p> <p>2. Installs the contained `FinnishBuildingStockData.jl`, used for processing the building data.</p> <p>3. Installs the contained `ArchetypeBuildingModel.jl`, used for processing the building models.<br>  </p> <p>## Use</p> <p>The Spine Toolbox workflow comes pre-configured to produce input data files for the year 2022, and running Backbone for the flat-price baseline case in 2022. **Note that while this workflow was used for producing the input data for the simulations in the manuscript, the price-dependent model-predictive control and final results were produced separately!** Also note that since Backbone is a GAMS-based framework, one cannot unfortunately run the model without a GAMS license.<br>  </p> <p>### Messing with the settings</p> <p>If one wants to mess with the simulations and their settings, it is highly recommended to familiarize oneself with the online documentation of [ArchetypeBuildingModel.jl](https://github.com/vttresearch/ArchetypeBuildingModel). </p> <p>The `archetype_definitions.sqlite` and `backbone_template.sqlite` datastores contain key definitions for the simulations, and any changes with staying power should be made here. All of the other datastores are purged during the execution of the workflow, in order to avoid unnecessary accumulation of old data. Further input definitions are provided by the `backbone_inputs` data connection, essentially pointing to several key Backbone input definition files under `backbone/input/`<br>  </p> <p>## License</p> <p>Please note that different parts of this workflow can be subject to different licenses. In general, most parts are subject to either the [MIT](https://mit-license.org/) or the [Creative Commons Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) licenses.<br>  </p> <p>## Acknowledgements</p> <p>This work was carried out under the Academy of Finland project "Integration of building flexibility into future energy systems (FlexiB)" under grant agreement No 332421.<br>  </p> <p>### ERA5 weather data</p> <p>Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A., Muñoz‐Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons, A., Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati, G., Bidlot, J., Bonavita, M., De Chiara, G., Dahlgren, P., Dee, D., Diamantakis, M., Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer, A., Haimberger, L., Healy, S., Hogan, R.J., Hólm, E., Janisková, M., Keeley, S., Laloyaux, P., Lopez, P., Lupu, C., Radnoti, G., de Rosnay, P., Rozum, I., Vamborg, F., Villaume, S., Thépaut, J-N. (2017): Complete ERA5 from 1979: Fifth generation of ECMWF atmospheric reanalyses of the global climate. Copernicus Climate Change Service (C3S) Data Store (CDS).<br>  </p> <p>### PyPSA/atlite for weather data processing</p> <p>Hofmann et al., (2021). atlite: A Lightweight Python Package for Calculating Renewable Power Potentials and Time Series. Journal of Open Source Software, 6(62), 3294, https://doi.org/10.21105/joss.03294<br>  </p> <p>### Backbone energy system modelling framework</p> <p>Helistö, N., Kiviluoma, J., Ikäheimo, J., Rasku, T., Rinne, E., O'Dwyer, C., Li, R., & Flynn, D. (2019). Backbone: An adaptable energy systems modelling framework. Energies, 12(17), [3388]. https://doi.org/10.3390/en12173388</p>
title FlexiB Spine Toolbox workflow for Backbone model-predictive control data
topic Backbone energy system modelling framework
building simulation
building energy management
model predictive control
Spine Toolbox
url https://doi.org/10.5281/zenodo.7828058