Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

IRSA Tutorials

Following a simulated supernova through the Roman Time Domain Survey

Learning Goals:

By the end of this tutorial, you will:

  1. learn more about the “observations” that make up the simulated Roman Time Domain Survey (TDS).

  2. learn how to find the locations of simulated supernovae in the transient catalog.

  3. learn how to ask IRSA which simulated Roman images cover a given position and time.

  4. learn how to create aligned cutouts of simulated Roman images.

  5. learn how to make an animated gif from these cutouts.

Introduction

The Roman Time Domain Survey revisits the same patch of sky over and over, which is what makes it possible to watch a transient appear and fade. This notebook picks one simulated Type Ia supernova out of the OpenUniverse2024 transient catalog, collects every Roman image that covers it while it is bright, and stacks those images into a short movie.

The survey stores its images by pointing and detector rather than by sky position, so which files contain a particular supernova is not something you can work out from the file paths. IRSA’s Simple Image Access (SIA) service answers exactly that question, and we use it here to assemble the list of images to stack.

If you are new to OpenUniverse2024, the Quickstart tutorial introduces the directory layout, the parquet catalogs, and the image search used below.

Install and Import required modules

Read in the Observation Sequence File to learn more about the “observations” that make up the simulated Roman Time Domain Survey.

             ra      dec filter  exptime         date        pa
0       7.60523 -45.6541   R062  161.025  62000.02139   0.00000
1       7.60523 -44.8337   R062  161.025  62000.02407   0.00000
2       7.60523 -44.0134   R062  161.025  62000.02674   0.00000
3       7.60523 -43.1930   R062  161.025  62000.02941   0.00000
4       7.60523 -42.3727   R062  161.025  62000.03209   0.00000
...         ...      ...    ...      ...          ...       ...
57360  11.81670 -44.9265   K213  901.175  63563.01290  19.72602
57361  11.53980 -44.1543   K213  901.175  63563.02420  19.72602
57362  11.26290 -43.3821   K213  901.175  63563.03540  19.72602
57363  10.98600 -42.6099   K213  901.175  63563.04660  19.72602
57364  10.70920 -41.8377   K213  901.175  63563.05790  19.72602

[57365 rows x 6 columns]

What is the spatial and temporal coverage of the openuniverse2024 Roman TDS?

ra_min, ra_max: 6.97879 12.0204
mjd_min, mjd_max: 62000.02139 63563.0579

Read in the Supernova Analysis (SNANA) file.

The transient catalogs are split by HEALPix sky region (nside=32, RING ordering), with the region index in the filename. We convert the center of the Roman TDS into that index rather than guessing at the file name.

Let’s find a relatively nearby SN Ia that the survey actually watched go off.

['FIXMAG', 'NON1ASED.KN-K17', 'NON1ASED.PISN-STELLA-HECORE', 'NON1ASED.PISN-STELLA-HYDROGENIC', 'NON1ASED.SLSN-I-BBFIT', 'NON1ASED.V19_CC+HostXT_WAVEEXT', 'SALT3.NIR_WAVEEXT', 'NON1ASED.SNIax', 'NON1ASED.TDE-BBFIT']
Number of SN1a in SNANA file:  10369
Number of SNIa within the survey: 6718
Number of nearby SNIa: 199

A supernova is only worth animating if Roman happened to be looking at that patch of sky while it was bright. The catalog records the date each one peaks in peak_mjd, and the survey visits any given field in bursts rather than continuously, so we pick an object whose peak falls inside a well-visited stretch of the survey.

The cuts above cannot check this for us. They confirm that a supernova went off somewhere inside the survey’s footprint and date range, not that the telescope was pointed at it while it was bright. That combination is common, and when it happens the epoch window below comes back empty and there is nothing to animate. So if you change oid to explore a different object, check that the dates it was bright (start_mjd to end_mjd) overlap the dates Roman visited its position (the t_min column of the image search below).

SN 20131477: RA=9.988442, Dec=-44.061671, z=0.259, peaks at MJD 62258.3

