next up previous print clean
Next: Discussion Up: A virtual laboratory Previous: Interactivity

Concrete software tools

Java I discuss my reasons for using Java in http://sepwww.stanford.edu/sep/matt/jest.

Jest: An inversion library Jest Schwab and Schroeder (1997) shows that Graphics, regularly sampled data, irregularly sampled data, solvers, operators are important geophysical software units with well-definable interfaces. Especially, the separation of solvers and operators permit mathematicians and geophysicist to easily collaborate without inhibiting each other. I believe Jest will become even more attractive in the future when we consider more complex inversion problems integrating various vastly different data sets (well logs, seismic, pump tests, etc) into a single Earth model.

Editor The Emacs editor and its commands have become a powerful pseudo-standard. My shell (Tcsh), my debugger (GDBM), my version control tool (RCS) all use the same syntax and I can invoke them within my editor. I wish I had a performance tool that executes within emacs the way my debugger does. Furthermore, I wish my debugger could display arrays graphically. Until recently I used Emacs as mail tool and for FTP. And I have not even mentioned the various editing modes, the command execution, the parenthesis checking while typing, and the endless possibility to extend Emacs myself. The editor is the queen of all software tools.

I see a future editor as a smart extension of the command line. I hope that editors and browsers will merge. Then all resources available are accessible through the same tool. The form of access may vary (some is slow and read-only).

A functionality I miss most in my operating system and editor-command line, is the consistent change of file names. I wish a change in file name would propagate through all references to that file name (hyper links, system links, etc). But I doubt that can be done efficiently nor safely.

Configure When distributing software, a configure script should figure out what software components the user needs to successfully install the desired software. Maybe RPM by Redhat is even better.

Modules I would like to use Modules to support various software packages without complicating the user account setup. Furthermore, Modules help distributing a software's environment variables, etc.

Seismic data class Have Geophysicists defined an SEGY mime type? I want an object-oriented wrapper for SEGY data files (Java). If you want to read it, you simply invoke its methods. For example a geophysical data set could be accessible by a simple query interface that give access to the data records and the data header values. The internal representation would be irrelevant (for example the data could be compressed).


next up previous print clean
Next: Discussion Up: A virtual laboratory Previous: Interactivity
Stanford Exploration Project
3/8/1999