Ecological Modelling Laboratory

Universal Simulator

Universal Simulator is a software package for collaborative ecological modelling. Models are loaded and run from the Universal Simulator Prompt, a simple command line interface. Models are specified, either in the simple BoxScript language or in XML. A model specification declares which boxes (i.e. sub-models) take part in a model. Boxes are connected by input and output ports. Input ports can be set to fixed values in which case they function like model parameters.

The functionality of the boxes is programmed in C++, using the cross-platform Qt Creator IDE and associated Qt libraries. Box functionality is packaged as plug-ins (i.e. dynamic link libraries) which makes Universal Simulator models extensible and open for re-use. Versions for Linux, OS X and Windows are available, all compiled by Qt Creator from the same source code.

Output from Universal Simulator is exported to R via text files and the clipboard. Default plot options, covering common needs, are supplied. Own R scripts to analyse or plot the output can easily be integrated.

Universal Simulator is open source (GPL).

Universal Simulator material

Download an installer for your operating system. Linux version available upon request:

The Universal Simulator book will get you started with modelling:

If you want to add more building blocks (Universal Simulator boxes), you will need to download the source code:

How to cite

To cite the source of the Universal Simulator software write: 'Holst N (2016). Universal Simulator 2.0.0. Aarhus University, Aarhus, Denmark,'. State the version number and year corresponding to your version.

For a refereed paper citation use 'Holst N (2013). A universal simulator for ecological models. Ecological Informatics 13: 70-76'.


The development of Universal Simulator has been supported by AgroTech, PURE, ENDURE, ICROFS and BiosafeTrain. Flying squirrel icon provided by Yoji Inata (icon N86) and redrawn by David Driessen.