Ananke

Figure 1 - RGB flux maps in GAIA bands of one of the 9 synthetic surveys featured in Sanderson et al. 2020, specifically m12f-lsr1 which shows the m12f simulated latte galaxy from the FIRE2 suite.
The py-ananke pipeline is a Python package designed to provide easy installation and distribution of the ananke software, as described in Sanderson et al. 2020. In this work, the team focused on cosmological simulations, such as the latte suite of FIRE simulations (Wetzel et al. 2016, Garrison-Kimmel et al. 2017 & Hopkins et al. 2018) which have limited resolution and cannot accurately represent fully resolved stellar populations with individual stars. To address this challenge, the authors of ananke developed a framework consisting of scripts and data that enabled the generation of synthetic GAIA star surveys (refer to Figure 1) from these simulated galaxies. The framework combines density estimations and IMF sampling techniques to create representative populations of mock stars.
An essential aspect of ananke is its integration with the EnLink/EnBiD C++ software (Sharma & Steinmetz 2006, Sharma & Johnston 2009) for computing phase space densities. These computed densities are then used as input for the Galaxia C++ software (Sharma et al. 2011), which generates synthetic surveys by incorporating user-supplied GAIA isochrones to produce the mock photometry.
New pipeline
The development of py-ananke aims to make this sophisticated framework accessible to a broader community. By providing a self-contained and easily installable Python package, we strive to facilitate the usage and adoption of ananke for generating mock star surveys from cosmological simulations, enabling the investigation of stellar halos around nearby galaxies.
As ananke represents a significant step towards establishing a standard of comparison between simulated and observed data, further refinements were necessary to promote wider adoption within the community. For instance, the backend C++ software required users to possess detailed knowledge in manually transferring files between pipeline components. Additionally, the included python scripts employed coding designs that necessitated manual rewriting of ananke's software to execute the pipeline successfully. Lastly, the framework for supplying isochrones tailored to other instruments, such as Euclid and Roman, was not yet prepared for this task.
To address these limitations and enhance the usability of py-ananke, we have undertaken extensive improvements and modifications. This includes streamlining the file management processes, enhancing the python scripts for seamless execution, and developing the capability to incorporate isochrones specific to Euclid and Roman instruments. These advancements contribute to establishing py-ananke as a versatile and user-friendly pipeline for generating mock surveys, thus promoting broader engagement.
Detailed implementation
To address the aforementioned limitations, the implementation of py-ananke was designed to provide solutions (refer to Figure 2). It introduces dedicated wrapper submodules, namely py-EnBiD-ananke and py-Galaxia-ananke, specifically developed to handle the installation and utilization of the C++ backend software, EnBiD, and a modified version of Galaxia called Galaxia-ananke. These submodules relieve users from the need to directly manage the C++ software while isolating the C++ wrapping process. This allows py-ananke to focus on processing inputs and outputs using pure Python.
The implementation of py-ananke involves five classes, with only one - Ananke - being relevant to the end user.
- Universe objects store the particle data and various parameters provided to Ananke.
- Observer objects store the observing configuration, including the position in space.
- Densities objects utilize the particle data from the Universe class to compute and store phase space densities, employing py-EnBiD-ananke.
- Ananke objects serve as the user interface, connecting these three classes and the py-Galaxia-ananke classes to execute the pipeline.
- Additionally, while still in an experimental state, Extinction objects are utilized by Ananke to estimate and store extinctions in the outputs of py-Galaxia-ananke.
.png)
Figure 2 - Implementation architecture for py-ananke and its submodules
It is worth noting that Galaxia-ananke incorporates several pre-installed photometric systems, represented by sets of isochrones generated from the CMD web interface (commonly referred to as Padova isochrones Marigo et al. 2017). Among the available options are HST, GAIA, Rubin, JWST, and, pertinent to this poster, Roman and Euclid.
These implementation enhancements in py-ananke successfully address the challenges associated with the original framework. By integrating the wrapper submodules, streamlining the execution process, and providing a diverse set of pre-installed photometric systems, py-ananke now offers a more user-friendly and efficient pipeline for generating mock surveys.