Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

The GeoScience MAchine Learning Resources and Training (GeoSMART) framework provides an educational pathway in open source scientific computing, general ML theory, toolkits, and deployment.

This book supports the course Machine Learning in the Geosciences (ESS 469/569) at the University of Washington. The book, tutorials, and homeworks live in this single repository; students run the notebooks locally or on a cloud service of their choice.

Instructors for ESS 469/569: Marine Denolle (mdenolle@uw.edu) and Akshay Mehra (akmehra@uw.edu).

The project is supported by the GeoSMART team.

OverviewΒΆ

The course introduces machine learning in the geosciences, the basics of computing, and applied ML methodology. It works with canonical and topical data sets in seismology, oceanography, cryosphere, planetary sciences, geology, and geodesy. The methods taught include unsupervised clustering, logistic regression, random forest, support vector machines, and deep learning with PyTorch.

The course rests on three pillars, plus a fourth layer that runs through everything in the 2026 edition:

  1. AI-ready data: turning raw geoscientific observations into data sets a model can learn from.
  2. Classic machine learning: feature-based methods, trained and evaluated honestly.
  3. Deep learning: neural networks in PyTorch, from perceptrons to modern architectures.
  4. Working with agentic AI: students in 2026 write code alongside AI assistants that read repositories, run code, and propose changes. The course treats this as a skill to be taught, not a shortcut to be policed. Critical evaluation of AI output, translation of results for different audiences, and articulation of downstream impact are graded skills, on the same footing as model accuracy.

Who this book is forΒΆ

PhD students and senior undergraduates across the geosciences and adjacent engineering and computer science, plus the professors, postdocs, lab scientists, and program staff who train or hire them. A completer can take a raw, messy geoscience data stream to a defensible, reproducible, honestly evaluated model β€” and can say exactly which parts an AI assistant did.

Learning outcomesΒΆ

By the end of the book, students will be able to:

#OutcomeBloom levelWhere in the bookGraded artifact
1Describe the canonical uses of ML across the geosciences (discovery, automation, signal processing, emulation, forecasting) and match method families to data type, sample size, and questionUnderstandchapter readmes, 3.1timed Canvas quizzes
2Build reproducible computational environments (Git, pixi, notebooks) and run the same workflow on a laptop, HPC, or cloud instanceApplyChapter 1, 5.4HW1 workbench setup
3Transform diverse raw data streams β€” sensor time series from daily sampling to 100 Hz, geospatial imagery and gridded fields, tabular and point observations β€” into AI-ready datasets, and repair real instrument pathologies (gaps, drift, timing errors, irregular sampling, label noise)Analyze / CreateChapter 2Chapter 2 exercises, final project data section
4Apply signal-processing and statistical transforms (filtering, Fourier and wavelet transforms, resampling, dimensionality reduction) and predict their effect on what a model can learn downstreamApply / Evaluate2.6–2.12Chapter 2 exercises
5Design the evaluation before the model: choose domain baselines, construct leakage-aware splits (temporal, spatial, grouped), and report metrics with uncertaintyEvaluate / CreateChapter 3 (spatial and grouped CV in 3.8), leaderboardleaderboard (3.5, 4.10), homework
6Construct and train classic ML and deep models (regression, forests, boosting; MLP, CNN, RNN, transformer, autoencoder) in scikit-learn and PyTorch, and diagnose good versus failing training runsApply / Create / AnalyzeChapters 3–4classic-ML and deep-learning homework, 4.5 lab
7Exploit physical knowledge as a data asset: generate synthetic training and benchmark data from physical models, embed physical constraints in losses and architectures, and validate against known ground truthCreate / Evaluate2.10, 4.7, mlgeo_synth4.5 lab, 6.3 eval-set exercise
8Quantify predictive uncertainty (bootstrap and ensembles, MC dropout at inference, quantile and distributional outputs), check calibration, and judge when a model is extrapolating beyond its training distributionEvaluatewoven through Chapters 3–4 (3.8–3.9, 4.5, 4.10)Chapter 3–4 exercises, final project
9Version and track data, models, and experiments so another scientist reruns the pipeline and gets the same numbersApply / EvaluateChapter 5final project repository (30%)
10Evaluate AI agents and LLM output as scientific instruments: write a task spec, build an eval set with ground truth, score outputs, and analyze failure modesEvaluate / CreateChapter 66.3 eval-set exercise, review-agent capstone
11Integrate AI assistance into research while keeping intellectual ownership: disclose use, verify outputs, and defend every methodological choice without the assistantApply / Evaluate1.8, 6.4disclosure statements, presentations
12Translate the same result for distinct audiences and appraise the downstream uses and consequences of a deployed modelCreate / EvaluateChapter 7final project deliverables (7.1, 7.2)

Data visualization concepts are introduced and used throughout the book.

PrerequisitesΒΆ

Prerequisites: MATH 207 and MATH 208, or MATH 307 or 308, or AMATH 351 or 352, CS160 or CS163, or permission from the instructor.

Recommended skills: Knowledge of Python, AMATH301, 100- or 200-level courses in the Earth sciences. We provide refreshers on computing as part of the course.

SyllabusΒΆ

Later chapters extend the pillars: reproducible workflows in the agent era (Chapter 5), building and evaluating AI agents (Chapter 6), and use cases, audience translation, and downstream impact (Chapter 7).

Technical skills buildingΒΆ

Throughout the course, students build skills in shell, version control with git and GitHub, Python programming, high performance computing, and data visualization in Python.

Readings: from papers to a review agentΒΆ

Reading assignments follow a four-stage arc across the quarter:

  1. AI-assisted literature review: students drive an AI assistant through a literature review on an assigned topic and verify every citation themselves.
  2. Anatomy of good scientific papers: dissect exemplar papers β€” what makes methods defensible, figures honest, and claims supported.
  3. Build your own quality standards: through class discussion, each student writes an explicit quality rubric in their declared genre β€” journal paper or stakeholder deliverable, matching the two final-project tracks.
  4. Build a pre-submission review agent: students turn their rubric into a review agent and test it with the evaluation machinery of Chapter 6 (task spec, eval set, failure analysis) against papers with known strengths and flaws.

Week-by-week scheduling for the arc lives in the course syllabus.

Course infrastructureΒΆ

This book contains all tutorials and homeworks. Students work in VS Code or JupyterLab with an agentic AI assistant, keep their work on GitHub, and manage software environments with pixi. To build the book locally:

pixi install
pixi run build

Each student creates a personal course repository named MLGEO2026_UWNETID, copies the environment files from this book into it, and keeps homeworks and project work there under version control.

LicensesΒΆ

The text and figures of this book are licensed under Creative Commons Attribution 4.0 (CC-BY-4.0). The code, including the source code in the notebooks, is licensed under the MIT License. You may reuse and adapt both with attribution.

AuthorsΒΆ

Marine Denolle, Nicoleta Cristea, Akshay Mehra, Ariane Ducellier, Ziheng Sun, Stefan Todoran, Scott Henderson, and Claire Jensen.

Everyone else who contributed β€” the GeoSMART team, repository contributors, course staff and students, and translation reviewers β€” is credited in Acknowledgements, where the authors are also listed with their ORCIDs and affiliations. Citation metadata lives in CITATION.cff; how to cite this book explains the DOI situation.