Ask IRSA which simulated Roman images cover the chosen SNIa.

We hand the position to IRSA’s image search, which returns one row per image along with the time it was taken and where the file lives in the cloud.

Images covering this position: 1720

That covers every band and both Roman surveys, so we narrow it down to the Time Domain Survey images in a single band.

R062 images covering SN 20131477: 221

Finally we keep only the epochs around the peak. Frames from years before the explosion would add nothing to the movie beyond download time, so we take a window that starts shortly before the supernova appears and runs until it has faded.

Epochs to animate: 31, spanning MJD 62235.1 to 62335.1

The cloud location of each image arrives as a JSON string, which we unpack into an S3 path.

Notebook Cell
['s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/18117/Roman_TDS_simple_model_R062_18117_18.fits.gz', 's3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/18121/Roman_TDS_simple_model_R062_18121_7.fits.gz', 's3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/18502/Roman_TDS_simple_model_R062_18502_18.fits.gz']

Create cutouts of the chosen SNIa.

Roman’s focal plane sits at a different angle on the sky at each visit, so the same patch of sky arrives rotated differently in every image. Before the frames can be stacked into a movie we rotate each one so that north points the same way throughout. The rotation angle is recorded in the header, and detectors in every third slot are mounted flipped, which we correct for as well.

s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/18117/Roman_TDS_simple_model_R062_18117_18.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/18121/Roman_TDS_simple_model_R062_18121_7.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/18502/Roman_TDS_simple_model_R062_18502_18.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/18886/Roman_TDS_simple_model_R062_18886_7.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/18887/Roman_TDS_simple_model_R062_18887_17.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/19272/Roman_TDS_simple_model_R062_19272_13.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/19657/Roman_TDS_simple_model_R062_19657_13.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/19662/Roman_TDS_simple_model_R062_19662_15.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/20427/Roman_TDS_simple_model_R062_20427_10.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/20432/Roman_TDS_simple_model_R062_20432_18.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/20807/Roman_TDS_simple_model_R062_20807_4.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/20817/Roman_TDS_simple_model_R062_20817_18.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/21192/Roman_TDS_simple_model_R062_21192_5.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/21197/Roman_TDS_simple_model_R062_21197_11.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/21202/Roman_TDS_simple_model_R062_21202_17.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/21582/Roman_TDS_simple_model_R062_21582_11.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/21587/Roman_TDS_simple_model_R062_21587_17.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/21967/Roman_TDS_simple_model_R062_21967_15.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/22352/Roman_TDS_simple_model_R062_22352_15.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/22357/Roman_TDS_simple_model_R062_22357_16.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/22737/Roman_TDS_simple_model_R062_22737_18.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/22742/Roman_TDS_simple_model_R062_22742_16.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/23508/Roman_TDS_simple_model_R062_23508_3.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/23513/Roman_TDS_simple_model_R062_23513_8.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/23898/Roman_TDS_simple_model_R062_23898_5.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/24283/Roman_TDS_simple_model_R062_24283_3.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/24668/Roman_TDS_simple_model_R062_24668_12.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/25058/Roman_TDS_simple_model_R062_25058_3.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/25442/Roman_TDS_simple_model_R062_25442_7.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/25443/Roman_TDS_simple_model_R062_25443_12.fits.gz
s3://nasa-irsa-simulations/openuniverse2024/roman/full/RomanTDS/images/simple_model/R062/25828/Roman_TDS_simple_model_R062_25828_18.fits.gz
Collected 31 cutouts

Define a module to create an animated gif from a collection of cutouts.

Notebook Cell

Make an animated gif out of the cutouts.

Watch the supernova brighten near the middle of the sequence and fade away again.

The saved gif loops without stopping, which makes a brief brightening hard to follow. Displaying the animation instead gives playback controls: pause it, step one epoch at a time with the arrows, drag the slider to any frame, and read the date in the corner as you go.

Loading...

About this notebook

Updated: 2026-08-05

Contact: the IRSA Helpdesk with questions or reporting problems.