Chapter 0 Pre-GSoC Phase ??? - 20th May, 2022 I first started searching for organisations back in January. After extensive research, I found OpenAstronomy to be quite interesting and joined the Slack channel. I was looking at the sub-organisations in OpenAstronomy, and joined their individual Slack channels as well. It was around this time that I started looking at the issues of the sub-orgs. I was very new to open-source, hence even basic stuff like issuing PR’s and tackling simple good-first-issues was challenging.
1. The challenge
After successfully dealing with Mr. Minou’s case, I got a message from another RADIS spectroscopic scientist - Mr. Corentin Grimaldi, a Ph.D. candidate of CentraleSupélec, Paris. He had several experimental spectra containing CO and CO2 at different temperatures and possibly in non-equillibrium. There were 3 spectra in total, and he also provided 3 Python scripts he used to fit them:
GSoC @ Stingray: Testing Testing Testing …
After getting the code for bexvar in working condition, the next task in front of me was to test the code. As I mentioned in the last blog I was completely new to software testing. This meant a lot of new things to learn.
In this blog, I am going to write about my experience with testing. This was one of the best learning experiences of my GSoC journey so far. With the help of my mentors, I arrived at the conclusion that primarily there are three kinds of tests that would be needed for bexvar.
(1) Unit tests to check if various components of my code provide the correct outputs individually.
Mid Evaluations are over, and I’m glad to be back at work. As the base functionality is done now, I am on to provide user APIs to create cross spectra and periodograms from actual astronomical data easily.
I was busy the first week after the mid-term due to intern season at my campus, so that I couldn’t contribute much. Afterward, I started by understanding different functionalities related to photon count events next week. The plan was to:
- Read the photon count data from different file formats and get the essential information like time, GTIs, PI channels, etc.
- Create EventList struct and handle different methods like sorting, joining, filtering, and simulating these data.
- Test these methods by appropriately re-binning, creating periodograms, and plotting the data.
There was also modification in the git workflow as the documentation branch was based on the gti one, which now has its parent main.