CHALLENGE
Seismic Detection Across the Solar System
Planetary seismology missions struggle with the power requirements necessary to send continuous seismic data back to Earth. But only a fraction of this data is scientifically useful! Instead of sending back all the data collected, what if we could program a lander to distinguish signals from noise, and send back only the data we care about? Your challenge is to write a computer program to analyze real data from the Apollo missions and the Mars InSight Lander to identify seismic quakes within the noise!
Research in planetary seismology is fundamentally constrained by a lack of data due to the difficulty of transferring high-resolution seismic signals back to Earth. The amount of power required to transmit data scales with distance, so the further a target body is from Earth, the more energy is required to transmit the same amount of data. Quakes are typically rare events, meaning that although large amounts of continuous data are recorded and sent back to Earth, only a small fraction of this data contains useful signals. This constraint is especially important as seismologists will likely be sharing the lander with science teams from other disciplines who have different objectives and instruments, some of which may be transferring even larger amounts of data to Earth. Consequently, data is recorded at lower resolution or with fewer instruments than might be optimal to achieve the desired science. A potential solution for this issue is to run algorithms on a lander to differentiate seismic data from the noise, so that only the useful signals can be extracted and sent back to Earth. This is tricky to do in practice, as seismic signals on other planets tend to look different than on Earth, and the signal might be only faintly observable in the noise.
Your challenge is to write a computer program to analyze real data from the Apollo missions and the Mars Interior Exploration using Seismic Investigations, Geodesy and Heat Transport (InSight) Lander to identify seismic events! The Example Resources section provides a data packet with continuous seismic records from these missions arranged in training and test subsets, catalogs showing when the known seismic records occur in the training data, and a Python Jupyter Notebook with helpful codes to help you get started. Your team can look at these records to understand the qualities of planetary seismic data, and then try your hand at finding all the seismic events in the test dataset. Maybe you’ll find some additional events not in the current catalogs! How might you tackle this challenge? Will you build an algorithm that assesses the known data in a catalog and then apply the algorithm to the uncatalogued data? Short-term average and long-term average ratio (STA/LTA) algorithms measure the differences in energy across short and long segments of data. With some tinkering, you could apply conventional algorithms such as STA/LTA to the data. Don’t forget to watch out for missing data and glitches, though—both of which are common for planetary data! Recently, machine learning techniques have had success in extracting seismic signals from planetary data. To facilitate these sorts of machine learning methods, which typically require lots of training data, the Python Jupyter Notebook contains an example showing how to download additional datasets of Earth seismic activity. And don’t forget to use open-source code for your project, so we can see how you approached the challenge. Not strong with algorithm development? No problem! Feel free to just go through the data and pick out the times of the seismic events manually. Try to see how accurately you can identify the start of each seismic wave.
You may (but are not required to) consider the following: