Seismology & Geophysics Tutorials

Learn from seismic data, one workflow at a time. Practical tutorials for students and researchers in seismology and geophysics. Start with ObsPy and waveform quality, work through signal processing and earthquake inference, or explore machine-learning pickers and monitoring workflows. Choose a path for your next class project, analysis, or research question.

Find your starting point Browse all geoscience posts Explore tutorial collections

Choose a path

Start with observations

Waveform data & ObsPy

Get seismic data onto your machine, inspect its metadata, and make your first waveform and noise plots.

  1. Download and save waveforms with ObsPy
  2. Plot a record section across stations
  3. Inspect station noise with PPSD

Basic Python helps. The examples introduce seismic file formats and station metadata.

Understand the methods

Signals & earthquake inference

Connect frequency-domain processing to inverse problems, sampling, and earthquake-location uncertainty.

  1. Explore Fourier analysis and filtering
  2. Build intuition for MCMC with Python
  3. Understand probabilistic location with NonLinLoc

Worked examples and method guides. Familiarity with arrays and basic probability helps.

Explore research workflows

Seismic ML & monitoring

See how picking fits into a catalog pipeline, try a pretrained model, and assess learned waveform representations.

  1. Follow a modern seismic monitoring pipeline
  2. Pick P and S arrivals with SeisBench
  3. Explore autoencoders for seismic waveforms

Build on waveform basics. Check model assumptions and evaluate results on your own research data.

Build your research toolkit

New to scientific Python? Start with NumPy arrays and vectorization. For figures and maps, explore PyGMT topographic mapping and the plotting collection. Find supporting files in tools and downloads, or get new Earth Inversion tutorials by email.

All posts on this track (100)

Prefer one chronological stream of everything? See all recent posts.

2026 9

A monitored building with a cracked lower joint and a slower vibration trace, suggesting a loss of stiffness.

When Frequency Changes Signal Structural Damage

15 minute read      STRUCTURAL-HEALTH-MONITORING     

An unexpected drop in a building’s natural frequency is the structure reporting that it has lost stiffness — usually the first sign of damage. Here is why to...

Seismic waveform ribbons converge into a shared learned representation and branch into several task-specific outputs.

From Phase Pickers to Seismic Foundation Models

12 minute read      DEEP-LEARNING     

Foundation models ask whether one pretrained representation of seismic waveforms can support picking, detection, classification, and other downstream tasks—w...

A winding trail of sample points crosses a foggy probability landscape and gathers densely around its high ground.

Markov Chain Monte Carlo for Geoscientists

14 minute read      GEOPHYSICS     

An intuitive guide to MCMC: a walker in the fog whose footprints map the posterior. We build a Metropolis sampler from scratch, check it against an exact ana...

An irregular earthquake-location probability cloud within a cutaway Earth volume and adaptive search grid.

Probabilistic Earthquake Location with NonLinLoc

11 minute read      GEOPHYSICS     

How NonLinLoc locates earthquakes by mapping a full probability density over the search volume instead of iterating to a single point — the Bayesian idea, th...

2025 1

2024 9

Understanding MEMS Accelerometers

Understanding MEMS Accelerometers

4 minute read      BLOGGING     

While MEMS accelerometers offer advantages in cost, size, and deployment flexibility compared to traditional broadband seismometers, they face limitations in...

2023 3

2022 6

How to read tabular data from a text file in Fortran

How to read tabular data from a text file in Fortran

6 minute read      GEOPHYSICS     

A step-by-step Fortran program to read a formatted tabular Earth-model file — count the rows, allocate arrays, then read the columns and find the discontinui...

2021 39

How to deal with irregularly sampled time series data

How to deal with irregularly sampled time series data

6 minute read      TECHNIQUES     

While analyzing time series data, we often come across data that is non-uniformly sampled, i.e., they have non-equidistant time-steps. Infact, most of the re...

Plotting a record section using Obspy (codes included)

Plotting a record section using Obspy (codes included)

11 minute read      GEOPHYSICS     

Quickly plot record section of a stream using Obspy. I will introduce you how to make a stream from a set of SAC data, plot the record section and store it a...

Least-Squares Method in Geosciences (codes included)

Least-Squares Method in Geosciences (codes included)

12 minute read      GEOPHYSICS     

Least-squares method is a popular approach in geophysical inversion to estimate the parameters of a postulated Earth model from given observations. This meth...

2020 30

Time-Frequency Analysis in MATLAB (codes included)

Time-Frequency Analysis in MATLAB (codes included)

8 minute read      GEOPHYSICS     

A signal has one or more frequency components in it and can be viewed from two different standpoints: time-domain and frequency domain. In general, signals a...

Exploratory Factor Analysis (codes included)

Exploratory Factor Analysis (codes included)

7 minute read      GEOPHYSICS     

Factor Analysis is an exploratory data analysis method used to search influential underlying factors or latent variables from a set of observed variables

Time Series Analysis in Geophysics (codes included)

Time Series Analysis in Geophysics (codes included)

5 minute read      GEOPHYSICS     

Time-series analysis is essential in most fields of science, including geophysics, economics, etc. Most of the geophysical data comes in a time-series format...

GMT tutorial for beginners (codes included)

GMT tutorial for beginners (codes included)

5 minute read      UTILITIES     

The Generic Mapping Tools is widely used across Earth and Planetary and other fields of studies to process data and generate high-quality illustrations. This...

Writing NetCDF4 Data using Python (codes included)

Writing NetCDF4 Data using Python (codes included)

6 minute read      UTILITIES     

NetCDF file format has been designed for storing multidimensional scientific data such as temperature, rainfall, humidity, etc. In this post, we will see how...

Reading NetCDF4 Data in Python (codes included)

Reading NetCDF4 Data in Python (codes included)

10 minute read      UTILITIES     

In Earth Sciences, we often deal with multidimensional data structures such as climate data, GPS data. It ‘s hard to save such data in text files as it would...

Numerical Tests on Travel Time Tomography [MATLAB]

Numerical Tests on Travel Time Tomography [MATLAB]

10 minute read      GEOPHYSICS     

Introduction to the concepts of tomography with equations and codes. Introduction to the concepts of overdetermined, underdetermined and mix-determined probl...

2019 3

Geoscientist who codes?

The developer track has tooling and infrastructure posts you may find handy: