Skip to content
high-resolution energy system modeling framework (historical)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

This project is no longer active
The source code and documentation are provided for historical reasons.
The software was last compiled on 30 September 2005.


deeco stands for dynamic energy, emissions, and cost optimization.

deeco is a high-resolution energy system modeling framework written in C++. The software was developed in Germany between 1995 and 2005.

deeco captures technologies and costs, but not markets and prices. A given model steps through a single year in hourly intervals, optimizing plant operations at each interval. The software embeds the simplex linear programming algorithm from Numerical Recipes in C. Individual models are specified using structured text files. One of deeco's strengths is its treatment of thermal processes.

Development became stranded when vendor support for a key programming library ceased.

The source code and documentation are provided on GitHub because they may be of interest to the energy modeling community. In particular, some of the technology modules contain innovative designs. Their class definitions can be inspected and their underlying theory is documented in a technical manual and elsewhere.

The source code is licensed under GNU GPLv2.

deeco is the subject of around 10 refereed papers, 10 conference presentations, and 10 university theses. A selection of this literature is given below. Bibliographic information files in BibTeX, EndNote, and Wikipedia (WCF) formats can be found in the refs directory.

Key resources


Technical manual

Technology support

deeco supports the following types of technologies.

Demand plant

  • outright electricity demand
  • mechanical power demand
  • space-heating demand

Conversion and transport plant

  • standard boilers
  • condensing boilers
  • topping-cycle steam turbine plant
  • gas-turbine cogeneration plant
  • heat-pumps
  • stationary fuel cells
  • district heating grids
  • waste-heat recovery

Sourcing plant

  • electricity import/export
  • chemical fuel import/export
  • solar-thermal collectors
  • photovoltaic cells
  • wind-farms
  • solar-thermal power plant

Storage plant

  • daily, weekly, seasonal heat storage
  • superconducting electricity storage

The various thermal processes within a deeco model negotiate amongst themselves as to who will set the flow and return temperatures (known as the thermal sub-network or TSN algorithm in some of the documentation). The algorithm represents an attempt to mimic the behavior of real life control systems.

One of the engineering configurations evaluated in Lindenburger et al (2000).


deeco was developed at the Institute for Theoretical Physics, University of Würzburg, Germany. The first release was completed in late-1995. Work later continued at the Institute for Energy Engineering (IET), Technical University of Berlin, Germany. Software development ceased in September 2005 with version 006.2. Use of the program ended in 2015. The source code was published on GitHub on 3 January 2017.

The original code was developed on an HP workstation and later ported to SCO UnixWare versions 2 and 7 running on a personal computer. Details of the last development environment can be found in the README.version text file.

The codebase became stranded when Hewlett-Packard discontinued support for a key programming library and the UnixWare operating system was abandoned by The SCO Group. The library was the AT&T Unix System Laboratories (USL) Standard Components library (which predates the C++ Standard Template Library)

deeco was one of first energy system models to use hourly time steps. By 2016, a decade later, the practice had become commonplace.


Thomas Bruckner (now University of Leipzig) wrote the original release. Robbie Morrison ported deeco to SCO UnixWare, maintained the codebase, and wrote data processing scripts. Dietmar Lindenberger, Johannes Bruhn, Kathrin Ramsel, Jan Heise, and Susanna Medel developed new technology modules and ran models.

Printed documentation

Selected publications

For background, a good place to start is Groscurth et al (1995) which describes the overarching structure of deeco and Bruckner et al (1997) which reports on its first application. The most comprehensive description of deeco is given in the PhD by Thomas Bruckner (in German).


Robbie Morrison / 3 January 2017


Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 International License.

You can’t perform that action at this time.