Fall 2013

CERI New/Long Building MAC - Student Computer Lab

Office hours: when you see me in my office.

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).

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.

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.

Classes:

(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 - lab2gmt.sh

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 - lab3gmt.xc.sh. Example gmt2kml and kml2gmt - eqs2kml.master.sh

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.

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.

Mathworks

Getting started with Matlab: html, pdf

Generic Mapping Tools (GMT)

Seismic Analysis Code (SAC)

Links to lots of stuff - 2011 class notes

Fortran

Fortran tutorial - Stanford

history

Recursion in Fortran - Andrew Miller, Penn State

History

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