Despite significant progress, many of the physical processes that govern how galaxies form and evolve remain poorly constrained. Discriminating between competing models therefore requires direct comparison between galaxy formation simulations, often representing entire synthetic Universes, and multi-wavelength observations. Yet simulations do not directly predict what we actually observe on the sky, including galaxy positions, luminosities, morphologies and spectral energy distributions.
Bridging this gap between theory and observation is a central challenge in modern astrophysics. One powerful approach is the creation of synthetic observations from simulations, enabling like-for-like comparisons with real data.
Over the past three years, we have developed Synthesizer, a fast, flexible, open-source Python package, accelerated with C and extensively documented, that allows researchers to rapidly and reproducibly generate synthetic observations from simulations across a wide range of wavelengths and facilities.
In this talk, we'll introduce the challenge Synthesizer is designed to solve, explore the design principles behind the software and the importance of good open scientific software development practices, before finishing with a live demonstration in Jupyter Notebook. Together, we'll generate synthetic observations of a simulated galaxy using publicly available code and sample data, giving attendees everything they need to download the resources and try it for themselves after the session.