/ares

Accelerated Reionization Era Simulations

Primary LanguagePythonMIT LicenseMIT

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