Several packages have been developed that utilize yt
as an infrastructural component.
In contrast to the analysis modules, which have typically been built as extensions of yt
, these extensions utilize yt
as a framework and typically only rely upon public APIs, often with no changes necessary to upstream yt
.
In some cases, yt
is also an optional dependency for the package.
In most cases, these are described in detail elsewhere, and citations to that external information are included here.
Trident [@doi:10.3847/1538-4357/aa7e2d] is a Python-based open-source tool for post-processing hydrodynamical simulations to produce synthetic absorption spectra and related data.
In many ways, Trident is the first external package that utilizes yt
to provide data access and numerical operations, but then builds on those to develop detailed, astrophysically-aware systems for processing and analyzing that data.
Powderday [@doi:10.3847/1538-4365/abc487 ; @doi:10.1038/nature15383] is an open source package connecting yt
, population synthesis modules and the monte carlo radiation transport code Hyperion [@doi:10.1051/0004-6361/201117150] to develop synthetic observations of galaxies from astrophysics simulations.
Powderday uses yt
to read and transform data, including high-fidelity gridding of SPH particles into an octree form, to prepare galaxy simulations to be processed.
Currently Powderday uses the Arepo, Enzo, Gadget, Gizmo, and Tipsy front ends to read in simulation results, and convert them to a common format in preparation for dust radiative transfer (using unyt
to ensure common units).
Plans are in place to employ the wide range of front ends available in yt to broaden the applicability of powderday to a wider range of galaxy simulations.
Building on yt
for access to halo catalogs, and implementing a similar system for derived fields as applied to graph datasets, ytree [@doi:10.5281/zenodo.1174374] is a system for analyzing merger trees from analysis of dark matter halos in cosmological simulations.
ytree provides flexibility in determining the path that a given analysis takes through the graph of merger trees; for instance, it enables the user to select if they wish to follow the "most massive" progenitor halo backwards in time, or even to set their own criteria for this. Connecting this to the raw, unprocessed data from the simulation (such as the unsampled particle or cell content that comprises the halos) allows researchers to deepen and guide their analysis based on the physical characteristics of the merger history.
pyXSIM [@doi:10.25080/Majora-14bd3278-010] is a python package for simulating X-ray observations from astrophysical sources. It implements the PHOX algorithm [@doi:10.1111/j.1365-2966.2011.20278.x; @doi:10.1093/mnras/sts120] and is implemented to support grid-based codes, particle-based codes, and even data constructed from scratch in numpy arrays. pyXSIM has been used to create synthetic observations from current and upcoming space telescopes.
While yt
has functionality for volume rendering, it provides far from the scene-control, composition and camera positioning necessary for "cinematic visualization."
The tool ytini [@doi:10.1088/1538-3873/aa51b3] serves as an intermediary between yt
and the visualization platform Houdini, often used for special effects and visual arts in industry and professional production environments.
ytini was developed to ease the process of converting data from simulation format into one suitable for production teams to utilize in Houdini and other visual effects software, and has been designed to enable deeper collaboration between researchers and visualization and outreach experts.