SeaSeis is an open-source seismic data processing system intended for geophysicists (this is not to say that it may not be used for other purposes).
SeaSeis is a sequential trace flow system, pushing one data trace at a time through a processing flow. It follows the same basic concept as most commercial seismic processing systems by providing a 'base' system that manages the trace flow. Most other free seismic data processing systems make use of standard I/O and 'piping' to push data traces through a flow. Please see the online documentation for more information.
SeaSeis has been written almost exclusively by one person, i.e. myself, starting around 2005. Many other people have contributed with their ideas. Publically available source code, online forums, and online documentation have helped me to solve many of the problems encountered on the way. Since late 2011, there have also been contributions from a few other people.
I am especially thankful to my former employer MultiWave/CGGVeritas, and my current employer Seabird Exploration for allowing me to work on this code outside of my job duties.
The source code has been distributed from this web site since 2009, with a new version coming out about twice a year.
My main goals when writing SeaSeis
Certainly not all goals have been quite achieved, but hopefully some big steps have been made in the right direction. Since including an external library (fftw) and Fortran source code in version v1.80, portability and ease to install has been somewhat reduced.
- Make it as simple as possible at every level, in particular for the user
- Focus on usability, provide two gateways for user input:
Command line interface and human readable/editable ASCII text flow file containing all user input parameters.
Supply GUI front end as alternative to command line/ASCII flow (since version 1.90 a prototype exists)
- Intended use: Small to medium size processing tasks, designed for stand-alone systems, such as an offshore processing environment, or a laptop computer
- Make it easy to add new modules: Easy to program, and to bind in new modules dynamically
- Make it easy to build/compile. This means especially avoiding third-party libraries and non-standard programmming constructs.
- Make it portable = platform independent
- Allow automation of repetitive tasks
- Make it light-weight and flexible, but scalable/extendable at if necessary. This means in particular choosing a modular, object-orientted design
Unfortunately, I expect to have less time in the future to dedicate to this project. Anything can be done but this is limited by the available time. Please write me an email if you are interested in collaborating or sharing responsibility for the source code.