Adapting Kurucz to SpectrumFactory and what is next ?

Adapting Kurucz to SpectrumFactory and what is next ?

After my first pull request I received some feedback.
Optional and major changes were requested. The most important changes were that my code should better integrate the existing Radis code. Indeed, though I added a new database with Kurucz, its API remained distinct which is something which will make Radis progress toward a common API.

Another key remark was that my code didn’t take into account the Broadening effects that modify the lineshapes.
This is why I had a Team meeeting with my mentors to discuss the physics behind the code. It helped me a lot to understand what was expected.

After this I worked on adding broadening and merging the new AdB Kurucz with SpectrumFactory. In order to do so, I worked on an example which allows to plot a spectrum using the Kurucz atomic data and SpectrumFactory. My first attempt was to use one of the existing Radis formats for databanks named hdf5-radisdb since I worked with hdf5 files in my Class.
This attempt happened to be too difficult because the formats were made for molecules and too many columns of my dataframe were different from the expected columns.
This is why I eventually decided to add a new format named “kurucz” to the load_databank method which allows to load the kurucz data with the proper form.

Read more…

Across the Summer of Code

I spent the most part of my time since last blog-post working on the failing tests. The most complex client to fix and the most complex client in general, the GOES Client, needed to be changed a bit. The problem that arose there was mainly because of how we earlier had the liberty of parsing out any variable given down in the pattern since that string would never be used to act as a url but since we also want it to do the job of the baseurl, we can’t have any to-be-determined value in the base parts. Since the client involved calling a helper function that returned the data for specific values of those variables, I had to modify the code to obtain those values from that part instead of extracting it again from the URL (since we put it there in the URL string in the first place). Another issue was implementing a system for dealing with cases where there’s no numerical representation for the month in the file’s URL, i.e. in the %B or %b datetime formats cases.

Read more…

Moving towards OpenCL

Background

So far, all my work on GPUs has been using CUDA. But CUDA is proprietary to NVIDIA and only works on NVIDIA GPUs. So, I’ve been working on moving the code to OpenCL, which is an open standard for parallel programming on heterogeneous systems.

Read more…