Setting Up for the Kurucz PR and transitioning to the TheoReTS
This week was not the most enjoyable phase of the project so far, as I had to exert considerable effort to fix failing tests before opening a pull request.
Once I ensured that the initial tests passed, I wrote my own tests to confirm that the new AdB Kurucz class didn’t interfere with any part of the existing code. At this point, I encountered a primary issue. I hadn’t noticed that one of the methods I had adapted from ExoJAX was still reading a file which necessitated an ExoJAX package dependency. This caused the build to fail on GitHub due to one of the tests in my kurucz_test.py file failing.
Since there’s a conflict related to the JAX installation on Windows, I couldn’t add it to the requirements file. Doing so would create a conflict for every Windows user installing Radis. Consequently, I had to write a program to extract the data from this package and store a copy of it in a local file called pfdat.txt. This enabled the problematic function to read from the local copy instead of the ExoJAX file. This solution successfully rectified the problem, and now my PR passes the tests and is awaiting review before merging.
Scraper Things
Most of the week was spent rewriting the Scraper functions to go with the new parse-pattern and then looking for edge cases in the new implementations, fixing bugs and updating tests.
{{Catching up}}
GSoC Week 2-3 Update
Into the Summer of Code
I had my end-semester exams during the Community Bonding Period and the real-early part of the Coding Period. However, my mentors were super-accomodating. I spent a few days on plans with friends before bidding goodbye for the summers, travelling home and relaxing a bit.
The Talk
Comparing memory performance of Vaex and Pandas
After completing all the changes to compute Spectrum using Vaex , I compared the memory used during the execution of the program . I used tracemalloc to compute memory uses to compute Spectrum .
Computing the spectrum
Creating a new Data Structure for pyGnuastro
Background
GnuAstro is a powerful and comprehensive library designed to handle various data formats(FITS/TIFF/TXT and more) and perform a wide range of operations, all while maintaining consistency across its entire codebase.
Implementation of the Kurucz database to Radis
As planed in my last article, I started my project by adding a first database to Radis : Kurucz.
I based my work on a existing class developed in Exojax. I reviewed the associated methods that allowed to download the data from the database, store it in numpy arrays and extract the key information from it for further calculation.
By running a few examples on Exojax, I got familiar with the structure and nature of the data and key functions.
Refactoring code for calculating Spectrum Using Vaex dataframe
After the community bonding period , I continued refactoring the code for vaex . I have the following the things in this period
GSoC - Week 1-2
My adventure with the implementation
While taking on this project, the thing I was most excited was that I would be getting to write rearch code (Code to be used by researchers in their work all over). With advent of large data from multiple telescopes and computational speed , Gaussian Processes are fast becoming the go to choice for astrophichal modelling.