Caustics: Simulating Gravitational Lensing

Partners: Yashar Hezaveh, Laurence Perreault-Levasseur, and Connor Stone

SSEC Engineers: Cordero Core and Don Setiawan

Research Goals and Domain

Gravitational lensing occurs when a large mass (e.g. a galaxy) lies between an observer (Earth) and a light source (another galaxy). These chance alignments magnify and multiply the image and background source in a variety of interesting configurations. Scientists can leverage these naturally occurring telescopes to study phenomena such as distant galaxies, cosmology, and dark matter.

Software Problem

Caustics is a gravitational lensing simulator to investigate such critical astrophysical phenomena. In its original state, the package was not broadly accessible to new astronomers and those within the lensing field not familiar with its tools. An expanded, flexible modeling framework was needed to meet the needs of the broader lensing community.

Software Solution

SSEC worked with the Ciela Institute at University of Montreal to add standard packaging conventions, detailed documentation, and enable GitHub Codespaces, all increasing  accessibility to caustics. Bringing caustics into open-source Scientific Python ecosystems will allow for sustained contributions and greater engagement. Features such as CI/CD, API specifications, data validation, and save-state will facilitate robust code that is easily shared, understood, and reproduced amongst researchers. 

Impact

Those new to gravitational lensing will learn the field while working through examples in caustics; then continue their science using the tool. Caustics is one step closer to becoming a one-stop-shop modeling framework that meets the science needs of any scientist who explores gravitational lensing phenomena. A virtual poster session was held for Caustics at the 2024 SciPy Conference. The SSEC team also contributed a lot of features to the codebase as reflected in the release of caustics version 0.10.0. The installable package is hosted on Python Packaging Index and the Anaconda Conda Package Repository.

Related Repositories

caustics