TARDIS Setups Framework
TARDIS is an open-source project designed for rapid spectral modelling of supernovae. Astrophysicists widely use it to model supernovae. When new astrophysicists start using the Tardis, they will use the help of past projects to understand the simulated spectra. So it is crucial to continuously update the simulated spectra of past projects as the code of TARDIS gets modified. The aim of the project was to create a framework for the TARDIS Setups repository using a combination of Sphinx Documentation, Sphinx Gallery and GitHub Actions.
My work on the project can be summarised in the following steps:
The configuration files provided by the researchers were modified to ensure the pipeline could generate the output.
Then using the Sphinx library, Created a basic documentation structure for the repository.
Created Python scripts capable of reducing the configuration used in the scientific paper so that the hardware provided by GitHub Actions will be able to run the configuration files.
Created a GitHub Actions pipeline which generates the HTML using a combination of Sphinx and Sphinx Gallery and deploys the HTML files to GitHub Pages.
Check out the code related to the project at the following links:
#10 : Add Configuration files of 2016 Aoife's Paper
#11 : Modify gitignore to ignore html output files
#12 : Add the docs folder to the Repository
#13 : Add the python scripts to run the 2020 paper
#14 : Modify Configuration files of Marc's paper
#15 : Create Actions Configuration to run and deploy the documentation
Apart from the project, I have made several contributions to the main repository of TARDIS:
#2036 : Restructure code to remove the single_packet_seed field
#2040 : Restructure CSVY Writer from Custom Abundance Widget
#2050 : Update Jsonschema package to V4
#2076 : Modified Function Name in Config validator according to PEP8
#2086 : Fix broken links in workflow files and goverance md
#2106 : Resturcture ABCs import from collections module
Though the Google Summer of Code period has ended, the project has a lot of scope for improvement. I plan on working on the following issues in the future:
Extend the pipeline so that it can run more configurations of TARDIS.
Use a self-hosted runner on GitHub Actions so that the computation time of the result can be improved.
Employ Jinja templating to auto generate the Python scripts required for running the configurations.
I am extremely gratefully to my mentors, Aoife Boyle, Ezequiel Pássaro and Andrew Fullard, for helping me throughout the coding period. I would like to especially thank Andrew Fullard and Marc Williamson for their continuous support during the Application Period. Your suggestions were a valuable contribution to my proposal. I would like to give a special mention to Wolfgang Kerzendorf, who has taught me many invaluable lessons throughout GSoC. I would also like to thank my fellow Google Summer of Code students, Atharva Arya, Jayant bhakar and Satwik Kambham, who have constantly helped me throughout the coding period. I would like to thank the entire TARDIS community for their constant support. Over the summer, I got the chance to learn many new things which have a major impact on my career. Finally, I would like to thank Google for giving me the opportunity to work with TARDIS.