SSBW - Jupyter Tutorial 5: Seismic Noise and Quieting During COVID19

Mike Brudzinski, Miami University-Oxford
Author Profile
Initial Publication Date: August 18, 2021


In this interactive tutorial built for a learning management system, students 1) download a Jupyter notebook from GitHub, 2) practice using basic Python syntax, 3) use the ObsPy library to retrieve a large amount of seismograms from a single station, 4) use the ObsPy library to calculate the probabilistic power spectral density (PSD), 5) interpret PSD, average seismogram amplitudes, and spectrogram patterns to assess the reduced noise from the 2020 Covid-19 pandemic and how it changed over time.

Used this activity? Share your experiences and modifications



The IRIS Seismology Skill Building Workshop (SSBW), which is a free, online, open-access, large-enrollment, 12-week summer workshop for upper level undergraduates.

Skills and concepts that students must have mastered

This assignment builds on prior experience using Python command syntax and variables, using a Jupyter notebook creation environment, core components of the ObsPy library (stream and trace objects, Client functions, special function packages), and the ability to retrieve relevant information about programming and seismology from internet research or help pages.

How the activity is situated in the course

This is assignment number 35 of 35 in the Seismology Skill Building Workshop (SSBW).


Content/concepts goals for this activity

Proficiency with utilizing existing Jupyter notebooks with complex code, seismic noise, power spectral density, GitHub, Python, ObsPy, seismograms, and spectrograms.

Higher order thinking skills goals for this activity

Retrieving relevant information from digital sources to accomplish tasks, using correct programming syntax, evaluating and describing computing output in the context of science concepts.

Other skills goals for this activity

Description and Teaching Materials

Students will:
1. Learn how to estimate the power spectral density to characterize seismic noise recordings
2. Download the SeismoRMS Jupyter notebook from GitHub
3. Review someone else's code to evaluate what it is doing and why
4. Adjust the Jupyter notebook to download seismograms recorded in Central Park, NY, USA
5. Use code to generate daily, probabilistic power spectral density estimates
6. Interpret PSD, RMS amplitude, and spectrogram plots to assess the reduced noise from the 2020 Covid-19 pandemic and how it changed over time
7. Stop and restart a Jupyter notebook kernel to deal with stagnant code
8. Adjust the frequencies analyzed to assess how noise levels fluctuate at different frequencies
9. Use dayplots and clockplots to assess the daily and hourly variations in seismic noise 


Teaching Notes and Tips

This assignment was constructed in the Moodle learning management system, and has been exported in the GIFT format. More information about the syntax of this format can be found here:


This assignment is automatically graded by the learning management system. The number of questions of each type used are:

References and Resources

During the Seismology Skill Building Workshop, students are provided with a virtual Linux machine that was tailored to include the software specifically needed to complete the assignments. This software is all freely available on the internet, but interested parties are encouraged to contact the instructor for access to this tailored virtual machine.