ESCI 7205 Data Analysis in Geophysics
Fall 2013
TuTh 13:00-14:30
CERI New/Long Building MAC - Student Computer Lab

Instructor: Bob Smalley
Office hours: when you see me in my office.

frequency domain view of traveling delta functions

Frequency Domain integrand and Fourier sum to the Time Domain (top 2 panels) of two traveling delta functions and (third panel) their combination showing sum of integrands on left and factorized into product of cos(kx) and cos(wt) terms on right showing how delta function position is determined by where they are "in phase" (Smalley, 2009).

Course Description:

The course provides an overview of common tools used by geoscientists.

Homework assignments are designed to develop a working knowledge of a wide range of computer tools.

Topics will include programming in MATLAB®,  UNIX (MacOS-X Darwin), Seismic Analysis Code (SAC), scripting (sh and csh), AWK/NAWK, Generic Mapping Tools (GMT), network tools such as FTP, VNC, X display, and Adobe Illustrator, EXCEL, Web page development, and an overview of Fortran and C.

The course will be "lab based", a short presentation followed by hands on programming exercizes on the CERI comptuer system for the remainder of the class period.


No "official" text. Some useful references and documentation follow.

Please see the web pages from previous years, , , for links to online textbooks, articles, tutorials, etc.

Course requirements:

Students must attend all labs. Class absences must be discussed PRIOR to the missed class.

Homework assignments must be handed in on time; 10% will be taken off for each day late.

The class will include completing a computer based research project that uses the tools discussed in class. The project can, but is not required to, be related to your primary research interest or topic. The project must be approved before starting work. The project should not also be used for another class you are currently taking. Each student will give a 20 minute presentation the last day of class.


70% homework, 10% class participation, 20% final project. There is no final exam.


Homework assignments will be posted on the class web page.


Each student will design, implement and present a small-scale data analysis project. The project should use programs and/or techniques discussed in the class. Geophysics data is preferred and a project releated to the student's own research is encouraged. Use of SAC, and/or MATLAB, and/or GMT as part of the project is mandatory. The topic should be discussed with me, decided on and approved no later than Nov 3rd. Each student will give a 20 minute PowerPoint presentation the last two days of class. The project should be thoroughtly documented and all scripts/programs/macros turned in as part of the project. There will be no final exam.


        (Clicking on links opens a pdf of the class. Notes are uploaded after class.)
Aug    27   Tu    LAB 1 - Matlab
Aug    29   Th    LAB 2 - Matlab
Sep    3      Tu    LAB 3 - Matlab
Sep    5      Th    LAB 4 - Matlab
Sep    10    Tu    LAB 5, SAC file reader by Greenfield & Battenhouse .
Sep    12    Th    LAB 6 - Matlab
Sep    17    Tu    LAB 7 - SAC.
Sep    19    Th    Lab 8 - plan was to watch IRIS webinar on data access tools. Webinar cancelled, Blaine winged it - same topic.
Sep    24    Tu    LAB 9 - SAC.
Sep    26    Th    LAB 10 - watch IRIS webinar on data products (first hour), continue with SAC.
Oct    1      Tu    LAB 11- SAC.
Oct    3      Th    LAB 12- UNIX.
Oct    8      Tu    LAB 13- finish UNIX, begin GMT.
Oct    10    Th    LAB 14- GMT.
Oct    15    Tu    Fall Break - NO Lab
Oct    17    Th    LAB 15 , download earthquake data from IRIS, etc. make map with symbol size proportional to magnitude and color by depth. lab exercise: replace the ellipses (...) with the appropriate values to make the map shown in the pdf file -
Oct    22    Tu    LAB 16 , make cross section of data plotted on map during last lab, with same symbol size and color properties. lab exercise: replace the ellipses (...) with the appropriate values to make the map shown in the pdf file - Example gmt2kml and kml2gmt -
Oct    24    Th    LAB 17 MATLAB GUI development, lab exercise, follow steps to build GUI
Oct    29    Tu    LAB 18, Programming practices and algorithms - part I - general (Demián).
Oct    31    Th    LAB 19, Programming practices and algorithms - part II - intro optimization, Ex: C&T FFT algorithm, speed through smarts.
Nov    5     Tu    Lab 20, MATLAB Parallelization toolbox. Speed through brute force. I will be out of town - Blaine
Nov    7     Th    LAB 21, AWK is awkward!
Nov    12   Tu    LAB 22, finish AWK
Nov    14   Th    LAB 23, Fortran
Nov    19   Tu    LAB 24, Fortran
Nov    21   Th    LAB 25, C/C++
Nov    26   Tu    LAB 26, C/C++
Nov    28   Th    Thanksgiving - NO LAB
Dec    3      Tu    Project presentations

(I sometimes make changes to the notes presented in class - based on questions/comments during the class or because I found something interesting. The files at the links above are therefore not completely static during the semester.)

        Sep    3      HW-1, Scan of program: translate synthetic seismogram program of stein & wysession to MATLAB, Due: Tu, Sep 10
        Sep  10      HW-2: Matlab, Due: Tu, Sep 17
        Sep  17      HW-3: SAC, Due: Tu, Sep 14
        Sep  19      HW-4: Obtaining data from IRIS then process with Matlab, Due: Tu, Oct 1. Updated. Sep 26, After you finish your record section, you will need to share your results (not code!) with your classmates to complete the comparisons.
        Oct  8        HW-5: GMT #1.
        Oct  23      HW-6: GMT #2. Due Tue 29.
        Oct  29      HW-7: GMT #2. Due Th, Nov 7. another sac file reader - get_sac by Tytgat with mods by Smalley.
        Nov 7        work on projects.
        Nov 12      work on projects.
        Nov 19     HW-8: Fortran. Due Th, Nov 26.

Links and other useful info:

        Getting started with Matlab: html, pdf

        Generic Mapping Tools (GMT)

        Seismic Analysis Code (SAC)

        Links to lots of stuff - 2011 class notes

       Fortran tutorial - Stanford
       Recursion in Fortran - Andrew Miller, Penn State


    Number representation
      Integer representations   
      Common Floating Point representations   
      Floating point Hidden Bit   

    Finding old web pages. An archive of some old links that have gone away. Beta version.

       Wayback page

    Missing links.

Just about everything on the Web is "under construction" as links are ephemeral. I usually link to the source pages, rather than offer a local copy. This means they can go away. Please report broken links. Some are recoverable, but many just disappear into the ether.

If you find this web site useful and have any questions, have found any errors, etc., please feel free to contact me - rsmalley at memphis dot edu