Skip to content

Commit 2ab710c

Browse files
authored
Merge pull request #160 from yt-project:halo_finding
WIP: Halo finding and halo catalog section
2 parents 530bb61 + dc4aa4f commit 2ab710c

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed
+21
Original file line numberDiff line numberDiff line change
@@ -1 +1,22 @@
11
## Halo-Finding and Catalogs {#sec:halo_finding}
2+
3+
In cosmological simulations, dark matter is nearly always represented as a collection of collisionless particles. **CITE SOMETHING ABOUT VLASOV GRID SOLUTIONS**
4+
This is well-suited to approximating it as a collisionless fluid; however, the identification of structures within that collection of particles can take on several forms, addressing different use cases to different degrees of accuracy. **CITE HALO FINDING COMPARISON PAPER**
5+
Being able to identify halos, as well as their associated baryonic content, is necessary for rapid analysis of cosmological simulations.
6+
Furthermore, convergence studies and cross-simulation comparisons requires a consistent method for identifying dark matter halos, as well as the ability to track their growth over time.
7+
8+
In past versions of `yt`, several specific halo finders were bundled and made available to work on any class of data `yt` was able to read.
9+
These included the HOP halo finder, the classic Friends-of-Friends (FOF) halo finder [@doi:10.1086/191003], a scalable and Parallel HOP [@doi: 10.1086/305535], and a wrapping of the ORIGAMI code [@doi:10.1142/9789814623995_0378] for filament identification.
10+
To do so, `yt` would utilize direct in-memory connectors with these implementations; whereas typically data connectors are written for each individual dataset format for individual halo finding methods, this enabled a single connector to be written from `yt` to the halo finder.
11+
In addition to these bundled halo finders, a direct in-memory interface with Rockstar [@doi:10.1088/0004-637X/762/2/109] was developed that sidestepped Rockstar's built in load-balancing to minimize data duplication and transfer.
12+
13+
`yt` provides a unique set of functionality for accessing halo catalogs, as it provides the ability to query their values both *as* catalogs and as the original, underlying datasets.
14+
This means that the same selection and analysis operations that can be conducted on a "primary" dataset can also be conducted on the halo catalog; furthermore, the halo catalog can be used as input to data selection operations.
15+
This enables, for instance, querying original dark matter particle values in a halo (as defined by any characteristic radius of that halo) simultaneously with querying baryonic cells or particles included within.
16+
17+
As discussed in [@doi:10.5281/zenodo.8349044], this can be used as input into other tools to provide sophisticated, graph-based queries of datasets and halo merger trees over cosmological time, such as with the `ytree` package.
18+
19+
`yt` also includes an internal halo finding tool that is not widely exposed, built on its implementation of a union-find data structure for identifying topologically connected sets.
20+
This implementation, a "particle contour tree," uses this union-find data structure to connect (via percolation) particles into simple Friends-of-Friends collections.
21+
These can then be used as input into more sophisticated phase-space finders, such as Rockstar, and as done in [@doi:10.48550/arXiv.1407.2600].
22+

content/60.analysis_modules.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
For much of its development history, `yt` took the approach of bundling as many analysis modules as possible in the primary repository.
44
This provided the advantage of having all work be centralized, and ensuring that each download or installation of `yt` was a fully-featured system for analyzing a large swath of data, but it brought with it the development overhead of the entire `yt` package for what in many cases were isolated pieces of functionality with separable responsibilities.
55

6-
As a result of the slowing in speed of development as a result of review requirements (and limited personnel to conduct those reviews), some of the analysis modules that were bundled with `yt` have been "spun out" into their own repository, `yt_astro_analysis`.
7-
This repository, which is developed, released and installed separately from `yt`, includes modules for cosmological observation (upon which Triden, which is discussed in @sec:trident, is based), dark matter halo finding and analysis, tools for interacting with position-position-velocity cubes, and a system for exporting from `yt` to RADMC-3D [@ascl:1202.015].
6+
As a result of the slowing in speed of development as a result of review requirements (and limited personnel to conduct those reviews), some of the analysis modules that were bundled with `yt` have been "spun out" into their own repository, `yt_astro_analysis` [@doi:10.5281/zenodo.8431185].
7+
This repository, which is developed, released and installed separately from `yt`, includes modules for cosmological observation (upon which Triden, which is discussed in @sec:trident, is based), dark matter halo finding and analysis, tools for interacting with position-position-velocity cubes, light cone generation [@doi:10.1088/0004-637X/698/2/1795] and a system for exporting from `yt` to RADMC-3D [@ascl:1202.015].

0 commit comments

Comments
 (0)