Loading the 3D view
Sightlines through the circumgalactic medium of one TNG50-1 galaxy (subhalo 488530 at z = 0), labelled by orientation, impact parameter b and azimuth from the projected major axis.
Optical depths from Trident on a 0.25 km/s grid, stored at 1 km/s. Velocities are relative to the galaxy's systemic velocity.
H I: TNG neutral fraction (self-shielding included); metal ions: Trident HM2012 table, solar ratios scaled by metallicity.
Atomic data follow Trident 1.4.2 (O VI 1031.912 Å and C IV 1548.187 Å, 3 to 4 km/s from Morton 2003); O VII from Verner et al. 1996. Damped H I wings use Trident's Γ = 4.69 × 10⁸ s⁻¹ against the standard damping constant 6.265 × 10⁸ (Morton 2003), so damped log N fitted here sits about 0.13 dex above VPFIT-style fits of the same wings. Saturated components are lower limits.
The degradation and the Voigt fits run in your browser: Levenberg–Marquardt on (log N, b, v) through the line-spread function, seeded from the intrinsic component catalogue and pruned by ΔBIC. Noise matches the publication figure only statistically.
3D: every gas cell and star particle deposited into nested cubes (±400, ±100 and ±25 kpc), fetched from a public Hugging Face dataset. Find searches the fitted components of every sightline. Ask is an optional chat that drives the page through the same tools; its local model downloads about 1 GB, and the Claude backend sends your messages through the sightline server.
Simulation: IllustrisTNG, TNG50-1 (Nelson et al. 2019; Pillepich et al. 2019), used under the IllustrisTNG data policy. Spectra: Trident (Hummels, Smith and Silvia 2017) on yt (Turk et al. 2011); metal-ion table HM2012, H I from the TNG neutral fraction.
Code MIT; yt and the patched Trident BSD-3; three.js MIT; WebLLM and the Qwen2.5-1.5B-Instruct weights Apache-2.0 (loaded only for the chat's local model); TNG50-derived spectra under the IllustrisTNG data policy (see THIRD_PARTY_LICENSES).
Source: github.com/tanmay-starslab/cgm-absorber-requirements. Companion page: Detect and resolve.
Library sightlines load at once; new ones are cast on the sightline server.
Also settable with ?api=URL. Library sightlines always come from this site.