Skip to content

mirochaj/ares

Repository files navigation

ARES

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, global radiation background calculator, or semi-analytic galaxy formation model.

The documentation is here.

Technical Details

The main papers that describe how ARES works include:

Plus some more applications:

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

Citation

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. For galaxy semi-analytic modeling, please have a look at Mirocha, Furlanetto, & Sun (2017), Mirocha, Mason, & Stark (2020), and Mirocha (2020), and for PopIII star modeling, see Mirocha et al. (2018).

Please also provide a link to this page as a footnote.

Note that for some applications, ARES relies heavily on lookup tables and publicly-available software packages that should be referenced as well. These include:

Feel free to get in touch if you are unsure of whether any of these tools are being used under the hood for your application.

Dependencies

You will need:

and optionally,

If you'd like to build the documentation locally, you'll need:

and if you'd like to run the test suite locally, you'll want:

which are pip-installable.

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

Getting started

To clone a copy and install:

git clone https://github.org/mirochaj/ares.git
cd ares
python setup.py install

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.

Quick Example

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()

Help

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!

Contributors

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
  • Venno Vipp
  • Oscar Hernandez
  • Joshua Hibbard
  • Trey Driskell