Dark Matter Haloes¶
Source¶
Halo data is read from lhalo_binary merger tree files (trees_063.N). These are the same files consumed by SAGE26 at runtime.
Fields loaded by SAGE-Viewer¶
| Field | Type | Units (raw) | Units (viewer) |
|---|---|---|---|
Pos[3] |
float32 | Mpc/h | Mpc/h (unchanged) |
Mvir |
float32 | 10¹⁰ Msun/h | Msun (×1e10/h) |
SnapNum |
int32 | — | — |
Only Pos and Mvir are used for rendering. All other fields in the struct (Vel, Spin, VelDisp, Vmax, etc.) are read but discarded after the per-snapshot filter.
Mass floor¶
The default mass floor is 1e10 Msun. This removes very low-mass substructure that would otherwise dominate point count without contributing visible structure. Adjust with --min-halo-mass.
lhalo_binary file format¶
Each tree file has the following binary layout:
HaloStruct is 19 fields; the full dtype is defined in sage_viewer/io/halo_reader.py:HALO_DTYPE.
Parallel loading¶
SAGE-Viewer reads the N tree files in parallel (joblib). For miniMillennium with 8 files and 8 CPUs, all files load simultaneously.