Parameter Bundles¶
The goal of ParameterBundles is to neatly package sets of commonly-used parameters with their most often-used values. This means you don’t need to sift through the vast listing in SetDefaultParameterValues and attempt to determine which you’ll need every time you run a new type of calculation. Instead, you can initialize a ParameterBundle object and make modifications rather than starting from scratch. Think of them as building blocks for a complete set of parameters.
This sort of functionality already exists to some degree given the different Problem Types in ARES. However, problem types are reserved for simulations only, whereas parameter bundles can be used to separately initialize the sub-components of a typical ARES calculation, like GalaxyPopulation objects, parameters governing numerical approximations and the physics being included, etc.
In the future, the problem types in ARES will probably be re-defined in terms of parameter bundles.
All bundles listed below can be created via, e.g.,
import ares
pars = ares.util.ParameterBundle('pop:fcoll')
Populations¶
The following bundles return a base set of parameters that could be used to initialize a GalaxyPopulation object.
pop:fcoll
- A basic \(f_{\mathrm{coll}}\)-based population described by the rate at which mass collapses onto dark matter halos exceeding some threshold mass (or equivalent virial temperature) and a constant star formation efficiency.
pop:sfe
orpop:lf
- A population in which the star formation efficiency (SFE) is parameterized as a function of halo mass. This allows one to generate models for the galaxy luminosity function.
Spectral Energy Distributions¶
The following bundles return a base set of parameters that can be added to the parameters of a Population bundle to modify its spectral energy distribution (SED). For example,
pop_pars = ares.util.ParameterBundle('pop:fcoll')
sed_pars = ares.util.ParameterBundle('sed:uv')
pars = pop_pars + sed_pars
For calculations using multiple populations, you will need to give an identification number to each population via
pars.num = 0
Currently, the following SED bundles are supported:
sed:uv
- A simple SED in which the user sets the UV luminosity by hand.
sed:pl
- A simple power-law X-ray spectrum, which by default spans the energy range \(200 \leq h\nu/\mathrm{eV} \leq 30000\).
sed:mcd
- A multi-color disk black hole accretion spectrum. Assumes a \(10 \ M_{\odot}\) BH.
sed:bpass
- A stellar SED from the BPASS code (version 1.0).
sed:s99
- A stellar SED from the original starburst99 dataset.
Physics¶
physics:lwb
- A few parameters that turn on a proper treatment of the Lyman-Werner background.
physics:xrb
- A few parameters that turn on a proper treatment of the X-ray background.
Simulations¶
If the bundle you specify is not defined in ares.util.ParameterBundles, ARES will search for a module of the same name in ares/input/litdata. For more on these kinds of modules, see Using Data from the Literature.
mirocha2017:dpl
Parameters to initialize a simulation of the global 21-cm signal using a halo-mass-dependent star formation efficiency (a double power law (DPL) by default), as in Mirocha, Furlanetto, & Sun (2017). Changing the suffixed from
dpl
tosteep
orfloor
will instead use those models from the paper (see Figures 1 and 2). If you want to explore deviations from these models, check out the Population Parameters listing, especially the bit about parameterized halo properties.Note
For this to work “out of the box” you will need a lookup table for the IGM opacity that is not included with ARES by default. See Initial Conditions & Lookup Tables: for more info on generating these lookup tables.
mirocha2018:high
Parameters to augment the
mirocha2017
simulations of the global 21-cm by adding in a simple prescription for PopIII stars. Changing the suffixed fromhigh
tolow
ormed
will assume different masses for PopIII stars. See Including Models for Population III Stars for more information.
Creating your own¶
While some parameter bundles are defined in the source code (e.g., all but those in the “Simulations” section above), they can also be defined in separate files. For example, the mirocha2017:dpl
model is defined in the dpl
dictionary in the file mirocha2017.py
, which lives in $ARES/input/litdata
. You can write your own parameter bundles in the same way, just stick them in one of the following places (searched in this order!):
$ARES/input/litdata
$HOME/.ares
- Your current working directory.