The Rockstar Halo Finder in yt
@ Stephen Skory | Monday, Nov 26, 2012 | 3 minute read | Update at Monday, Nov 26, 2012

Over the last few weeks, Matt Turk, Christopher Moody, and Stephen Skory have been working to improve the integration of the Rockstar halo finder in yt. Rockstar was written primarily by Peter Behroozi and has a main website here. Linked there is the source and the most current edition of the method paper which includes a timing and scaling study.

Rockstar is a six dimensional halo finder, meaning that it considers both particle position and momentum when locating dark matter halos. It is also capable of locating bound substructure in halos and producing a detailed merger tree. As of this writing its main deficit is that it cannot handle simulations with varying particle mass. This means that in simulations that include star particles, the star particles must be excluded for the purposes of halo finding. Also, Rockstar cannot analyze "zoom-in" or "nested" simulations with various values of dark matter particle mass.

Here is a brief list of the main improvements:

  • Improved the Cython Rockstar wrapper to allow multiple reader tasks. For large datasets on parallel disk systems using multiple reader tasks can significantly speed up the overall analysis.
  • It is now possible to load Rockstar halos off disk (for post analysis) that behave like all the other halo objects available in yt (HOP, FOF). It is possible to access the halo particle data, and the particle data is only loaded on demand.
  • Additionally, Rockstar halos have attached to them supplementary information pulled directly from the Rockstar output. In particular, if there is merger tree information, it is stored there.
  • Rockstar should now build automatically with the rest of yt when the install_script.sh is used.
  • Rockstar can work "inline" with Enzo, meaning that it can locate halos from a running Enzo cosmology simulation without first staging the data to disk.

The full documentation on how to run Rockstar is available in the yt documentation.

Examples of Substructure Location

One of the compelling features of Rockstar is the ability to identify bound substructure of halos. Below are two images showing the halos identified by HOP and Rockstar over-plotted on a projection of gas density. Note that the circles mean different things in the two cases. In the case of HOP, the circles show the radius from the center of mass to the most distant particle, while for Rockstar it is from the center of mass to the calculated virial radius.

Paying attention to the central region of the halo, notice how Rockstar identifies the small in-falling subhalos that HOP doesn't. This is not surprising because HOP is not designed to detect substructure.

HOP:

HOP Output

Rockstar:

Rockstar Output

Note that In the Rockstar image, the halos on the periphery are not encircled due to the way the image was prepared.

yt extension modules

yt has many extension packages to help you in your scientific workflow! Check these out, or create your own.

ytini

ytini is set of tools and tutorials for using yt as a tool inside the 3D visual effects software Houdini or a data pre-processor externally to Houdini.

Trident

Trident is a full-featured tool that projects arbitrary sightlines through astrophysical hydrodynamics simulations for generating mock spectral observations of the IGM and CGM.

pyXSIM

pyXSIM is a Python package for simulating X-ray observations from astrophysical sources.

ytree

Analyze merger tree data from multiple sources. It’s yt for merger trees!

yt_idv

yt_idv is a package for interactive volume rendering with yt! It provides interactive visualization using OpenGL for datasets loaded in yt. It is written to provide both scripting and interactive access.

widgyts

widgyts is a jupyter widgets extension for yt, backed by rust/webassembly to allow for browser-based, interactive exploration of data from yt.

yt_astro_analysis

yt_astro_analysis is the yt extension package for astrophysical analysis.

Make your own!!

Finally, check out our development docs on writing your own yt extensions!

Contributing to the Blog

Are you interested in contributing to the yt blog?

Check out our post on contributing to the blog for a guide! https://yt-project.github.io/blog/posts/contributing/

We welcome contributions from all members of the yt community. Feel free to reach out if you need any help.

the yt data hub

The yt hub at https://girder.hub.yt/ has a ton of resources to check out, whether you have yt installed or not.

The collections host all sorts of data that can be loaded with yt. Some have been used in publications, and others are used as sample frontend data for yt. Maybe there’s data from your simulation software?

The rafts host the yt quickstart notebooks, where you can interact with yt in the browser, without needing to install it locally. Check out some of the other rafts too, like the widgyts release notebooks – a demo of the widgyts yt extension pacakge; or the notebooks from the CCA workshop – a user’s workshop on using yt.

Social Links