SSBW - Jupyter Tutorial 3: Spectrograms

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) create a Jupyter notebook on a Linux system, 2) practice using basic Python syntax, 3) use the ObsPy library to retrieve seismograms from small and large earthquakes, an explosion, ice quakes, and triggered tremor, 4) use the ObsPy library to plot spectrograms and adjust the parameters to highlight key features, 5) evaluate the differences between the different type of seismic sources.

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 basic Python command syntax and variables, using a Jupyter notebook creation environment, basic components of the ObsPy library (stream and trace objects, Client functions), 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 33 of 35 in the Seismology Skill Building Workshop (SSBW).


Content/concepts goals for this activity

Proficiency with creating Jupyter notebooks, Python, ObsPy, object structures, seismograms, spectrograms, different earthquake source types.

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. Create a Jupyer notebook using Python on their Linux virtual machine
2. Use the ObsPy Client functionality to retrieve a seismogram at a station in Tucson from a small earthquake near the Arizona border
3. Use the ObsPy stream and trace functionality to plot the seismogram
4. Use the ObsPy spectrogram functionality to plot the corresponding spectrogram
5. Retrieve and plot a seismogram from an explosion of similar size
6. Compare and contrast the spectrogram of the explosion to that of the earthquake
7. Retrieve and plot a seismogram from ice quakes in Antarctica
8. Fine tune the ObsPy spectrogram plotting parameters for different types of seismic signals
9. Compare and contrast ice quakes with traditional earthquakes and explosions
10. Retrieve and plot a seismogram showing triggered tremor in Parkfield, California from the 2002 Denali earthquake
11. Adjust the ObsPy spectrogram to compare the timing of surface waves with triggered tremor


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:
11 multiple choice questions
13 multiple answer questions
5 numeric questions (output values, quantifying output, plot measurement)
2 free response (all accepted) question

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.