Seismology Skill Building Workshop for Undergraduates


The seismology skill building workshop is designed as an ~70 hour online course for undergraduates or recent graduates, regardless of major (e.g., computer science, geophysics, geology, math, physics) to build scientific computing and computational thinking skills while working with seismic data. The workshop materials below were used in 2020 and 2021 and the program will continue to run for at least summers 2022, 2023, and 2024. The goals of this workshop are to increase students'...  

  • interest in taking additional course work in seismology and scientific computing,
  • self-efficacy in using seismic data, and 
  • competitiveness in the graduate school or summer REU application process.

Timing: Summer. Every other week for 12 weeks, a module with ~6 assignments was released to students. On average students invest ~5 hours/week into the webinars and assignments.

Key Course Elements: A tailored Linux virtual machine, regular webinars (recorded for asynchrous use), a Slack workspace for peer-to-peer, and student-to-staff discussions), tutorial-style active e-learning assignments embedded in a learning managment system, and an optional final project. The workshop was delivered by two course faculty and supported by two seismology graduate student teaching assistants. 

Sample Syllabus: 2021 Course Syllabus

Annual Workshop Pages:
2020   -   2021   -   2022  -  2023

Additional funding has been provided for this workshop and research related to its pedagogy by the National Science Foundation via DUE 2121503 & 2121342

Course Content:

The course introduced seismological and computational concepts while also emphasizing how a seismologist might think about and approach the dataset or methodology at hand. Assignments were designed to build skills with Linux, GMT, SAC, webservices, seismic network processing, Python, ObsPy, and Jupyter notebooks. Additionally, research skills and topics likely to increase students' success were introduced including: how to read scientific literature, productive coding habits, seeking the mentoring you need, incorporating workshop learning into a resume or graduate school application, networking and developing elevator speeches.

Module 1 − Introduction to Linux command line, shell scripting, and basic plot generation with Generic Mapping Tools (GMT) that enables exploration of earthquake patterns in space, time, and magnitude, and Earth’s internal structure based on seismic wave travel times.

Module 2 − Introduction to Seismic Analysis Code (SAC) for viewing seismograms as both waveforms and spectrograms, and conducting time series analysis, filtering, and component rotation that enables detection, characterization, and interpretation of seismic wave patterns.

  • SAC Tutorial 1: Introduction and Reading/Writing Data Files
  • SAC Tutorial 2: Obtaining Seismic Data
  • SAC Tutorial 3: Fourier Analysis and Filtering
  • SAC Tutorial 4: Body Waves
  • SAC Tutorial 5: Earthquake Source Directivity
  • SAC Tutorial 6: Convolution and Cross-Correlation

Module 3 − Use the myriad of IRIS waveform, metadata, and earthquake catalog request tools (e.g.., web services, earthquake browser, Wilbur, MUSTANG, etc.) to check data availability and access data that enables exploration of relationships between earthquakes and plate boundaries and earthquake frequency and magnitude.

Module 4 − Use various methods to visualize collections of seismic waveforms for a given earthquake and software for forward modeling and inversion that enables both estimation of subsurface velocity structures and earthquake hypocenter and fault plane solutions.

Module 5 − Introduction to Python and commonly used libraries (e.g., NumPy, Matplotlib, Pandas, and ObsPy) for retrieving, processing, and plotting of data tables and times series that enables rapid scientific analysis of earthquake catalogs and seismic waveforms.

Module 6 − Use existing and create new Jupyter Notebooks with Python to explain and share code with other scientists that enables advanced seismogram processing including removing an instrument response, calculating a spectrogram, and estimating temporal changes in cultural noise.

New for 2022! Module 7 (BONUS) −  Accessing and exploring GNSS data, interpreting GNSS plots, creating plots of GNSS station motion over time, removing the linear trend from GNSS data, examination of residuals and exploring  GNSS time series for signals of earth processes. 

  • Geodesy Tutorial 1: Introduction to GPS Data
  • Geodesy Tutorial 2: Plotting GPS Time Series
  • Geodesy Tutorial 3: Analysis and Interpretation of GPS Time Series

Final Assignment (Optional) -The final assignment for the Skill Building Workshop is to develop a Jupyter Notebook*  showcasing what students have learned from this course!


Hubenthal, M., W. Bohon, and J. Taber (2020), A pandemic pivot in Earth science outreach and education, Eos, 101, Published on 02 December 2020.

Brudzinski, M., Hubenthal, M., Fasola, S., Schnorr, E. (2021). Learning in a Crisis: Online Skill Building Workshop Addresses Immediate Pandemic Needs and Offers Possibilities for Future Trainings. Seismological Research Letters. 92 (5): 3215–3230. doi:

We encourage the reuse and dissemination of the material on this site as long as attribution is retained. To this end the material on this site, unless otherwise noted, is offered under Creative Commons Attribution (CC BY 4.0) license