This summer, I had the incredible opportunity to work as an intern in the School of Physics at Trinity College Dublin around the detection of exomoons around a brown dwarf. As a second-year physics student, I found myself constrained by a limited grasp of Python and theoretical knowledge. However, as the weeks unfolded, I realized that this internship was not just about astrophysics but a transformative experience in how I think, work, and see myself as a developing scientist. Over the summer, I not only developed academically by learning an enormous amount of coding and theory beyond the course of study but also professionally immersed myself in research culture and life as an Astrophysicist.
My project was to find transiting exomoons around a brown dwarf. To untangle some terminology, lets discuss these objects. A brown dwarf is an intermediate between a planet and a star. It is bigger than a planet (>75 times mass of Jupiter) but not big enough for there to be sustained fusion reaction to be a real star. Some people call them ‘failed stars’ but in our group, we called them ‘overachieving planets’. An exomoon is an object such as our moon but outside of our own solar system. My project was to see whether there was a moon orbiting a brown dwarf. For this I obviously had to learn how to detect stars, planets, and then moons. The main reason I wanted to detect a moon is due to the brown dwarf’s auroral emission. Just like the aurora on Earth, this mysterious free floating brown dwarf was exhibiting aurorae. On Earth, aurorae are caused by charged particles from the Sun interacting with our magnetic field, however this object does not have any host star, making the aurora a mystery. I had hypothesised it was due to a moon such as Jupiter’s Io causing aurora on its host planet.
As I started my first week, I quickly came to the realisation that I had a lot to catch up on. With virtually no exclusive astrophysics training, I had no idea how to do simple things such as navigating through a research paper or even what a .fits file is. Perhaps my most dramatic area of growth was coding and pursuing through academic literature and learning new maths. Though I had a quite firm grasp on python, it was evident that I did not compose the level of coding required for my project. In the first week, I learnt how to read papers and basic coding: such as reading a .fits file, how to make nice plots, what pipelining is and many more basic knowledge required for a scientist. Within weeks, I was writing and debugging scripts that incorporated concepts at a level of a third- and fourth-year undergraduate physics students.
Once I had grasped the basic understanding of my concepts, I had to perform data reduction. Raw data obtained from the James Webb Space Telescope (JWST) is extensive and highly detailed, often exceeding the volume manageable for direct computational analysis. Therefore, it was necessary to significantly reduce and refine the dataset to extract meaningful information and facilitate further processing. To do this, I had to learn how to learn how to make a spectrum – plot of light intensity as a function of wavelength, it reveals how much energy an astronomical object emits at different wavelengths (Fig. 1). I had to learn how to make light curves – plot of brightness of an object over time, plots how the light intensity of the object changes over the observation time (Fig. 2). This was the main thing I had to learn as with light curves, I can find stellar variability – how clouds are changing in the atmosphere and whether there are any transits – for example a moon. Performing even basic tasks was challenging, as I had not previously been exposed to these techniques. It took approximately two weeks to develop a working understanding of how to generate spectra and light curves from the data with the help of my research group and PhD students. But by tackling one piece at a time, seeking help from PhD students, and persistently debugging, I developed confidence.
Figure 1: Median Spectra of brown dwarf 2M1047
Figure 2 : Light Curve of 2M1047
As I went through these assignments, I became more comfortable with advanced coding and data visualisation techniques. I attended group meetings, journal club, group lunches, coffee mornings and I quickly became accustomed to the Astrophysics lifestyle. These experiences made me realise that being a leader isn’t about being the head or managing but it is about asking for help and meeting others. Leading this project made me realise that everything is teamwork, if I was unable to resolve a particular issue independently, I would ask the other interns in third year or the PhDs.
The biggest challenge in my project was figuring out how to work on a cluster. The cluster I was using would frequently crash, but it was the absence of a user manual that truly made it hard to navigate the system. It took me more than a week to learn how to run scripts on the cluster. During this time, I developed documentation on its usage protocols. This was the biggest setback in my project’s timeline. Although, this taught me how to be resilient and determined. I had to understand that in this field, or any workplace, it is not uncommon to encounter difficulties with tasks that may appear straightforward or routine. Such challenges often arise due to the complexity of the process.
The final stage of my project involved applying Gaussian Process (GP) techniques to the light curves to identify potential transit signals and mitigate stellar variability. GP is a well-suited for modelling correlated noise in astrophysical data. It allows us to separate transits from sub-stellar activity such as cloud and atmospheric interruptions. Through this, I strengthened my grasp of statistics especially in areas like probability distributions, error analysis, and fitting models to data.
Once I learnt how to manipulate the code and theory for my project, I could move onto the most important section of my project. I selected three distinct light curves which could hold potential for a transiting moon. This is called a three-band search, and it is incredibly difficult to run such a search in the amount of time I had. I ran the search multiple times on multiple different data binning until I had sufficient data to make a conclusion. This took several hours to run even on a cluster with 24 cores and more than 384 GB of RAM, it took days to run my code.
Although there were a lot of results, I was ultimately unable to confirm the presence of a transiting exomoon. However, the data didn’t rule out a moon, there wasn’t definitive proof for its existence. If I had more time, I would have injected a simulated moon signal into the light curves to test whether our instruments could have picked it up. It could help us understand how sensitive JWST really is to these signals, and how effective the detection method was, especially the Gaussian Process modelling.
Thanks to the support of Laidlaw, I had one of the most formative and rewarding summers of my life. I was given the opportunity to immerse myself in the daily realities of astrophysics research, gaining insight into the skills it demands, the pathways that lead there, and, most importantly, clarity about my own aspirations. The experience was intellectually enriching and personally transformative, it deepened my understanding of the field, introduced me to lasting friendships, and connected me with a vibrant community of researchers and mentors. I learnt how to present in meetings, how to communicate with my group and most importantly – how to manage a self-led project.