Start Here

A field guide to Earth Inversion

Explore the science.
Build the skills.

Learn how we study earthquakes, work with scientific data, and build useful software. Whether you're starting a class project, tackling a research question, or exploring AI, choose one tutorial below and work outward from there.

What brings you here?

One first step, then a path to keep going. You can switch paths at any time.

Build your foundation

I'm learning scientific Python

Move from Python basics to arrays, calculations, and the data skills used in research.

A little Python helps.

Start with NumPy arrays Continue with tutorial collections

Work with observations

I'm studying the Earth

Download seismic waveforms, then explore signal processing, earthquake location, and uncertainty.

Basic Python; new to ObsPy is fine.

Get your first seismic data Continue on the geoscience track

Turn ideas into tools

I'm building software

Follow a small API project through testing and deployment, or explore AI and scientific applications.

Comfort with Python is useful.

Build a FastAPI service Continue on the developer track

Ideas to explore next

Three ways to connect scientific questions with better tools and reproducible work.

Before you dive in

What is Earth Inversion?

Earth Inversion is Utpal Kumar's blog about seismology, scientific computing, and research software. It brings together explanations of scientific methods, Python examples, and practical project walkthroughs.

Do I need to know Python or geophysics?

It depends on the article. Concept explainers are a useful entry point without running code. Hands-on tutorials generally benefit from basic Python; the NumPy introduction is a good bridge to scientific arrays and data analysis. Seismology-specific workflows introduce their own tools and terminology.

Where can I find code and supporting files?

Look for code blocks and repository links in each article. The tutorial collections group related lessons, while Tools and Downloads gathers supporting resources. Check each project's requirements before running it: older tutorials may use different package versions.