GROWTH Marshal

Python SQL Javascript Bokeh
Typically, a large-survey scientist has to go through a time-consuming process of querying semi-structured data, vetting the transients of interest, and the coordination and the reporting of follow-up observations before they can obtain all the observational data and start doing scientific analysis. Given that time is the essence in this field, one can imagine that the traditional way of communicating via emails can be a major disadvantage. When working in an international collaboration like GROWTH, tools that enable efficient communication are especially critical for the follow-up of young or rapid-evolving transient events.
During graduate school, I spent 5 months at Caltech to be involved in the end-to-end operation of the ZTF survey. I contributed to the building of the private web app called GROWTH Marshal1 that is used by 100+ scientists around the globe to help boost research productivity. I implemented several instrumental features in this web app using PostgreSQL, Python, Javascript, Bokeh, and Google APIs to streamline and facilitate the common tasks in this process. The design of the portal can be viewed in the figure below.

My main contributions are listed below:
-
Created a PostgreSQL database with two other team members to ingest multi-GB sized alert streams in real time each night.
-
Implemented a user and group management system to control the content that can be viewed and interacted by a user with Python and Javascript.
-
Improved data presentation with Bokeh to facilitate visual inspection and preliminary analysis of the photometric and spectroscopic data.
-
Implemented a two-level alert system that sends emails and/or text messages to the phone in case of an event that requires immediate actions.
-
Implemented an observing run planner to keep track of all the follow-up operations. It allows program PIs to manage their observing resources in a calendar app powered by Google calendar APIs. The planner also generates an observing schedule according to the target requests submitted by users. During the run, observers can mark the status of each request in real time hence reducing the risk of duplications.
-
The GROWTH Marshal: A Dynamic Science Portal for Time-domain Astronomy Kasliwal et al. (2019) PASP ↩︎