The SEPlib software package Claerbout (1991); Dellinger and Tálas (1992) has been proven to be a very productive tool for seismic research and processing. However, its usefulness is fundamentally limited to processing regularly sampled data. This limitation is too restrictive when tackling problems in 3-D seismic and problems that involve geophysical data other than seismic. Therefore, we designed and implemented a generalization of SEPlib to make it capable of handling irregularly sampled data (from now on we will dub this new version SEPlib90, while the old version will be referred to as SEPlib77). Since the data geometry of a SEPlib77 data set is assumed to be regular, it can be described by few parameters such as axes lengths, origin coordinates and sampling rates. In SEPlib90, to describe the irregular data geometry, we associate each seismic trace with a trace header, as it is done in the SEGY data format, and in its many derivatives. However, to enable users and programmers to deal with irregularly sampled data with the same simplicity and efficiency that is characteristic of SEPlib77, SEPlib90 introduces the following two principles:
This simple but powerful idea is crucial for efficiently processing large amount of data, such as in 3-D prestack data sets. It allows us to minimize the access to the usually bulky seismic data files, while performing many useful operations on the trace headers and on specific subsets of the seismic traces.
Regularity is important when analyzing and visualizing the data; further, it helps the development of simple and efficient code. SEPlib90 ``regularizes'' an irregularly sampled data sets by associating the data traces with a uniformly sampled multi-dimensional grid. This gridding information is then exploited by SEPlib90 application and utility programs to efficiently select and access the seismic traces.
Another important characteristic of SEPlib90 is that it is a generalization of SEPlib77 and not a completely new system. There are many good reasons for this choice. From the user point of view, it enables users familiar with SEPlib77 to quickly master SEPlib90. Further, it enables SEPlib90 to leverage the considerable amount of coding and brain power that went into SEPlib77. In particular, the layering of SEPlib90 over the SEPlib77 routines for accessing files (both ASCII and binary). SEPlib90 borrows some ideas from an early attempt of generalizing SEPlib77 to irregularly sampled data spearheaded by Martin Karrenbach Nichols et al. (1994).
Clapp and Crawley present in this report 1996 an object-oriented Fortran90 package built on the top of SEPlib90. The coming to fruition of both these software projects promise to increase the efficiency of 3-D prestack seismic research at SEP, and possibly beyond.
In this paper we introduce the fundamental concepts underlying SEPlib90. We define the data format, describe the essential utilities, and the application program interface (API). To illustrate the concept we also present an example of using SEPlib90 for a trace filtering program and to sort and display a subset of a real 3-D marine survey.