Getting started with obspy: downloading waveform data (codes included)
Obspy is an open-source Python framework developed for the processing of seismological data. In this post, I will introduce how to use Obspy along with some ...
For seismologists, geophysicists, and earth scientists who work with data. This track collects the blog's seismology and geoscience content — earthquake location methods, ObsPy workflows, signal processing on waveforms, GMT/PyGMT mapping, and the instrumentation and monitoring posts — with working code you can run on your own data.
ObsPy, Methods & Plotting series Tools & downloads All posts
Obspy is an open-source Python framework developed for the processing of seismological data. In this post, I will introduce how to use Obspy along with some ...
Simple earthquake location problem and its solution using Geiger’s method
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...
A tour of how modern earthquake-monitoring systems turn continuous seismic waveforms into earthquake catalogs — the ML pipeline of picking, association, and ...
A hands-on tutorial on plotting a high-resolution topographic map in Python with PyGMT — built up one layer at a time, with interactive checks.
Prefer one chronological stream of everything? See all recent posts.
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...
A tour of how modern earthquake-monitoring systems turn continuous seismic waveforms into earthquake catalogs — the ML pipeline of picking, association, and ...
I built SeismoAlert to fetch USGS earthquake data, run statistical analysis, detect anomalies, and generate interactive maps from a single CLI.
The San Francisco Bay Area combines high seismic hazard, dense urban exposure, and aging infrastructure. Structural Health Monitoring can improve post-earthq...
Cloud computing is transforming geophysical and seismological research by enabling scalable processing, faster collaboration, and reproducible workflows for ...
A practical introduction to Docker for geophysics students, including images, containers, volumes, and a simple workflow for reproducible seismic data analys...
Discover how Genetic Algorithms can be applied to solve the earthquake location problem in seismology. This post walks through generating synthetic seismic d...
While MEMS accelerometers offer advantages in cost, size, and deployment flexibility compared to traditional broadband seismometers, they face limitations in...
While MEMS accelerometers offer advantages in cost, size, and deployment flexibility compared to traditional broadband seismometers, they face limitations in...
Scientists have found compelling evidence for low-frequency gravitational waves permeating the entire universe, opening a new window into cosmic phenomena. T...
The advent of low-cost Microelectromechanical Systems (MEMS) sensors has revolutionized Structural Health Monitoring (SHM) of buildings, enabling cost-effect...
Learn how to use RabbitMQ with Python to publish and consume seismic waveform messages reliably in real time for distributed seismology workflows.
The Metropolis-Hastings algorithm is a cornerstone of Markov Chain Monte Carlo (MCMC) methods, enabling us to generate samples from complex probability distr...
Explore the Multi-Taper Method’s unique ability to refine spectral estimates in seismology. Leveraging multiple orthogonal tapers, this approach minimizes va...
In this article, we will learn how to visualize the great circle paths that traverse a designated region of interest using PyGMT. Understanding these paths i...
Python script to read a PDF document, and perform question-answering on the document, and to generate an output based on the provided query
We will plot the boundaries of the states of the USA on a basemap figure
We will see how to read a YAML file in Bash, C/C++ and Python.
Using multiple threads in C for concurrent process flow
We will inspect the L-BFGS optimization method using one example and compare its performance with the gradient descent method
We will see how to plot a topographic map, overlay earthquake data on topographic maps, plot focal mechanism solutions and plot tomographic results on a geog...
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...
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...
Read the earthquake data from a data file and overlay on a three-dimensional topographic map using PyGMT.
We will see how we can read a large data file with earthquake catalog in Python using the Dask library
We will see compare the convolution functions in Python (Numpy) with the conv function in MATLAB. If you have tried them both then you would know that its no...
We will learn the basics of the maximum likelihood method, and then apply it on a regression problem. We will also compare it with the least-squares estimati...
The boundary value problems require information at the present time and a future time. We will see how we can use shooting method to solve problems where we ...
Librosa can efficiently compute the spectrogram for large time series data in seconds. We will use that to plot the spectrogram using matplotlib
We learn how to plot selected shapefile data using geopandas on top of PyGMT maps
Runge-Kutta methods are most popular method to solve ordinary differential equations (ODEs) with a better approximation than the Euler method. We compare the...
The simplest algorithm to solve a system of differential equations is the Euler method. We understand the Euler method by looking into a simple heat transfer...
How you can plot the shear-wave splitting measurements from splitting database using PyGMT.
Uses pandas to read the html page and extract the html data into pandas dataframe
Read the earthquake data from a csv file and overlay on a topographic map using PyGMT.
In this post, we will see how can we retrive the available seismic waveforms information for a given network, station, channel and client in a given period o...
The Newton–Raphson method (commonly known as Newton’s method) is developed for finding roots of a given function or polynomial iteratively. We show two examp...
We see how to download seismic waveforms, convert them into mat format from mini-seed and then perform denoising using wavelet analysis. We first performed w...
We will learn the basic concepts of wavelet tranform and multi-resolution analysis starting from the Fourier Transform, and Gabor Transform.
Empirical Orthogonal Functions analysis decomposes the continuous space-time field into a set of orthogonal spatial patterns along with a set of associated u...
I concatenate the daily seismic traces for 15 days into one miniseed file for further analysis. Then I obtained the spectrogram of the 15 days seismic data. ...
Read the seismic traces from the miniseed files and compute the cross-correlation and spectrogram
Use Principal Component Analysis (via SVD) to decompose a space-time signal into a few dominant modes and reduce its dimensionality, with Python code.
We will learn the basics of Fourier analysis and implement it to remove noise from the synthetic and real signals
We will learn how to convert a mseed data file into mat format and then read and analyze it using MATLAB
In this introduction to the concepts of Pytorch data structures, we will learn about how to create and reshape tensors using Pytorch and compare it with the ...
This tutorial gives a brief description of scientific computing using Pandas by introducing Series, DataFrame, Pandas common operations, methods, conditional...
I used the sktime library to forecast the airline data using NaiveForecaster, KNeighborsRegressor, Statistical forecasters, and auto ARIMA model.
We learn how to make the three-dimensional map using both GMT and PyGMT
An introduction to the wavelet analysis for a real geophysical data set. I compared the analysis to the Fourier analysis. Codes included!
GMT or generic mapping tools have become synonymous with plotting maps in Earth, Ocean, and Planetary sciences. It can be used for processing data, generatin...
An introduction to the basics of genetic algorithm along with a simple numerical example and solution of an earthquake location problem
An introduction to the basics of genetic algorithm along with a simple numerical example and solution of an earthquake location problem
In geophysics, it is important to understand and identify the complex and unknown relationships between two time-series. Cross-correlation is an established ...
The common geophysical problems most often have multimodal objective function with many possible minima. In this post, we will look into the Monte Carlo meth...
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...
This post gives a quick introduction on how to build a web application using Flask and deploy on Heroku server. Then, I share my codes for building advanced ...
In this post, I will read a ASCII file whose first few lines contains the header information and then the three-component data. I will read using the pandas ...
Least-squares method is a popular approach in geophysical inversion to estimate the parameters of a postulated Earth model from given observations. This meth...
Parallel computing is quickly becoming a necessity. Modern computers comes with more than one process and we most often only use single process to do most of...
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...
We pose a null hypothesis and enquire that given that the null hypothesis is true, how likely is the observed pattern of results? This likelihood is known as...
Most often data analyst consider correlation between two time-series as a causation effect. Two time-series are correlated that does not imply that one cause...
Numerical tests to understand the degrees of freedom in time series
Seismic resolution and fidelity are the two important measures of the quality of the seismic record and the seismic images. Seismic resolution quantifies the...
Simple earthquake location problem and its solution using Geiger’s method
Factor Analysis is an exploratory data analysis method used to search influential underlying factors or latent variables from a set of observed variables
This post is aimed to resolve the issues regarding the conflicts of using obspy and basemap libraries together.
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...
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...
Obspy is an open-source Python framework developed for the processing of seismological data. In this post, I will introduce how to use Obspy along with some ...
We demonstrate how to model a simple wave, obtain its frequencies, apply Hilbert transform, and perform edge detection
NetCDF file format has been designed for storing multidimensional scientific data such as temperature, rainfall, humidity, etc. In this post, we will see how...
In this post, we will see how we can use Python to low-pass filter the 10 year long daily fluctuations of GPS time series. We need to use the “Scipy” package...
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...
A hands-on tutorial on plotting a high-resolution topographic map in Python with PyGMT — built up one layer at a time, with interactive checks.
Short demostration of how to plot the distance vs seismic waveforms and mark the P and S arrival times using the IASP91 earth model. Codes are included.
Short demonstration of how to plot the track or trajectory of a hurricane on a map. Codes are included.
Short demonstration of the ppsd class defined in Obspy using 3 days of data for station PB-B075
Python code to automatically plot the record section for the highest magnitude earthquake in the given time range
Introduction to the concepts of tomography with equations and codes. Introduction to the concepts of overdetermined, underdetermined and mix-determined probl...
We test for the correlation coefficients or the covariance between two sets of random numbers selected from normal distribution using the Monte Carlo simulat...
Visualize the statistics of the data using MATLAB: mean, median, std, interquartile range, skewness, kurtosis, t-statistic, degrees of freedom
Using Randomization to test the disprove the null hypothesis
This post demonstrate how to use Python to set up clip topographic map based on coastlines.
Generating GMT style shaded relief map in Python
In geosciences, we most frequently have to make geospatial plots, but the available data is unevenly distributed and irregular. We like to show the data, in ...
We read the station information from a file to plot the 1 arc-minute relief map
How to fit data to non-linear model
Plotting 1 arc-minute topographic map in python
Two time series with predominant linear trends (very low DOF) can have a very high correlation coefficient, which can hardly be construed as an evidence for ...
Plotting publishable quality maps using generic mapping tools (GMT)
Plotting publishable quality maps using generic mapping tools (GMT)
The developer track has tooling and infrastructure posts you may find handy:
Earthquake location, waveform processing, mapping, and the methods behind them — with working code for your own data. Unsubscribe anytime.