GPGN 535 — Geophysical Computing

An advanced course in computer programming, especially for graduate students in Geophysics at Mines.


Geophysicists today use some of the most powerful computers in the world. This is partly because geophysical data volumes are vast and growing. Another reason is that raw geophysical data are not easily understood, and typically require substantial processing, visualization and analysis before we can make sense of them.

This course emphasizes computational solutions most applicable to geophysical problems that require multidimensional image processing, interpolation and gridding of sparse data, and numerical solutions to partial differential equations. Our solutions will include aspects of multi-language programming, efficient algorithms, data structures beyond simple arrays, memory management, multicore parallel computing, and graphical visualizations.

A large part of this course is the application of these solutions to problems encountered by students in their own research. Although this course is designed for graduate students in geophysics, others with a strong interest in scientific computing are welcome with permission of the instructor.

Spatial interpolation of atmospheric CO2 data provided by the National Oceanic and Atmospheric Administration, superimposed on an Intel Tera-scale chip with 80 processing cores.

Time and place

Mondays, Wednesdays, and Fridays, 9:00-9:50 am; GC 281


No text is currently required for this course.


Your course grade will be based on

  • your programming solutions to assigned problems
  • your programs for your own research problems
  • in-class presentation of your programs
  • in-class reviews of solutions by others


Week Dates Subjects
0 08/21-08/23 benchmarking and portability
1 08/26-08/30 mixed-language computing
2 09/02-09/06 2D image processing
3 09/09-09/13 3D image processing
4 09/16-09/20 multicore parallel computing
5 09/23-09/27 SEG (no classes)
6 09/30-10/04 computer memory hierarchies
7 10/07-10/11 image processing with FFTs
8 10/16-10/18 code reviews(and Fall Break)
9 10/21-10/25 code reviews
10 10/28-11/01 finite-difference approximations
11 11/04-11/08 distance maps
12 11/11-11/15 interpolation of scattered data
13 11/18-11/22 spatial data structures
14 11/25 code reviews (and Thanksgiving)
15 12/02-12/04 code reviews (and Dead Day)