Spine Toolbox is an open source software to manage data, scenarios and workflows for modelling and simulation (Documentation). You can have your local workflow, but work as a team through version control and SQL databases.

SpineOpt is a Julia-based open source energy system modelling framework capable of planning and scheduling energy and power systems with high level of temporal, spatial and technological adaptability (Documentation).

SpineInterface.jl allows to rapidly build optimization models for the Julia JuMP environment using Spine Toolbox as the data, scenario and workflow management tool (Documentation).

Spine capabilities

1. Maintain repeatable workflows to supply data to different modelling tools

2. Tools to transform data, data structures, and data formats


3. Create scenarios from alternative values and parallelize the execution


4. Include operational detail in investment planning


5. Highly flexible temporal and stochastic structures


6. Detailed modelling of different energy vectors including power flows, heat transfers, gas pipelines, river systems as well as energy conversion units


Modelling workflow packages include

  • Spine Toolbox is a Python interface to manage data and modelling workflow and acts as a front-end to the other packages
  • Spine Database API is a python API for low-level access to the SQL based Spine databases that use entity-attribute-value with classes and relationships. It can be used to code more complex data manipulations and tool links.
  • Spine Items provides the basic tools needed in the Spine Toolbox workflow (import, export, scenario formation, etc). Users can include their own tools and build new plug-ins.
  • Spine Engine separates the execution of workflows into separate entity that parallelizes execution and allows remote execution.

Energy system modelling packages include

  • SpineOpt.jl is an energy systems model with diverse capabilities and substantial adaptability. It allows sector specific modelling inside a single model with a highly adaptable temporal and stochastic structure.
  • SpineInterface.jl translates Spine Toolbox databases into Julia data structures for optimized access/interaction.
  • SpinePeriods.jl selects representative periods for SpineOpt and other models.



EU project Spine completed in September 2021. The development of Spine tools continues under EU project Mopo 2023-2026:

Open demonstration webinars were held Sep 7-10, 2021. Webinar recordings available here.

New scientific articles and project deliverables

Deliverables updated

Two new conference presentation.

Newsletter 2

Project meeting in Espoo, Feb 2020.

New conference presentation.

Spine Toolbox’s User Guide.

Spine Newsletter 1/2019.

New deliverables added.

Spine Toolbox 0.2 has been released.

Conference presentations and Spine tutorials

Subscribe to our newsletter

More information spine_info@vtt.fi

Follow us:


Spine project (2017-2021), that has developed the original versions of all the software, has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement Nr. 774629.