Welcome to CAESAR’s documentation!

CAESAR is a python-based yt extension package for analyzing the outputs from cosmological simulations. CAESAR takes as input a single snapshot from a simulation, and outputs a portable and compact HDF5 catalog containing a host of galaxy and halo properties that can be read in and explored without the original simulation binary. CAESAR thus provides a simple and intuitive interface for exploring object data within your outputs.

CAESAR provides further functionality such as identifying the most massive progenitors or descendants across snapshots (see Progenitors), and generating FSPS photometry and spectra for galaxies (see Photometry). Also, the CAESAR catalog contains particle ID lists for each galaxy/halo, enabling you to quickly grab the relevant particle data in the original snapshot in order to compute any other galaxy/halo quantity you want.

CAESAR is OpenMP-parallelized using cython-parallel and joblib. It enjoys decent scaling with the (user-specifiable) number of cores. Catalog generation does, however, have substantial memory requirements – e.g. a run with two billion particles requires a machine with 512 GB to generate the catalog, and this scales with the number of particles. The resulting CAESAR catalog typically has a filesize of less than 1% of the original snapshot, so once this is generated, using it is not memory-intensive.

CAESAR generates a catalog as follows:

  1. Identify halos (or import a halo membership list)

  2. Compute halo physical properties

  3. Within each halo, identify galaxies using 6-D friends-of-friends

  4. Compute galaxy physical properties

  5. Optionally, compute galaxy photometry including line-of-sight extinction

  6. Create particle lists for each galaxy and halo

  7. Link galaxies and halos, identify centrals+satellites, quantify environment

  8. Output all information into a stand-alone hdf5 file

Once the CAESAR catalog has been generated, it can be loaded and the data easily accessed using simple python commands.

CAESAR builds upon the yt project, which provides support for a number of simulation codes and symbolic units. All meaningful quantities stored within a CAESAR catalog have units attached, reducing ambiguity when working with your data. This tight connection enables you to use both yt and CAESAR functionality straightforwardly within a single analysis package.

CAESAR currently supports the following codes/formats:


  2. GIZMO

  3. TIPSY

  4. ENZO

  5. ART


In principle, any yt-supported simulation snapshot could be supported by CAESAR, but some aspects may not work out-of-the-box owing to different conventions for e.g. metallicity arrays. CAESAR has been tested on Mufasa, Simba, Illustris/TNG, and EAGLE snapshots. We happily accept pull requests for further functionality and bug fixes.

To get started, follow the Getting Started link below!


Indices and tables