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:
- 1-D radiative transfer: Mirocha et al. (2012)
- Uniform backgrounds & global 21-cm signal: Mirocha (2014)
- Galaxy luminosity functions: Mirocha, Furlanetto, & Sun (2017)
- Population III star formation: Mirocha et al. (2018)
- Rest-ultraviolet colours at high-z: Mirocha, Mason, & Stark (2020)
Plus some more applications:
Be warned: this code is still under active development -- use at your own risk! Correctness of results is not guaranteed.
If you'd like to live on the bleeding edge, check out the ares-dev branch! Once you clone ares you can switch via: ::
git checkout ares-dev
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.
To clone a copy and install:
git clone https://github.org/mirochaj/ares.git
cd ares
python setup.py install
You'll need to set an environment variable which points to the ares install directory, e.g. (in bash):
export ARES=/users/<yourusername>/ares
ares will look in $ARES/input
for lookup tables of various kinds. To download said lookup tables, run:
python remote.py
This might take a few minutes. If something goes wrong with the download, you can run
python remote.py 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.
To generate a model for the global 21-cm signal, simply type:
import ares
sim = ares.simulations.Global21cm() # Initialize a simulation object
sim.run()
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:
sim.GlobalSignature()
If the plot doesn't appear automatically, set interactive: True
in your matplotlibrc file or type:
import matplotlib.pyplot as pl
pl.show()
See the documentation for more examples.
To generate the documentation locally,
cd $ARES/doc
make html
open _build/html/index.html
This will open the documentation in a browser. For the above to work, you'll need sphinx, which can be installed via pip:
pip install sphinx
This depends on numpydoc, which can also be installed via pip:
pip install numpydoc
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