Skip to content

Instantly share code, notes, and snippets.

@s-rathi
Last active September 6, 2023 09:15
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save s-rathi/5ece9b45b03d43cc7ad4c53d9da24c6c to your computer and use it in GitHub Desktop.
Save s-rathi/5ece9b45b03d43cc7ad4c53d9da24c6c to your computer and use it in GitHub Desktop.
GSoC'23 Final Evaluation Report

Main Image

tardis                     crsus

Google Summer of Code 2023 with the Tardis Rt Collaboration

Student Info

Mentors Info

  • Wolfgang Kerzendorf
  • Atharva Arya
  • Afloers
  • Ezequiel Pássaro
  • Joshua Shields
  • Isaac Smith

This is the summary of the work I did for the Tardis Rt Collaboration organization as a part of my Google Summer of Code 2023

Project Description

Title: Having versioned atomic data repositories
Organization: Tardis Rt Collaboration
Proposal submitted by me: Shikha_Rathi_Proposal.pdf
Repositories I worked on:

About the project

Carsus generates an HDF file by combining data from various sources. This HDF file can be used by Tardis to generate Atomic Spectra. However, when a new version of the atomic source rolls out, there is no way of determining the changes in the datasets. The goal of this project is to create a repository integrated with CI pipelines to periodically check for changes in the upstream data sources and maintain a repository of semantic versioned datasets along with a report on the changes in each version update. The Carsus project will be updated to use the latest data source by default by checking for updates in the data repository. Additionally, a utility function will be implemented in the Carsus to support using the older version of the datasets available on the data repository by passing the dataset version number.

Contribution

Task

  • ✅ Create a workflow that will download, store and check for updates/new releases in the atomic data hosted on John Hillier's website in the carsus-data-cmfgen repository.
  • ✅ Create a workflow that will download, store and check for updates in the weighted oscillator strengths (gf) for all the atoms and ions hosted on Robert L. Kurucz's website in the carsus-data-kurucz repository.
  • ✅ Create a workflow that will extract, store and check for updates/new releases in the atomic weights, isotopic compositions and ionization energies available at the NIST Atomic Spectra Database in the carsus-data-nist repository.
  • ✅ Create a workflow in the carsus that will integrate the carsus repository with the carsus-data-repositories (mentioned above)
  • ✅ Update the tardis_atomdata_ref.ipynb notebook to generate the atomic data from the carsus-data-repositories.
  • ✅ Update the atomic data parsers to download the data from the carsus-data-repositories.

Deliverable

  • ✅ Carsus-data-repositories
  • ✅ Workflows with slack integration
  • ✅ Integration of carsus with carsus atomic data repositories
  • ✅ Updated atomic data parsers

Pull Requests

Merged code

  • PR #4 in carsus-dat-cmfgen-test
  • PR #5 in carsus-dat-cmfgen-test
  • PR #3 in carsus-data-cmfgen
  • PR #4 in carsus-data-cmfgen
  • PR #5 in carsus-data-cmfgen
  • PR #6 in carsus-data-cmfgen
  • PR #7 in carsus-data-cmfgen
  • PR #1 in carsus-data-kurucz
  • PR #1 in carsus-data-nist
  • PR #3 in carsus-data-nist
  • PR #367 in carsus
  • PR #370 in carsus
  • PR #371 in carsus
  • PR #4 in carsus-data-nist

Code in review

Summary

carsus relies on atomic data sourced from various providers, which consistently evolve through version upgrades. Given that modifications to this atomic data can potentially influence tardis' outcomes, it becomes imperative to maintain vigilant oversight. Consequently, we have created three distinct repositories: carsu-data-nist, carsu-data-kurucz, and carsu-data-cmfgen. These repositories serve the essential role of storing and meticulously tracking changes that accompany each newly released version of their respective atomic databases.

To ensure a methodical approach, we have implemented a weekly data check check mechanism. This mechanism operates within the framework of a GitHub workflow and is coupled with a Slack notification system. The outcome of this implementation is a systematic update regarding the status of the atomic data as well as of the repository. Notably, these repositories are integrated with the carsus, thereby enabling the seamless generation of the atomic HDF file using the recent data versions available.

Lastly, we modified our data parsers to allow them to download data from both the original data sources and the carefully curated Carsus data repositories, increasing their adaptability.

Future Work

After the GSoC'23, we plan to do some research by comparing different atomic databases and their imprints on supernova spectra. Transition lines from another atomic data repository maintained by the Vienna Group, known as Vienna Atomic Line Database (VALD), can also be explored and included in the carsus atomic data.

Acknowledgement

I profoundly appreciate the remarkable learning journey I have taken this summer. My gratitude extends to my mentors, Wolfgang Kerzendorf and Atharva Arya, for their invaluable guidance and support throughout this project. In particular, Wolfgang for his wealth of expertise, pragmatic suggestions, and responses to my inquiries.

Also, Atharva, for his constant availability in answering my questions, encouraging my active involvement in meetings and providing me with essential advice on how to keep track of my project logs.

I thank Afloers for his presence in every carsus meeting and for suggestions.

Lastly, I would like to thank Ezequiel Pássaro, Joshua Shields, Isaac Smith, Andrew, Harshul and other members of the TARDIS organisation, who were always available for help and discussion.

The learning and coding opportunity provided by GSoC and TARDIS was a wonderful experience for me. I'm undoubtedly going to continue making contributions to Tardis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment