Sie sind hier: Startseite PIK Members Jonathan Donges Software


Various software projects in Python, C/C++ and Mathematica.

Software and models developed in the COPAN project

Click here for an overview of model codes and data analysis software developed in the COPAN project including the COPAN:EXPLOIT and COPAN:BEHAVE models.

Python modules for complex network and nonlinear time series analysis

pyunicorn logo


In our group we are currently developing the high performance, object oriented package pyunicorn for analyzing general (spatially embedded) networks, climate networks, recurrence plots and recurrence networks using the scripting language Python. Particularly, the libraries implement the algorithms and measures described in our publications on climate and recurrence networks.

Event coincidence analysis

We have developed the method of event coincidence analysis (ECA) for quantifying the strength, lag and possible directionality of statistical interrelationships between event time series (considered as realizations of unmarked point processes). A package in the statistical scripting language R is available (developed by Jonatan F. Siegmund) that implements ECA:

EvoMine algorithm

Complex networks like social networks are ever-changing. New links are formed, existing ties are broken, individuals change their attitudes. In this project, we aim at microscopic descriptions of the processes that govern network evolution by mining frequently occurring graph evolution rules. These rules formally characterize the evolution of a dynamic network, help domain experts analyze the underlying processes, and allow to build data-driven models for friendship and opinion dynamics. In collaboration with Erik Scharwächter and the Knowledge Discovery and Data Mining group of Prof. Dr. Emmanuel Müller at Hasso-Plattner-Institute Potsdam.

pyregimeshifts: Python scripts for detecting regime shifts in paleoclimate time series

Scripts for reproducing the analysis reported in:

The analysis scripts provided in this package provide a general toolkit for detecting regime shifts in multiple (paleo-) climate time series. They should, hence, prove useful for diverse studies on Earth system dynamics beyond the work reported in the original paper. First, the methodology developed in the original paper can be applied to a broad range of data sets of interest. Second, the methodology can be easily generalized by making full use of the capabilities of the pyunicorn package. For example, other measures for detecting regime shifts from recurrence analysis such determinism or laminarity could be used or visibility graph analysis could be applied instead of recurrence networks.

Development version and download of pyregimeshifts:

Mathematica Demonstrations

During her internship in our group in fall 2009, Alraune Zech has created a few Mathematica Demonstrations illustrating time series analysis using recurrence plots and recurrence networks:

Additional mathematica notebooks created by Wolfram Research:

Python resources

A great collection of resources on learning Python compiled by Ciaron Linstead.

Python for climate- and geoscientists at KlimaCampus Hamburg: