The Azimuth Project
Azimuth Code Project



The Azimuth Code Project is an online open source project that will provide source code for the analysis and simulation software used at the Azimuth project. It is hosted by google and available under the LGPL (lesser gnu public license).

We will try to provide well documented, simple and up-to-date implementation, mainly for instructional purposes. As a side effect we will try to show that clean, simple, open-source, well-managed and up-to-date code handling is possible at a low cost, and how it can be done. The creation, documentation and publication of custom extensions to packaged software is supported, too.

If you want to join the Azimuth Code Project, leave a comment here:

The code is hosted here (SVN repository):

See also software engineering in climate science and semantic web applications and environment.

A second google project is based on a Git repository:


Online models

The Azimuth coding project has produced a number of online models. Allan Erskine and Glyn Adgie helped to create an interactive online model of stochastic resonance which you can find here:

Stochastic resonance example.

This model was explained in the blog post Increasing the signal-to-noise ratio with more noise.

Allan Erskine has also created some models of bistability. The first was for a static climate system:

Bistable temperature equilibrium model.

The second was for a dynamical system:

Bistable temperature dynamics.

Michael Knap combined the latter model with the work on stochastic resonance to get a stochastic resonance model more explicitly connected to climate physics, which is here:

A stochastic energy balance model.

Taylor Baldwin simplified Michael Knap’s model to make one that will be better suited to a general audience once we add a good simple explanation:

A stochastic energy balance model.


Many papers in climate science present results that cannot be reproduced. The authors present a pretty diagram, but don’t explain which software they used to make it, and don’t make this software available, don’t really explain how they did what they did. This is a problem, because scientific results need to be reproducible. Any software that is used deserves to be versioned and published alongside any scientific results.

All of this is true for large climate models such as General Circulation Models as well—but the problem becomes much more serious, because these models have long outgrown the extent where a single developer was able to understand all the code. This is a kind of phase transition in software development: it necessitates a different toolset and a different approach to software development.

Motivation and Objectives

Many sciences rely on computer code for simulations and analysis of data. Since results in science should be reproducible, the code used for published scientific results needs to be published as well. Therefore, one objective of this project is to

Show how computer code can easily be versioned and published along with any scientific results that are based on the code, by example.

Scientific results belong to humanity, therefore

All code used in science should be open source, everyone should be allowed to use it.

A basic paradigm of science is that in principle, it should be possible for every fellow scientist to understand what another scientist has done. Therefore, any used code needs to be as easy to understand as possible. This project will therefore

Show how code can be documented


Show how code can be structured using established paradigms from software engineering, by example,

in order to make it as easy as possible for others to understand it.



A discussion about modelling tools can be found at Modelling tools.


A discussion about visualization tools can be found at Visualization tools.

Some physics simulation websites