Documentation Status Tests codecov Last Commit

The Accelerated Reionization Era Simulations (ARES) code was designed to rapidly generate models for the global 21-cm signal. It can also be used as a 1-D radiative transfer code, stand-alone non-equilibrium chemistry solver, or global radiation background calculator.

A few papers on how it works:

Plus some more applications:

Be warned: this code is still under active development – use at your own risk! Correctness of results is not guaranteed.

The documentation is still a work in progress.


If you use ARES in paper please reference Mirocha (2014) if it’s an application of the global 21-cm modeling machinery and Mirocha et al. (2012) if you use the 1-D radiative transfer and/or SED optimization. Either way, please provide a link to this page as a footnote.

Getting started

To clone a copy and install:

git clone
cd ares
python install

ares will look in $ARES/input for lookup tables of various kinds. To download said lookup tables, run:


This might take a few minutes. If something goes wrong with the download, you can run

python fresh

to get fresh copies of everything.


You will need:

and optionally,

Note: ares has been tested only with Python 2.7.x and Python 3.7.x.

Quick Example

To generate a model for the global 21-cm signal, simply type:

import ares

sim = ares.simulations.Global21cm()      # Initialize a simulation object

You can examine the contents of sim.history, a dictionary which contains the redshift evolution of all IGM physical quantities, or use some built-in analysis routines:


If the plot doesn’t appear automatically, set interactive: True in your matplotlibrc file or type:

import matplotlib.pyplot as pl

See the documentation for more examples.


To generate the documentation locally,

cd $ARES/docs
make html
open _build/html/index.html

This will open the documentation in a browser. For the above to work, you’ll need sphinx, numpydoc, and nbsphinx which can be installed via pip:

pip install sphinx
pip install numpydoc
pip install nbsphinx

You can also just view the latest build here.


If you encounter problems with installation or running simple scripts, first check the Troubleshooting page in the documentation to see if you’re dealing with a common problem. If you don’t find your problem listed there, please let me know!


Primary author: Jordan Mirocha (McGill)

Additional contributions / corrections / suggestions from:

  • Geraint Harker
  • Jason Sun
  • Keith Tauscher
  • Jacob Jost
  • Greg Salvesen
  • Adrian Liu
  • Saurabh Singh
  • Rick Mebane
  • Krishma Singal
  • Donald Trinh
  • Omar Ruiz Macias
  • Arnab Chakraborty
  • Madhurima Choudhury
  • Saul Kohn
  • Aurel Schneider
  • Kristy Fu
  • Garett Lopez
  • Ranita Jana
  • Daniel Meinert
  • Henri Lamarre
  • Matteo Leo
  • Emma Klemets
  • Felix Bilodeau-Chagnon