Start Here

Welcome! Earth Inversion has 140+ in-depth tutorials. Rather than scrolling the archive, pick the path that matches where you’re coming from — each one is ordered from first steps to advanced topics.

🌍 I’m an earth scientist / student

Learn the computational side of seismology, from classic inversion to modern probabilistic methods.

  1. Locating earthquakes with Geiger’s method — the classic algorithm behind hypocenter location
  2. Monte Carlo methods and earthquake location — when the problem gets non-linear
  3. Genetic algorithm: a robust inversion scheme — global optimization for geophysical problems
  4. Probabilistic earthquake location with NonLinLoc — the modern, Bayesian way
  5. Modern seismic monitoring systems — how it all fits together in real networks

Go deeper: seismic resolution, travel-time tomography, cross-correlation between seismograms.

💻 I’m a developer / data scientist

Use earth-science data as your playground — it’s open, global, and streams in real time.

  1. Interactive maps with PyGMT: high-resolution topography — make your first beautiful earth-data plot
  2. Reading NetCDF4 data in Python — the file format of climate and geoscience
  3. Time-series filtering and smoothing — core signal-processing skills
  4. Signal denoising with FFT — from noisy to clean in a few lines
  5. SeismoAlert: a real-time earthquake monitoring toolkit — build a full monitoring pipeline

Go deeper: turn your computer into a home server, reading research papers with LLMs, PyTorch for geophysicists.

🧭 I’m curious about earthquakes

No code required to start — these explain the ideas.

  1. Modern seismic monitoring systems — how the world watches for earthquakes, 24/7
  2. Probabilistic earthquake location with NonLinLoc — how scientists pinpoint where an earthquake happened
  3. Seismic resolution — what we can (and can’t) see inside the Earth
  4. Check the live earthquake map on the home page — real events from the past 24 hours

❓ Frequently asked questions

What is Earth Inversion about?

Earth Inversion is a teaching blog on computational seismology, structural health monitoring, and scientific software engineering, written by Dr. Utpal Kumar (UC Berkeley Seismological Laboratory). It covers earthquake science, Python for data analysis, geophysical signal processing, and the software engineering that makes research reproducible.

Do I need a geophysics background to read this blog?

No. Most tutorials teach from first principles with plain-language summaries, key-idea boxes, and interactive quizzes. Developers can start with the Python and data-analysis paths; earth scientists can dive straight into the seismology tutorials.

How do earthquakes get located?

Seismic stations record the arrival times of earthquake waves. By combining arrival times from several stations with a model of how fast waves travel through the Earth, algorithms triangulate the origin. The blog covers classic methods like Geiger's method and modern probabilistic approaches like NonLinLoc.

What tools does the blog teach?

Python (ObsPy, NumPy, PyGMT, Matplotlib, FastAPI), MATLAB for signal processing, GMT for maps, and general research tooling — Git/GitHub workflows, cloud and home servers, and machine learning applied to earth science.

Disclaimer of liability

The information provided by the Earth Inversion is made available for educational purposes only.

Whilst we endeavor to keep the information up-to-date and correct. Earth Inversion makes no representations or warranties of any kind, express or implied about the completeness, accuracy, reliability, suitability or availability with respect to the website or the information, products, services or related graphics content on the website for any purpose.

UNDER NO CIRCUMSTANCE SHALL WE HAVE ANY LIABILITY TO YOU FOR ANY LOSS OR DAMAGE OF ANY KIND INCURRED AS A RESULT OF THE USE OF THE SITE OR RELIANCE ON ANY INFORMATION PROVIDED ON THE SITE. ANY RELIANCE YOU PLACED ON SUCH MATERIAL IS THEREFORE STRICTLY AT YOUR OWN RISK.