This is an end of an era

Contributing to Poliastro has been an incredible experience for me. Since it was the first time, I've participated in GSOC. And the first time I've ever approached to package dedicated to problems arising in Astrodynamics and Orbital Mechanics. Being part of Poliastro was an exciting challenge that I had to surmount and also an unbelievable opportunity to learn about Space, Math and Physics.


With the thorough knowledge learned, and the feedback from JuanLu and Jorge, I was able to overcome every challenge in my Poliastro's journey. As I had said when I had the opportunity, I am grateful to both of my mentors who accepted me to be part of this exceptional community. :)


GSoC 2020: Blog 5 - Adding Kerr Null Geodesics functionality to EinsteinPy

Null Geodesics functionality has been implemented into EinsteinPy, with PR#527, having been merged šŸŽ‰šŸŽ‰. I apologize for no blogs in the past 3 weeks. There was a COVID situation here, that required multiple tests and isolation and all that it entails. This led to me foregoing an entire week. And, when that had settled, I had to take the call on abandoning the plan of numerically integrating the Geodesics equations, due to the massive error accumulation, as discussed in my last blog. A confusing fact about that, was that Mathematica could still keep the error build-up to a minimum, while Python simply could not, even with adaptive and symplectic schemes. But the symplectic schemes did bring the error down, by around 2 orders of magnitude, which gave me the idea to take a Hamiltonian approach, which would increase the number of ODEs to solve, but drop the order by 1. And, as it turns out, the Kerr Hamiltonian is separable (Carter, 1968a [1]), which makes the implementation even simpler. In this blog, I will be discussing this approach, which has finally led to proper geodesic calculations. I have also included some plots (and a cool animation) for Kerr & Schwarzschild Null-like (and Time-like) geodesics.


Week 11 & 12: Last two weeks of GSoC

Hey Sid! Whatā€™s the progress? What did you do in last 2 weeks?

The work was completed on time! I spent the last two weeks coding up the saving versions of ccds, arrays and filenames. With these, one can apply a function on the desired object (i.e. ccd or array or filename) and can also save it to FITS file. There are various options available for saving, like the prefix name of the saved file, suffix name of saved file and also the location at which to save, check out the repo for more info!


Google Summer of Code - The End!

Hello everyone! It has been a while since my last blog, and for a good reason. The past few weeks have been quite productive, and I thought it might be a good idea to present one final report of the work that I did over this past month instead of breaking it into subparts. With this blog, I will also be marking the end of my journey through the Google Summer of Code program. This blog will talk about some of the changes that the work I did as a part of GSoC brought to RADIS, and how you, the user can and will benefit from it.

In my last blog, I briefly mentioned what I was planning to do with the GPU code and how to integrate it with RADIS. The current RADIS code performs calculation of spectra at thermal equilibrium (and even in non-equilibrium conditions) in primarily two ways:


Week 10 & 11: The Endā€¦

The past 3 months have been really amazing. Iā€™ve learned a lot about working on a collaborative project and working with deadlines.

In the past two weeks, I polished off the work done for the project in the PR, so that it is ready to merge. There were a few merge conflicts that needed to be addressed.

Then, I worked on a generate_runlist file to make runlists for converting MAGIC ROOT data to HDF5 data. In a few days, training will start on the approximately 5000 MAGIC data runs using CTLearnā€™s models.


GSoC 2020: Thus Ending

This post marks the end of the summer of Code with Google. A lot I learned from the community; a lot I contributed to it. What I took back from GSoC is way more than what I put forward for it. So letā€™s see what I did in the lastĀ weeks.

I have now added a guide on how to Add ā€œAttrsā€ to the registry in PR #4387. It is part of the developer guide for Fido.
I have added tests to check metadata queries in #4385 and ways to index the results using the clientā€™s name. It eases to retrieve individual provider responses from a Fido result.


GSoC 2020: glue-solar project 3.2

It is finally nearing the end of the project for me, as far as coding is concerned. Over the past few weeks I have spent some time on some last-ditch effort to debug with my mentors and to squeeze as much as I possibly could given the time constraint I have been under. These include but not limited to sorting out some generalisation issues that previously prevented glue PR #2167 from being usable for general FITS files, some type as well as wcs linkages issues in glue PR #2161 that cropped up after applying changes suggested in code review that have not been properly checked on my part. The pull requests started or completed for the project include but are not limited to the following list:

  1. glue PR #2167 for updating 1D Profile viewer to use wcsaxes for plotting and addĀ sliders
  2. glue PR #2161 for updating ā€˜wcs_autolinkingā€™ code to handle N-D cases using a generalised approach conforming to APE 14: Shared Python interface for World Coordinate Systems
  3. glue PR #2164 for adding support to NDData for astropyĀ package
  4. glue PR #2131 for adding a preferred_cmap attribute to introduce a color coding scheme for different glue-solar data types (for example to distinguish the IRIS raster data cubes from its companion IRIS SJI dataĀ cubes
  5. glue-solar PR #15 for adding to open with ā€œSunPy Mapā€ GUIĀ option
  6. glue-solar PR #17 for adding ā€œLoading and Overplotting AIA and HMI files as SunPy Mapsā€ docs as a userĀ guide
  7. glue-solar PR #18 for adding ā€œloading IRIS level 2 raster and sji data together docsā€ as a userĀ guide
  8. glue-solar PR #23 for updating IRIS data labels with OBSIDs for filtering
  9. glue-solar PR #28, PR #29 as core glue-solar documentation

I have actually been using our work on the glue 1D profile tool for my current doctoral studies on studies of planetary nebulae using integral field spectroscopy (IFS) involving the handling of a large number of data cubes from some Australian telescopes (data collected by my PhD supervisor Prof. Quentin Parker). Turned out this tool made the process of investigating the different spectra, which could run up to hundreds in number per data cube or observation, as it allows me to load in my data cube only once, and then to inspect the variation across spatial dimensions to see if the signal-to-noise of a particular observation is too high, or if the opposite is true so that the spectra will then be further processed into full-optical integrated spectra with flux calibration or de-reddening as necessary.

I am grateful for Google, my mentors, other org members as well as my GSoC peers to make this a particular fun-filled and memorable project! I have learned so much from the experience that even money cannot buy in terms of programming and soft skills. I wish Google will continue this program or initiate some similar program to continue cultivating new generations of open-source software developers / development enthusiasts to further our aim to make open-source approachable and usable forĀ all.