Google Summer of Code 2023 with TARDIS: Final Report

Import and Store NNDC Deposition Data

This page showcases a report on the Google Summer of Code project undertaken by Shreyas Singh with the guidance of Andrew Fullard, Andreas Flörs, Jack O' Brian and Wolfgang Kerzendorf, within the TARDIS-RT collaboration.

Introduction

TARDIS has developed a Gamma-Ray Transport Code that uses Monte Carlo Radiative Transfer techniques to calculate the energy deposited into supernovae by gamma-rays created during nuclear decay, along with other spectral parameters. This requires isotope decay data from the NNDC archives, which consists of an exhaustive dataset of nuclear decays for all known nuclides. The data, however, is present in a format called ENSDF which is rather difficult to read and process for the modeling purposes mentioned earlier. 


This project involved using the NNDC parser ‘radlist’ to convert the ENSDF data into usable formats like JSON and CSV and storing the processed data in a unified HDF output from Carsus, the atomic data repository for TARDIS.

Work Product

The project's output can be summarized as the Carsus repository getting an option to produce a unified HDF (Hierarchical Data Format) output containing the nuclear decay data in addition to the pre-existing lines, levels, and collision-related atomic datasets. These datasets exist in a key-value format where the values can be Pandas DataFrames or further nested key-value pairs.


The deliverables of the project were as follows:



The Evaluated Nuclear Structure Data File (ENSDF) archives hosted by NNDC consist of ~20,000 datasets for over 3400 nuclides. Hence, sending a POST request to 'radlist' to parse one dataset at a time whenever a user wants to create an atomic data file would have involved a lot of server-side uncertainties.


It was, therefore, decided to create a data repository containing the CSV output from 'radlist' by looping through the radiation data for all nuclides just once. This could later be updated occasionally as the NNDC archives are updated.


Here's an example of a possible decay for Mn-52 in the ENSDF format:


The CSV counterpart for the data above, stored in the repository carsus-data-nndc:


The NNDCReader processes the radiation data for all the nuclides fetched in the previous step and prepares the dataframes to be fit for use by the gamma-ray transport code in TARDIS.


It also provides the flexibility to use the remote repository carsus-data-nndc or specify a local CSV dataset for generating the nuclear-decay-rad dataframe.


Nuclides such as Mn-52 and Sc-44 can have metastable isotopes. The decay pathways of such isotopes include 'Isomeric Transition' (IT Decay) and other possible paths, all with the same half-life (T1/2) and Parent Energy Level. The 'Metastable' column identifies such isotopes considering the abovementioned factors.

The final HDF output from Carsus now consists of the radiation data for all the nuclides available in the NNDC archives.

Here are the PRs related to the project:


Do check out Carsus documentation to know more about the project.

Other Contributions

Besides this project, I have also enjoyed contributing to TARDIS, the main simulation repository of the collaboration.

Future Work

Having established a foundational setup for the decay radiation data within Carsus, the next possible steps in this direction would be:

Acknowledgment

While the official coding period for GSoC was from May to August 2023, the TARDIS admins and members offered unwavering encouragement and support from the outset of my first contribution to this organization. I am incredibly grateful to my mentors Andrew, Andreas, and Jack for sharing their knowledge in astrophysics, software development and the open-source community in general. I especially wish to thank Andrew for his constant support and constructive feedback in the face of any blockers. I also want to extend my heartfelt gratitude to Atharva and the PI of this organization, Wolfgang. 


Through this project, I could experience the subtleties of development in an open-source setup where the community welcomes contributors from various disciplines, all working towards a common goal. The ability to delve into bigger problems as one learns and to keep sharing one's learnings with the other members is a value I wish to imbibe further into my professional ethics. 


In conclusion, I would like to thank Google Summer of Code for providing me with this wonderful opportunity and an experience to remember.