From Madagascar
Jump to navigation Jump to search


SEG Working Workshop - Python and Julia for Geophysics - August 8-11, 2018

In late August, 16 participants from 12 organizations collaborated at the University of Houston to learn how program geophysical applications using Python and Julia. These languages are good for prototyping and applying selected geophysical algorithms. Our goal was to promote more widespread use of these languages.

Working Workshops as opposed to "talking workshops" are meetings where the participants work in small teams to develop new software code or to conduct computational experiments addressing a particular problem.

This is the sixth year that TCCS has organized working workshops where small groups collaborate to develop software or conduct computational experiments addressing a particular problem. This year participants were students, academic staff, and industry professionals. Projects included machine learning, 3D plotting, parallel processing, wave equation modeling, and well log analysis. For more information visit http://www.ahay.org/wiki/HoustonWW2018.


Python and Julia are good languages for prototyping and applying selected processing. Lack of good examples that read geophysical data, interface to legacy processing systems, and implement common algorithms are obstacles to more widespread use of these languages in the geophysical community. The objective of this working workshop is to identify and address these obstacles and promote more widespread use of the languages.

Participants brought their laptops and formed small groups. They picked projects and started to make examples of geophysical applications written in Python and Julia. About once a day we all checked in to talk about progress. Sometimes participants collaborated with different groups. After two and a half days we shared results in a lightning talks (five minute presentations). Everyone left the workshop with some new skills, ideas, and acquaintances.

The working workshop provided a forum for geophysicist to learn, contribute, and network.

Link to the original workshop invitation is HoustonWW_2018_i


  • Wednesday afternoon August 8, 2018 1:00-6:00 PM. Optional work session to configure your computer and install open seismic software
    • Do you want help getting your computer up to speed before the working workshop? Come for informal, one-on-one assistance to:
      • Install Linux on your computer.
      • Configure Linux/OSX on your computer.
      • Install Seismic Unix on your computer
      • Install Madagascar on your computer.
      • Install Jupyter and python on your computer.
      • Install a virtual Linux system on your Windows computer that will allow you to experiment with a Linux development environment.
  • Thursday August 9, 2018 (working workshop starts)
    • 8:30-9:00 Coffee
    • 9:00-10:00 Introductions, project proposals, and team formations
    • 10:00-12:00 Breakout into work teams
    • 12:00-1:00 Lunch (provided)
    • 1:00-2:00 Group discussion
    • 2:00-5:30 Breakout into work teams
  • Friday August 10, 2018
    • 8:30-9:00 Coffee. Reform teams.
    • 9:00-12:00 Breakout into work teams
    • 12:00-1:00 Lunch (provided)
    • 1:00-2:00 Group discussion
    • 2:00-5:30 Breakout into work teams
    • 6:00-8:00 Dinner
  • Saturday August 11, 2018
    • 8:30-9:00 Coffee. Reform teams.
    • 9:00-12:00 Breakout into work teams
    • 12:00-1:00 Lunch (provided)
    • 1:00-2:00 Finalize lightning talks
    • 1:00-3:00 Lighting talks

Synopsis of Results with Links

Summary of all workshop presentations

Presentation summarizing all the individual presentations is at the link [1].

Derek Parks

Some participants found the current BIOS on Windows computers would not allow them to boot Linux from a USB solid state disk. Derek created a virtual system that provided a platform that performed for the workshop. This virtual system can be downloaded at the link [2]. Derek provided updates to python files in Madagascar required to make the system run under Python 3.

Derek Parks and Mark Mlella

Derek and Mark created Jupyter notebooks with Python to read the Teapot Dome 3D segy final volume and displayed using Matplotlib and Mayavi. They also read horizon data which they used to flatten horizons and display stratal slices. They created the amplitude envelope and spectral decomposition volumes and displays. Their presentation is available at the link [3].

Matt Griffiths

Matt experimented with Apache Spark, a parallel processing tool, that can be used on seismic data. Spark can be run on a cluster of a single PC with multiple cores. He found it easy to covert his code to run in parallel. His Principle Component Analysis ran about 3 times faster on his computer. His presentation is available at the link [4].
His spark code is at the link [5].
Matt also experimented with a simple 3D seismic viewer based on pywidgets and matplotlib. This code is available at the link [6].

Rafael Pinto and Thu Nguyen

Rafael and Thu processed wells from the Poseidon project in the NW Shelf Australia. They used lasio to read the data into a Panda data frame, then loaded the data into an sql database. Lasio processes logs from a single well. The sql database is good to manipulate multiple wells on a project. They visualized cross plots in matplotlib and datashader. Datashader plots were better. Their jupyter notebook can be downloaded from this link [7].

Lian Jiang

Lian worked on Facies classification using Machine Learning. He used a neural net to address the ML challenge data set from the Brendan Hall's Leading Edge Article. Ran trading experiments searching for the best results varying hyper parameters like learning_rate, epochs, and batch_size. Encouraging results are in his presentation at [8].

Carlos da Costa

Carlos provided a new viewer for Madagascar. Sfpgreywfl, written in python, will plot a wavefield with a velocity background. He also wrote a julia version of acoustic finite difference wave equation modeling. This programs are being added to the Madagascar repository. His presentation can be downloaded by the link [9]

Sergey Fomel

Madagascar already had example of acoustic finite difference wave equation modeling in C, C++, and Fortran90. Sergey Fomel implemented the same algorithm in Python. and benchmarked the program in all the languages These are described in the presentation: [10].

Contact us

If you have some ideas about future working workshops, tell us about it! Send email to seismic.working.workshop@gmail.com.

Workshow Location and Dates

The workshop was held in rooms 218 and 219 in Farish Hall at the University of Houston. August 8-11, 2018.

Supporting Organizations

Bureau of Economic Geology, University of Texas at Austin


Society of Exploration Geophysicists

SEG Logo Horizontal SM.png

SEG Wavelets

SEG Wavelets is the University of Houston's SEG student chapter. It is devoted to promoting education in exploration geophysics. We work with professional organizations, industry professionals, University of Houston faculty, and other student organizations to bring students educational, social, and possible future employment opportunities. More details can be found on our website.