Julia for geoscience

In this tutorial, we will introduce the Julia programming language to the geoscience community, covering topics such as I/O, data processing, inversion, and machine learning. We will begin by installing Julia and relevant packages. Through a series of tutorials, we will demonstrate Julia's abstraction power and show how to load and plot data, write your own functions/operators, form and solve a geophysical inverse problem, and demonstrate how to integrate wave-equation solvers in Julia with machine learning frameworks. The intent of this presentation is to provide an introductory level tutorial that will be useful to members of the geoscience community.


  • Ziyi Yin - Georgia Institute of Technology


This tutorial has been made possible by the collaborative work of a number of contributors:

  • Mathias Louboutin, Ali Siahkoohi, Gabrio Rizzuti, Ziyi Yin, Rafael Orozco, Felix J. Herrmann at Georgia Institute of Technology
  • Philipp A. Witte at Microsoft Research for Industry (alumni of SLIM group)
  • Henryk Modzelewski at the University of British Columbia


The software packages used in the tutorial are located in the Seismic Laboratory for Imaging and Modeling (SLIM) public GitHub Account https://github.com/slimgroup, more information about the SLIM group is at https://slim.gatech.edu/.

What you’ll need

Executed Tutorial Notebooks