Data Analysis in Geophysics Introduction & Operating Systems
Course Description Basics of UNIX Matlab Shell Scripting Seismic Analysis Code (SAC) Generic Mapping Tool (GMT) Matlab GUIs C/C++, Fortran, and Compiling
Text Unix and Linux, Visual Quickstart Guide, 4rd addition Ray and Ray, Awk articles online GMT Manual (pdf) SAC Manual (pdf) Getting started with Matlab (pdf)
Grading 70% homework assignments 1 homework for each section of the class 2 homework assignments regarding Matlab, no homework on C & Fortran programming Each assignment will be passed out 1 ‐ 2 weeks before it is due and should be worked on throughout the given time period 10 % Attendance and participation
Grading 20% Final Project Each student will design, implement, and present a small- scale data analysis project The project should utilize multiple programs and/or techniques discussed in the class. Use of SAC and/or Matlab and/or GMT as part of the project is mandatory. Geophysics data is preferred and a project related to the student’s own research is encouraged Topic should be decided on and approved by me no later than Nov. 1 st Presentation of results will take place in lieu of a final exam on Dec. 6 th and 8 th The project should be thoroughly documented and all scripts/programs/macros will be turned in as part of the final grade
Class format Lectures will take place in the Long Building Seminar room Laboratories will take place in the House 3 UNIX laboratory Labs provide time for each student to practice the material covered in the preceding lectures and readings and answer any questions regarding the readings and homework assignments.
Questions?
What is an operating system (OS or O/S) ? Interface between Hardware and User Software (=program) designed to manage and coordinate activities and resources of the computer Controls hardware (memory allocation, fan control, internal and external drive input/output, keyboard and mouse interactions, etc.) Controls how other applications are implemented See:
Operating systems at CERI Solaris 10 UNIX House 3 Sun Lab, Long Building, many offices Graphical Desktop Environment options: Common Desktop Environment (traditional, deprecated) Java Desktop System (preferred) Mac OSX many faculty offices Windows XP Long Building, many student offices Linux Popular, open source version of UNIX (often described as UNIX-like) found on a number of machines at CERI, but not officially supported at CERI
Why learn Unix/Linux? Designed to be multi ‐ user and multi ‐ tasking Invented by and for scientific and professional computer users Powerful, flexible, and small Hardware independent History of free application development, including compilers Most common free applications designed as part of the GNU Project (GNU’s Not Unix)
The real reasons you learn Unix/Linux Resistance is futile (aka…because you have no choice) It is what is running most university geophysics departments Most geophysics tools (SAC, GMT, GAMIT/GLOBK, etc.) only run on Unix (~89% of the worlds computers run some form of Windows, 10% run some form of the Mac OS, and 1% run some flavor of Unix.)
A bit of history Originally developed at AT&T in the late 60s/early 70s Freely given to universities in the 70s Berkeley scientists continued to develop the OS as BSD Unix in parallel with AT&T, who eventually licensed it for commercial use Much development, branching, and combining has led to the most common variants (flavors in unix speak) See:
Common flavors Solaris 10 Unix Distributed by Sun Microsystems Derived from Unix System V release (AT&T) on a Unix kernel Mac OSX Distributed by Apple Derived from BSD Unix OS on a Mach kernel Linux Free and commercial versions available built on a Linux kernel Most likely to hear about commercially is RedHat #, Ubuntu*, Fedora*, Debian*, Suse* ‐‐‐‐‐‐‐‐‐‐‐‐ Windows XP Built on MS ‐ DOS operating system, which has nothing to do with Unix and everything to do with Microsoft Cygwin – unix/linux like environment for windows. Have to build everything from source.
Does this matter? No, the differences between Unix operating systems should not severely affect your work in this class or even much of your research at CERI
Does this matter? Yes, you need to be aware of OS differences when file sharing with others (this is more of a hardware, rather than an OS issue) when compiling source code (executable files are married to hardware) Or if frequently moving between the different systems at CERI
Be nice to your system administrators Bob Debula and Deshone Marshall are the system administrators for CERI computers Bob specializes on the Unix machines and Deshone is responsible for Mac/PC maintenance They keep the computers up ‐ to ‐ date and running efficiently so that we may work Major problems with the computers and printers should be submitted to Bob and Deshone via the CERI computer services request form on the CERI internal page
Accessing unix via SSH SSH: secure shell login is the preferred way to remotely log on to the CERI unix system; do not use telnet SSH is secure, easy and with X-tunneling enabled, you can view graphics just as if you were sitting at the remote machine Machines at CERI accept ssh access from all local Internet providers and other CERI and UoM addresses If you want access from out of town, you will have to send Bob Debula the IP address of the out-of- Memphis computer
Accessing unix via SSH Mac or Unix machine 1: open an X11 or Terminal window 2a: mac% ssh -Y 2b: unix% ssh -X 3: type CERI unix password at prompt PC 1: open the SSH application from the desktop or applications folder 2: enable X11 tunneling via the Settings menu (only do once) 3: click on Quick Connect 4: type in CERI host name and uuid, then password at prompt
Accessing unix via Exceed The PCs in the long building have a special terminal emulator program, called Exceed, for remote ssh access to the unix machines. Once you choose a unix machine via Exceed, the PC screen looks like the unix terminal and regular unix log-in applies Directions for Exceed setup can be found at html html