SAM MORRELL


ASTROPHYSICIST

Chirp – An App for Monitoring Gravitational Wave Alerts

November 1, 2019   |   Reading time: ~6 mins

I’m absolutely delighted to announce that a spare-time project I have been involved with for the best part of a year has finally been released. Enter Chirp – an app to help you monitor gravitational wave alerts. The app is being officially released to coincide with the start of O3b, the second part of the third observing run for the LIGO Scientific Collaboration (LSC). I wanted to write this post to provide a little bit of context behind the app for those that were curious.

But before that, shameless plug time! Here are the links to get the apps.

Available as a Web App
Download on the App Store
Get it on Google Play

Motivation

The original idea for the app came from my good friend and collaborator Dr. Sam Cooper of the University of Birmingham. Sam has been actively involved in much of the outreach effort in the Institute of Gravitational Wave Astronomy at Birmingham, including the development of a model version of the detectors used to discover gravitational waves for an exhibit at the Thinktank museum. Sam came to me in late 2018 and described his frustration with the difficulty he was having sharing the science he was passionate about with his relatives, in particular his young cousins who were developing a keen interest not only in science, but wanted to know about what he worked on in particular. His ambition was to come up with a web app that could gather together all of the relevant information about gravitational wave events and present it in a friendly, accessible format that everyone would be able to use. Given my passion for science outreach and previous development experience it wasn’t terribly difficult to get me on board as well. Work began on Chirp in October 2018, with a weekend hackathon in February 2019 propelling progress forward on what would later become the current version of the Chirp web app. After the first release of Chirp Web went live in May 2019, we turned our attention to an iOS / Android version of the app – which is what is being shipped today.

How it Works

Now for the technical part! There has been a little misunderstanding about how the app actually works, so I think its worth just setting it straight here. The easy thing to have done would have been to directly query the gravitational wave candidate database (GraceDB), as the information is collected there by the LSC. However, we soon realised that the parameters presented through GraceDB were sometimes inconsistent with the latest available information. So Aaron Jones, another friend and collaborator at the University of Birmingham who developed the backend for Chirp, instead wrote a listener which collates the latest information directly from notices published to the Gamma-ray Coordinates Network (GCN). During observing runs, the LIGO – Virgo Collaboration (LVC) publishes gravitational wave alerts and parameter estimations to the GCN as notices. This means that all of the information provided by our API is always the latest information available for any given alert. This method has both the benefit and disadvantage of the presented parameters being in flux in the hours after they are published; with some alerts even being retracted later. This is to say that the parameters for recently published alerts should be considered non-authoritative and are often subject to change.

The server and API were written by Aaron and feature bespoke Python scripts to handle all of the back-end business logic behind the scenes. GCNs that are pertinent to an alert get caught by the listener, collated to a database and made available to the apps via our API. The apps themselves were mainly written by Sam and I. The web app is written in JavaScript using the React framework. It became apparent early on that, as we were writing all of the code for Chirp in our spare time, it was going to take an age to actually release if we had to write everything from scratch. This led us to adopt React from the start. For all its foibles, React (and by extension React Native) has allowed us to iterate very quickly on the apps and offers a rich ecosystem of packages that can be easily tapped for functionality. In particular the Redux framework deserves a mention, which serves as the data layer in all of the apps. The iOS and Android apps are also written in JavaScript atop React Native, which allowed most of our business logic to be shared directly with Chirp Web. I hope that gives a little insight into the tech that is running behind the scenes on these apps and why we do things the way we do them.

What’s Next?

We are actually already planning and actively developing features for the next version of the app. This is based on both things that we aim to do, and feedback from the beta users of the app. The features that we currently have on the radar include:

  • Continuing to improve accessibility within all of our apps – Now that we have a working framework in place, we really want to refine the experience and make the apps as user friendly for everyone as we possibly can.
  • Bringing network status across to Chirp web – I hammered out the original implementation of the observatory status widget in an evening hackathon a couple months before the launch of the app. This is to say that it was actually a rather late addition, hence why it didn’t make it into the current version of Chirp Web. Now that we have the functionality in the API my next job is to bring the this feature across to the next version of the web app.
  • Timeline – We aim to be as transparent as possible about the data we are pulling in to the app, so our intention is to provide a timeline that shows all of the GCN notices that were are using as the sources of our data for each alert.

If you have any suggestions for features, or bugs that need squashing, please do head over to our repository and file an issue (https://github.com/scooper93/Chirp) or get in touch with us – it really does help us to improve the app, so don’t be shy.

Updates

  • The University of Birmingham published a press release about the app. It includes a nice video of my fellow developers discussing the app. Read it here.
  • The app has now been published on Zenodo and has been assigned a Digital Object Identifier (DOI). DOI

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *

Comments

Sorry, there are currently no comments for this artcle. Why not start a conversation?