- Name: Shikha Rathi
- Email: srtahi@ph.iitr.ac.in
- GitHub Profile: https://github.com/s-rathi
- Personal Website: https://www.srathi.me/
- University: Indian Institute of Technology Roorkee, India
- 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
Title: Having versioned atomic data repositories
Organization: Tardis Rt Collaboration
Proposal submitted by me: Shikha_Rathi_Proposal.pdf
Repositories I worked on:
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.
- ✅ 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 thecarsus
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.
- ✅ Carsus-data-repositories
- ✅ Workflows with slack integration
- ✅ Integration of carsus with carsus atomic data repositories
- ✅ Updated atomic data parsers
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
- PR #366 in
carsus
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.
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.
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.