April 2026 Update: First Update after Submission
This is the first major update since the initial paper submission. Since then, we have focused on integrating existing galaxy formation codes. This required implementing native support for adaptive structured and unstructured data geometries. Along with a number of new data readers, this allows us to natively support the most common galaxy formation codes, including ART, ENZO, RAMSES, CHANGA, GADGET-3, GEAR, GIZMO, and AREPO.
Other Highlights
Python tooling
New thor-tools CLI and early Python bindings expose post-processing, plotting, and selected C++ functionality.
Faster runtime
Improved memory handling, spatial lookup, locality, and numerical optimizations in several hot paths.
For example, some Lyα shell models see ~15% speedup.
Easier setup
Pre-built Apptainer images let you pull and run THOR immediately on a laptop or HPC cluster. No more complicated compiler setup or dependency wrangling.
Beyond the datasets
This release also adds configurable Lyα scattering phase functions, BPASS- and Cloudy-backed emission and absorption fields, SPH kernel-splatted projections, and a Python tooling layer (thor-tools, early thor-bindings). Under the hood, THOR gained a range of performance optimizations, including JIT compiler optimizations such as specialization constants. CI now covers simulation formats and container builds. Several of these features will get deeper write-ups over the coming months.
Lined up for the coming months: Load balancing will let THOR more efficiently scale to the cosmological volumes needed for cosmic web emission and intensity mapping studies. With Apptainer images already easing setup, interactive Python access will lower the bar for getting started with the code even further.
