Spine Toolbox is an open source Python package to manage data, scenarios and workflows for modelling and simulation. You can have your local workflow, but work as a team through version control and SQL databases.
Primary Purpose
Manage complex modelling workflows
Description
Spine Toolbox is an integrated platform for data acquisition and data processing with advanced functionalities for enabling the chaining of tools and models into complex shareable workflows. The software helps users to import and manage data, define models and scenarios and orchestrate projects. It facilitates the linking of models with different scopes, or spatio-temporal resolutions, through the user interface.
Mathematical Description
Pass structured data between tools and execute tool workflows in parallel.
EU project Mopo (2023-2026), which has received funding from European Climate, Infrastructure and Environment Executive Agency under the European Union’s HORIZON Research and Innovation Actions under grant agreement N°101095998. and EU project Spine (2017-2021), which has received funding from European Union's Horizon 2020 research and innovation programme under grant agreement Nr. 774629.
Publications
1
Publication List
Kiviluoma, J. Pallonetto, F., Marin, M., Savolainen, P., Soininen, A., Vennström, P., Rinne, E., Huang J., Kouveliotis-Lysikatos, I., Ihlemann, M., Delarue, E., O’Dwyer, C., O’Donnel, T., Amelin, M., Söder, L., Dillon, J. Spine Toolbox: A flexible open-source workflow management system with scenario and data management. Jan. 2022. SoftwareX. Vol. 17, 100967. https://doi.org/10.1016/j.softx.2021.100967
Use Cases
A wide variety of modelling tasks. The tool is agnostic towards the data it manages, so it can also be used beyond energy systems.
Infrastructure Sector
[ ] Atmospheric dispersion
[ ] Agriculture
[ ] Biomass
[ ] Buildings
[ ] Communications
[ ] Cooling
[ ] Ecosystems
[ ] Electric
[ ] District heating
[ ] Forestry
[ ] Health
[ ] Hydrogen
[ ] Individual heating
[ ] Land use
[ ] Liquid fuels
[ ] Natural Gas
[ ] Transportation
[ ] Water
Represented Behavior
[ ] Earth Systems
[ ] Employment
[ ] Built Infrastructure
[ ] Financial
[ ] Macro-economy
[ ] Micro-economy
[ ] Policy
[ ] Social
Modeling Paradigm
[X] Analytics
[X] Data
[ ] Discrete Simulation
[ ] Dynamic Simulation
[ ] Equilibrium
[ ] Engineering/Design
[ ] Optimization
[X] Visualization
Capabilities
Data viewing and editing (list view, tabular view, graph view)
Highly flexible data format (entity-attribute-value with classes and relationships)
Parameters can hold scalars, arrays, datetime, and maps with multiple dimensions
Alternative values
Build scenarios from sets of alternative values
Visual editing of the workflow
Import and export data (tabular data like csv and Excel, but also SQL, GDX and JSON)
Change data structure in the workflow
API functions (Python through Spine_DB_API and Julia through SpineInterface.jl)
Remote execution (Spine Engine can be a server)
Tool specifications and plug-ins can be shared through git repos
Programming Language
[ ] C – ISO/IEC 9899
[ ] C++ (C plus plus) – ISO/IEC 14882
[ ] C# (C sharp) – ISO/IEC 23270
[ ] Delphi
[ ] GAMS (General Algebraic Modeling System)
[ ] Go
[ ] Haskell
[ ] Java
[ ] JavaScript(Scripting language)
[ ] Julia
[ ] Kotlin
[ ] LabVIEW
[ ] Lua
[ ] MATLAB
[ ] Modelica
[ ] Nim
[ ] Object Pascal
[ ] Octave
[ ] Pascal Script
[X] Python
[ ] R
[ ] Rust
[ ] Simulink
[ ] Swift (Apple programming language)
[ ] WebAssembly
[ ] Zig
Required Dependencies
Python, Spine_DB_API, Spine Items, Spine Engine
What is the software tool's license?
GNU Lesser General Public License version 3 (LGPL-3.0)
Operating System Support
[X] Windows
[X] Mac OSX
[X] Linux
[ ] iOS
[ ] Android
User Interface
[X] Programmatic
[X] Command line
[ ] Web based
[X] Graphical user
[ ] Menu driven
[ ] Form based
[ ] Natural language
Parallel Computing Paradigm
[X] Multi-threaded computing
[X] Multi-core computing
[X] Distributed computing
[ ] Cluster computing
[ ] Massively parallel computing
[ ] Grid computing
[ ] Reconfigurable computing with field-programmable gate arrays (FPGA)
[ ] General-purpose computing on graphics processing units
[ ] Application-specific integrated circuits
[ ] Vector processors
What is the highest temporal resolution supported by the tool?
Hours
What is the typical temporal resolution supported by the tool?
Decades
What is the largest temporal scope supported by the tool?
Decades
What is the typical temporal scope supported by the tool?
Hours
What is the highest spatial resolution supported by the tool?
Not Applicable
What is the typical spatial resolution supported by the tool?
No response
What is the largest spatial scope supported by the tool?
Not Applicable
What is the typical spatial scope supported by the tool?
No response
Input Data Format
Python API, Julia API, CSV, Excel, GDX, SQL, JSON (or anything through scripting)
Input Data Description
Anything that has structure, numbers and/or text
Output Data Format
Python API, Julia API, CSV, Excel, GDX, SQL, JSON (or anything through scripting)
Name
Spine Toolbox
Screenshots
Focus Topic
Spine Toolbox is an open source Python package to manage data, scenarios and workflows for modelling and simulation. You can have your local workflow, but work as a team through version control and SQL databases.
Primary Purpose
Manage complex modelling workflows
Description
Spine Toolbox is an integrated platform for data acquisition and data processing with advanced functionalities for enabling the chaining of tools and models into complex shareable workflows. The software helps users to import and manage data, define models and scenarios and orchestrate projects. It facilitates the linking of models with different scopes, or spatio-temporal resolutions, through the user interface.
Mathematical Description
Pass structured data between tools and execute tool workflows in parallel.
Website
http://www.spine-model.org/
Documentation
https://spine-toolbox.readthedocs.io/en/latest/?badge=latest
Source
https://github.com/spine-tools/Spine-Toolbox
Year
2017
Institution
VTT, KTH, EnergyReform, UCD, KU Leuven
Funding Source
EU project Mopo (2023-2026), which has received funding from European Climate, Infrastructure and Environment Executive Agency under the European Union’s HORIZON Research and Innovation Actions under grant agreement N°101095998. and EU project Spine (2017-2021), which has received funding from European Union's Horizon 2020 research and innovation programme under grant agreement Nr. 774629.
Publications
1
Publication List
Use Cases
A wide variety of modelling tasks. The tool is agnostic towards the data it manages, so it can also be used beyond energy systems.
Infrastructure Sector
Represented Behavior
Modeling Paradigm
Capabilities
Programming Language
Required Dependencies
Python, Spine_DB_API, Spine Items, Spine Engine
What is the software tool's license?
GNU Lesser General Public License version 3 (LGPL-3.0)
Operating System Support
User Interface
Parallel Computing Paradigm
What is the highest temporal resolution supported by the tool?
Hours
What is the typical temporal resolution supported by the tool?
Decades
What is the largest temporal scope supported by the tool?
Decades
What is the typical temporal scope supported by the tool?
Hours
What is the highest spatial resolution supported by the tool?
Not Applicable
What is the typical spatial resolution supported by the tool?
No response
What is the largest spatial scope supported by the tool?
Not Applicable
What is the typical spatial scope supported by the tool?
No response
Input Data Format
Python API, Julia API, CSV, Excel, GDX, SQL, JSON (or anything through scripting)
Input Data Description
Anything that has structure, numbers and/or text
Output Data Format
Python API, Julia API, CSV, Excel, GDX, SQL, JSON (or anything through scripting)
Output Data Description
Anything that has structure, numbers and/or text
Contact Details
spine_info@vtt.fi
Interface, Integration, and Linkage
https://github.com/spine-tools/Spine-Database-API https://github.com/spine-tools/spine-engine https://github.com/spine-tools/spine-items