The Azimuth Project
Azimuth code challenges



This page lists the currently open coding challenges for the Azimuth Code Project, these are problem descriptions from the Azimuth project that still need a convincing solution.

Convincing solutions may be used to publish expository or research articles in various forms with full credit to the author(s), for examples see the solved challenges page.

Background material to the underlying science, mathematics and implementation issues will be provided.

Open Problems

A few ideas from the Open projects page. So far most of the software on the Azimuth Code Project is connected to stochastic differential equations:

  • Software for investigating the Hopf bifurcation and its stochastic version: see week308 of This Week’s Finds.

  • Software for studying predator-prey models (generalized Lotka–Volterra equations) including stochastic versions: see the page on quantitative ecology. Ultimately it would be nice to have some software to simulate stochastic Petri nets.

  • Software for studying stochastic resonance: see the page on stochastic resonance. We need a lot more on this, leading up to software that takes publicly available data on Milankovitch cycles and uses it to predict the glacial cycles. See Bayesian prediction of the next glacial inception for more information on how we might do this.

  • Software for investigating the delay-action oscillator as a model for the ENSO cycle.

Energy supply and demand:

  • The Zero carbon Britain 2030 report (third report, 2013) uses a Hourly Energy Model Methodology to assess their energy systems scenarios. It models hourly flows of energy supply and demands, using historical data for wind speeds, wave heights, solar radiation for supply, and historical data from the National Grid for demand. It simulates flows of electricity, heat, biomass, hydrogen, synthetic gas and synthetic fuel. It seems feasible to extend this in various ways. Also see Zero carbon Britain methodology. The following diagram is adapted from the Hourly Energy Model Methodology:

ZCB energy model

Some suggestions from Nathan Urban:

  • An 1D upwelling-diffusion energy balance model (generalization of the simple 0-dimensional linearized dynamics we’ve looked at earlier). This illustrates some transient dynamics of ocean heat uptake and can be tuned to the historical climate to make simple predictions.

  • A 1D radiative-convective model of the atmosphere. (I’ve always wanted to code up some variant of some of Jim Kasting’s models to look at runaway and moist greenhouses.)

  • More sophisticated glacial-interglacial dynamical models (Saltzmann style) or Snowball Earth energy balance models for paleoclimate.

  • Some simple fluid dynamics on a rotating planet, e.g. a beta-plane (tangent plane) approximation, or something illustrating a baroclinic instability in the atmosphere or a ocean double-gyre configuration, eventually working up to a simple aquaplanet. This relates to the “ocean modeling” thread. I don’t know if you could make the resolution coarse enough to be interactive, yet fine enough to be realistic.

  • A box model of the terrestrial or ocean carbon cycle (with ocean biogeochemistry like Revelle factors), or an ecological model (photosynthesis / respiration of vegetation, or NPZD model of plankton).

  • A simple 1D flowline model of a glacier or ice sheet.

  • A simple climate-economic integrated assessment model, like DICE.

Solved Problems

Delayed Harmonic Oscillator

This challenge is about a model of El Nino, a quasi-periodic climate phenomenon that occurs across the tropical Pacific Ocean every 3 to 7 years, and on average every 4 years.

The model uses a low dimensional (in fact: one dimensional) system of ordinary delay differential equations to capture the interaction of the Pacific Ocean (slow process with a long memory) and the atmosphere (quickly varying process with almost not memory).

References to the Scientific Background

See the paper El Nino and the Delayed Action Oscillator.

For more background see the page about El Nino on the Azimuth project: ENSO.


The solution was discussed on the Azimuth blog on December 24, 2010.

category: software