An Overview of Reproducible 3D Seismic Data Processing and Imaging Using Madagascar
An Overview of Reproducible 3D Seismic Data Processing and Imaging Using Madagascar
10.1190/GEO2016-0603.1
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
F9
F10 Oren and Nowack
MATLAB, and Java. The main scripts, referred to as SConstruct 3D Teapot Dome data set
scripts, are written in Python syntax. SCons, a Python-based
make-like utility, is then used to run the SConstruct scripts. We use the 3D Teapot Dome seismic data set to illustrate the seis-
There are four main commands that are used in SConstruct mic processing and imaging results using a selection of programs
scripts. “Fetch” is used for downloading data files either from a available in Madagascar. The Teapot Dome oil field is located ap-
local computer or from a server. “Flow” is used for creating an out- proximately 25 mi north of Casper, Wyoming, where a 3D seismic
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
put file using the library modules that are applied to an input file. survey was acquired by WesternGeco for the Rocky Mountain Oil
“Plot” is analogous to Flow, but the output file is now an output Test Center (RMOTC) in January 2001. A location map within the
plot. “Result” is analogous to Plot, but the output plot is saved state of Wyoming of the Teapot Dome oil field is shown in Figure 1.
in a “Fig” directory that is automatically created by the Result com- A historical presentation of past oil operations at Teapot Dome is
mand. The output plot can then be used within a publication docu- given by Anderson (2013). The data set is now publicly available,
ment. The software is open source and is described by Fomel et al. and it is provided by RMOTC, a facility of the U.S. Department
(2013) and made available at Madagascar (2017). A list of programs of Energy.
within Madagascar can also be found there including their docu- Unprocessed 3D shot gathers, preprocessed CMP gathers, 3D fil-
mentation and a list of reproducible papers in which they have been tered migrated data, 3D postdip moveout velocity text file, and well
previously used. All reproducible papers and their computational logs are available through the SEG Wiki website, SEG Wiki (2017).
recipes (SConstruct files) are also made available to Madagas- The original processing of the data set was performed by EXCEL
car users. Geophysical Services Company. The data set downloaded from the
In addition to Madagascar, Seismic Unix (SU) maintained by website is in SEGY format, and it first needs to be converted to the
the Colorado School of Mines and SEPlib maintained by the Stan- regularly sampled format (RSF) using the program “sfsegyread” in
ford Exploration Project are among the other popular open-source Madagascar in which RSF is the data format used by Madagascar
software packages for reflection seismology. Although SU is a programs.
strong processing platform for smaller-scale 2D seismic data sets, For the original acquisition of the 3D Teapot Dome seismic data
it provides only a limited range of processing and imaging tools set by WesternGeco, a 1200 channel I/O System II recording system
for larger scale 3D seismic data sets compared with Madagascar. and four AVH III392 vibrators were used. The geophones were
SEPlib also provides a convenient environment for 3D data process- deployed with a group interval of 67 m along each line and a line
ing and imaging, but it is not as accessible as Madagascar in terms spacing of 268 m. The sources were deployed with an interval of
of reproducibility. Therefore, from a reproducible 3D seismic 67 m and a line spacing of 670 m. The bin size was determined to be
processing vantage point, Madagascar is a modern environment 33.5 × 33.5 m (110 × 110 ft).
and allows for dynamic development.
PROCESSING OF TEAPOT DOME
DATA SET
The shot and group coordinates are shown in
Figure 2, and the geometry information was
taken from the header file of the shot gathers. In
addition, a specification sheet of the recording
parameters is provided with the data set. The lo-
cation of the active receivers for two different
shots is displayed in Figure 3, in which the shot
and active receiver locations are shown for shot
indices 214 and 825. Figure 4 shows the fold
map with a maximum fold of 57. To reproduce
the plots in Figures 2–4, type the commands
below:
scons geom/sxsygxgycoord.view
scons geom/sxsygxgycoord12.view
scons geom/fold.view.
The raw shot gathers are used to show the
features of several programs in Madagascar, in-
cluding amplitude gain applications, ground roll
attenuation, muting, deconvolution, and static
corrections. Figure 5 shows a portion of shot
gather 214 without any processing. Three of the
17 receiver lines indicated in Figure 3a are plot-
ted. To reproduce the plot in Figure 5, type the
command below:
Figure 1. Location map of the Teapot Dome oil field, Wyoming. The Teapot Dome oil
field is also known as Naval Petroleum Reserve No. 3 (NPR-3) (adapted from Li, 2014). scons ampcor/fldr_214.view.
3D seismic processing using Madagascar F11
The data are then sorted into CMP gathers to perform spike-like roll is shown. For the LTF decomposition, we have selected the
noise elimination, NMO velocity analysis, NMO correction, stack- smoothing radius (rect) to be 20 samples in time, the number of
ing, band-pass filtering, migration, f-x deconvolution, and structure- frequencies (nw) to be 200, and the frequency step (dw) to be
enhancing filtering. To use in the migration step, a velocity model is 0.5 Hz. After the decomposition, a 2D soft thresholding with a clip
generated using Dix conversion and time-to-depth scaling. This of 25% is applied to estimate the ground roll energy (Figure 8b).
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
scons ampcor/fldr214_all.view.
An inverse transform from the time-frequency domain back to the linear airwave arrival in the unprocessed shot gather (Figure 7a) is
time domain is then performed to subtract the estimated ground roll also estimated with the application of soft thresholding (Figure 7b).
in Figure 7b from the raw shot gather in Figure 7a. Note that a t2 To reproduce the plots in Figures 7 and 8, type the commands
gain correction is also applied to the unprocessed data prior to sub- below:
traction. The shot gather after ground roll attenuation and its LTF
scons groll/ltftalltd.view
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
Muting
In reflection seismology, muting can be applied to zero out the
undesirable part of the data, such as direct arrivals and wide-angle
reflections. Muting can be performed by first picking the time and
offset pairs on the prestack data. The selected time and offset pairs
can then be used either in the program “sftahmute” or in the pro-
gram “sfmutter” in Madagascar. In Figure 9a, a shot gather is shown
after applying an AGC with a window of 1000 ms to the shot gather
shown in Figure 7c and a mute function to remove the unwanted
part of the prearrival data and direct wave. In this example, the time
(tmute = 0, 1.20, 1.82 s) and offset (xmute = 0, 8560, 18,000 ft)
pairs are used with an 80 point taper. As shown in Figure 9a, the
early portion of the data is eliminated using the mute.
Static corrections
One of the crucial problems for seismic land data is static time
Figure 5. Part of shot gather 214 is shown without any processing. shifts. For land-based data, the complex near-surface velocity var-
See Figure 3 for the location of receiver lines 1, 2, and 3 for this dis- iations or rapid changes in shot and receiver elevations tend to
play. This figure can be created by typing scons ampcor/fldr_214.view. cause reflection traveltime distortions. Because of these static shifts,
3D seismic processing using Madagascar F13
prestack reflections often do not exhibit a hyperbolic behavior. is also windowed to include 26 traces to test the TVMF method.
Therefore, corrections for near-surface statics need to be made prior In Figure 10a, the reflections from 0.9 to 1.2 s are obscured by
to any further processing steps. The static corrections can be deter- the presence of high-frequency random noise. To attenuate the
mined from common-shot and common-receiver gathers using high-frequency random noise, the reference median window length
first-arrival refraction analysis (Yilmaz, 2001). In Madagascar, (nfw) is selected to be seven points, and the default values are used
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
the program “sftahstatic” is then used to apply the static corrections. for the rest of the parameters (α ¼ 2, β ¼ 0, γ ¼ 2, and δ ¼ 4). We
The source and receiver refraction statics (in milliseconds) found these values to be sufficient to attenuate the random, spike-
have been previously computed by the con-
tractor and included in the header files of the shot
a) b) c)
gathers. To adjust for the misalignments, static
information is obtained from the header files of
the data and used in the following equation:
tout ¼ tin − sign ðsstat þ gstat Þ, where tout is the
time of the output trace, tin is the time of the input
trace, sstat is the source static time correction, gstat
is the group static time correction, and sign is a
scale factor (1) that controls the option of shift-
ing the traces up or down. The shot gather shown
in Figure 9a after the application of spiking de-
convolution and static corrections is shown in
Figure 9c. The hyperbolas can be seen to become
more coherent with repositioning based on the
static time shifts. Applying ground roll attenua-
tion, deconvolution, and statics corrections takes
approximately 12 h on a Mac computer with
32 GB of memory and a 4 GHz Intel i7 processor.
Most of the runtime is in the ground roll attenu-
ation. To reproduce the plots in Figure 9, type the
command below:
Figure 6. A comparison between various amplitude gain methods. (a) The unprocessed
scons deconstat/agcmutepefstaticshot.view. receiver line 2 from Figure 5. (b) The application of tpow with a power of two. (c) The
application of AGC with a window of 500 samples in time. This figure can be created by
typing scons ampcor/fldr214_all.view.
Random spike-like noise attenuation
using time-varying median filter
Spike-like noise present in seismic data tends to a) b) c)
lower the signal-to-noise ratio (S/N). High-cut fil-
ters can be applied to eliminate this type of noise,
but there is also the possibility of removing the
useful signal from data at high frequencies. To
overcome this issue, a 1D time-varying median
filter (TVMF) aims to suppress random, spike-like
noise in the CMP domain (Liu et al., 2009). In this
method, a threshold value is first calculated based
on the reference median window length given by
the user. To better distinguish between the useful
signal and noise, time-varying filter windows are
then designated using four constant even numbers
(α, β, γ, and δ). In essence, time-varying filter win-
dows are combinations of the reference filter win-
dow and these four constant numbers. The main
principle of this method is that the time-varying
filter windows need to be small to preserve the
useful signal, whereas the filter windows need
to be large to eliminate the noise. Here, our goal
is to apply this method to the CMP gathers prior to Figure 7. (a) The shot gather shown in Figure 6a with clip percentile of pclip = 98 to
velocity picking to obtain more accurate sem- better show the low-frequency, high-amplitude ground roll energy in the data. (b) The
estimated ground roll from using the LTF decomposition for the gather shown in (a).
blance panels. (c) The shot gather after ground roll attenuation obtained by subtracting (b) from
A CMP gather is extracted for the midpoint (a) where the direct waves and refractions are also muted. This figure can be created
location of crossline 120 and inline 160, and it by typing scons groll/ltftalltd.view.
F14 Oren and Nowack
like noise. Once we apply a larger window length using the default NMO velocity analysis
values for the rest of the parameters, we start to lose some use-
ful signal. In Figure 10b, the reflections starting from 0.9 to It is important to build an accurate subsurface velocity model for
1.2 s become more evident and the eliminated noise can be seen stacking and migration imaging to be able to obtain flat CMP and
in Figure 10c. To reproduce the plots in Figure 10, type the com- image gathers. One of the ways to build an initial velocity model is
to pick maximum coherency peaks as velocity-time pairs from a
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
mand below:
velocity scan, which are derived from selected CMP gathers (Taner
scons tvmf/gather_all.view. and Koehler, 1969). These velocities are called root-mean-squared
(rms) velocities and are used for NMO correction
of reflection traveltimes prior to stacking. In Ma-
a) b) c) dagascar, rms velocities can be picked either man-
ually or automatically from the velocity scan.
Interactive picking can be performed using the
program “sfipick,” whereas automatic picking
can be performed using the program “sfpick.”
Although automatic picking would be useful in
terms of reproducibility, the velocities have been
picked manually from the velocity scans every
25th CMP gather along the inline and crossline
directions. Figure 11 shows 51 CMP locations
where the velocity picking has been performed.
To reproduce the plot in Figure 11, type the com-
mand below:
scons vel/xlil.view.
tion. To reproduce the plots in Figure 12, type the com- program “sfspline.” Then, several 2D interpolation programs such as
mand below: “sfextract,” “sftri2reg,” “sfenoint2,” and “sfinvbin” can be used to
interpolate the data points on each time slice and to obtain a 3D
scons nmostack/gathervscanpicknmo.view. velocity cube.
The 1D velocity-time functions are then interpolated to build a In many of the migration algorithms in Madagascar, an interval
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
3D rms velocity cube that will be used for further processing and velocity model is needed as an input. Interval velocities represent
imaging steps, such as NMO correction and poststack migration. the velocities within each layer and can be estimated from the rms
To illustrate the use of an external code into the processing flow, velocities using Dix’s formula (Dix, 1955). Figure 13 demonstrates
we use a Python code, interpvel.py, which is located in the a 3D interval velocity model for the Teapot Dome data set in which
$RSFSRC/book/data/teapotdome/vels directory for the interpola- the interval velocities are estimated using the program “sfdix.” This
tion of the velocities. We have slightly modified the code to program converts rms velocities to interval velocities using least-
change the time axis from milliseconds to seconds and the regular squares and shaping regularization. For the parameters, a maximum
expression pattern for reading the time-velocity pairs from the of 100 iterations are performed during the inversion part and a
given velocity file. The modified version of the interpolation code smoothing radius is selected to be 15 samples on the time axis. To
is provided with the SConstruct script. The time axis is first lin- reproduce the 3D interval velocity cube in Figure 13, type the com-
early interpolated. The interpolation is then carried out on each mand below:
time slice using a radial basis function interpolator in Python. scons vel/vint3d.view.
To be able to use both interpolation functions, Python’s scipy li-
brary should be installed. Also note that the provided velocity text A depth representation of the interval velocity model that is
file and interpolation code need to be copied to the “vel” directory needed for depth migration can be obtained using the time-to-depth
before running the command below. Although the interpolation is conversion program “sftime2depth.” The transformation is con-
performed using an external Python code, there are several 1D/2D trolled by depth sampling (dz ¼ 30 ft) and number of depth sam-
interpolation programs in Madagascar. For instance, 1D velocity ples (nz ¼ 1200). The depth model is then converted to slowness to
functions can be first interpolated using the cubic spline interpolation be used as an input for the zero-offset depth migration.
a) b) c)
Figure 10. (a) Original CMP gather extracted for the midpoint of crossline 120 and inline 160, (b) denoised gather using seven-point TVMF,
and (c) eliminated noise. This figure can be created by typing scons tvmf/gather_all.view.
F16 Oren and Nowack
Stacking Migration
Stacking is an effective tool to improve the S/N and to eliminate Migration yields a seismic image by collapsing diffractions and
the ground roll in the seismic data. It is also used for compressing moving dipping structures to their correct positions. Here, extended
the data in the offset domain, and it is a required step for poststack split-step Fourier migration is implemented (Kessinger, 1992). It is
migration imaging. After applying NMO correction using the 3D a 3D poststack depth migration method that is based on the solution
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
rms velocity cube, the CMP gathers can be stacked using the pro- of the one-way wave equation. This method also has the advantage
gram “sftahstack” to obtain the zero-offset data. A stacked 3D data of handling laterally varying velocity changes. The 3D extended
cube for the Teapot Dome data set after band-pass filtering applied split-step migration is performed using the program “sfzomig3” in
between 12 and 90 Hz is shown in Figure 14. Prominent reflectors Madagascar. Because the migration is carried out in the frequency
can be observed between 0.8 and 1.2 s on the crossline and inline domain, the Fourier transform of the band-pass filtered poststack
sides of the data cube. To reproduce the 3D stacked cube in Fig- data is first computed. The Fourier-transformed data are filtered
ure 14, type the command below: up to 50 Hz before running the migration algorithm. The Fourier-
transformed data and the slowness model are the inputs for the mi-
scons nmostack/npr3_stack.view. gration. Because the output of the migration is given in depth slices,
To further investigate the impact of the processing steps, such as the resulting migrated data cube needs to be transposed back to the
spiking deconvolution and static corrections, a subset of the stacked conventional coordinate system. Figure 17 depicts the 3D poststack
data is examined. Figure 15 shows the inline 225 stacked section after depth-migrated image of Teapot Dome data set. The migrated data
t2 gain correction, muting, and AGC with a window of 1000 ms. in Figure 17 show the expected improved fault resolution when
Figure 16 shows the inline 225 stacked section after t2 gain correc- compared with the unmigrated stack in Figure 14. The 3D poststack
tion, muting, AGC with a window of 1000 ms, spiking deconvolu- depth migration takes approximately 2.5 h on a Mac with 32 GB of
tion, and static corrections. After spiking deconvolution and static memory and a 4 GHz Intel Core i7 processor. To reproduce the mi-
corrections, the reflectors in the stacked section in Figure 16 become grated data in Figure 17, type the command below:
more coherent and have a higher temporal resolution than that of scons mig/ssfmigz.view.
Figure 15. To reproduce the 2D stacked sections in Figures 15
and 16, type the commands below: After examining the migration result shown in Figure 17, it can
be seen that there exists some processing and other noise that dis-
scons deconstat/muteagcstack225.view torts the migration images even though the prominent reflectors are
scons deconstat/mutepefagcstaticstack225.view. clearly imaged by the migration algorithm. A partial remedy for this
is to apply f-x deconvolution to the migrated images to remove any
remaining spurious noise.
Structure-enhancing filtering need to be designated for the application of the filter. In this exam-
ple, smoothing (smnclip) and sharpening (shnclip) parameters are
Attenuation of random noise while preserving the structural in- chosen to be 13 samples. According to the default relationship be-
formation in migration images is very crucial. Structure-enhancing
filtering can be used to enhance the quality of the seismic images
and is a nonstationary smoothing operator. For this purpose, we first
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
a) b) c)
Figure 12. (a) The CMP gather with TVMF applied in Figure 10b, (b) the velocity scan derived from the CMP gather in (a) and the solid line
shows the manually picked velocities, and (c) the CMP gather in (a) after NMO correction. This figure can be created by typing scons nmostack/
gathervscanpicknmo.view.
F18 Oren and Nowack
tween these two parameters and the filter length (smnclip = shnclip The SConstruct script creates 10 separate directories (fetch, geom,
= (nfw + 1)/2) defined in the program “sflum” in Madagascar, a ampcor, groll, deconstat, tvmf, vel, nmostack, mig, and Fig). The
filter window length (nfw) of 25 samples is selected. In Figure 19, “fetch” directory contains raw prestack SEGY files downloaded
it can be seen that these parameters work well to attenuate most of from the Internet and their internal RSF versions with the header
the random noise and protect structures compared with the image in files. The “geom” directory has all shot and receiver coordinates,
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
Figure 18. To reproduce the image after structure-enhancing filter- single shots 214–825 and the corresponding receiver locations as
ing in Figure 19, type the command below: well as fold information. The “ampcor” directory comprises a por-
tion of shot 214 and the amplitude gain comparisons (tpow and
scons mig/ssfmigz_fx_lum.view.
AGC) applied to receiver line 2 from shot 214. The “groll” directory
contains the same receiver line and its LTF spectra before and after
ground roll elimination. The full shot gathers after ground roll elimi-
PROCESSING SCRIPTS
A single SConstruct script along with two Python codes (velfile.
py and interpvel.py) and a velocity file (rms_vel.txt) are provided.
Figure 16. Inline 225 stacked section after t2 gain correction, mut-
ing, AGC with a window of 1000 ms, spiking deconvolution, and
static corrections. This figure is compared with Figure 15 to observe
Figure 14. The stacked 3D cube for the Teapot Dome data after the improvements due to deconvolution and static corrections. This
applying a band-pass filter between 12 and 90 Hz. This plot displays figure can be created by typing scons deconstat/mutepefagcstatic-
selected sections as the faces of the cube. For this cube plot, the stack225.view.
top, side, and front frame numbers are selected to be 0.65 s, 225,
and 125, respectively. This figure can be created by typing scons
nmostack/npr3_stack.view.
nation will also be in this directory. The “deconstat” directory com- interpvel.py) the velocity text file (rms_vel.txt) downloaded with
prises deconvolution and refraction statics examples applied to the this manuscript should be located in the vel directory. The “nmo-
same receiver line along with the inline 225 stacked section. It also stack” directory includes the same CMP gather, its velocity scan,
has the CMP gathers after deconvolution and statics applied at NMO corrected gather, and the 3D stacked cube for input to depth
which the velocity picking has been performed. The “tvmf” migration. The “mig” directory contains the 3D depth-migrated data
before/after f-x deconvolution and structure-enhancing filtering. Fi-
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
REFERENCES
Anderson, T., 2013, History of geologic investigations and oil operations at
Teapot Dome, Wyoming: AAPG Rocky Mountain Section Meeting.
Dix, C. H., 1955, Seismic velocities from surface measurements: Geophys-
ics, 20, 68–86, doi: 10.1190/1.1438126.
Fomel, S., 2002, Applications of plane-wave destruction filters: Geophysics,
67, 1946–1960, doi: 10.1190/1.1527095.
Figure 19. Structure-enhancing result using LUM filtering. This Fomel, S., P. Sava, I. Vlad, Y. Liu, and V. Bashkardin, 2013, Madagascar:
plot displays selected sections as the faces of the cube. For this cube Open-source software project for multidimensional data analysis and
reproducible computational experiments: Journal of Open Research
plot, the top, side, and front frame numbers are selected to be 3510 Software, 1, e8, doi: 10.5334/jors.ag.
ft, 225, and 125, respectively. Compare to Figure 18 to see how the Gulunay, N., 1986, Fxdecon and complex wiener prediction filter: 56th
remaining random noise is attenuated while preserving the geologic Annual International Meeting, SEG, Expanded Abstracts, 279–281.
structures. This figure can be created by typing scons mig/ Kessinger, W., 1992, Extended split-step Fourier migration: 62nd Annual
ssfmigz_fx_lum.view. International Meeting, SEG, Expanded Abstracts, 917–920.
F20 Oren and Nowack
Li, Y., 2014, An uncertainty analysis of modeling geologic carbon seques- Madagascar open-source software project, 2017, http://www.ahay.org/, ac-
tration in a naturally fractured reservoir at Teapot Dome, Wyoming: Ph.D. cessed 1 November 2017.
thesis, University of Wyoming. Schleicher, K., 2017, http://www.reproducibility.org/RSF/book/data/teapotdome/
Liu, Y., and S. Fomel, 2013, Seismic data analysis using local time- paper.pdf, accessed 1 November 2017.
frequency decomposition: Geophysical Prospecting, 61, 516–525, doi: SEG Wiki, 2017, https://wiki.seg.org/wiki/Open_data, accessed 1 Novem-
10.1111/j.1365-2478.2012.01062.x. ber 2017.
Liu, Y., S. Fomel, and G. Liu, 2010, Nonlinear structure-enhancing filtering Taner, M. T., and F. Koehler 1969, Velocity spectra — Digital computer der-
Downloaded 07/09/18 to 128.119.168.112. Redistribution subject to SEG license or copyright; see Terms of Use at http://library.seg.org/
using plane-wave prediction: Geophysical Prospecting, 58, 415–427, doi: ivation and applications of velocity functions: Geophysics, 34, 859–881,
10.1111/(ISSN)1365-2478. doi: 10.1190/1.1440058.
Liu, Y., C. Liu, and D. Wang, 2009, A 1-D time-varying median filter for Yilmaz, O., 2001, Seismic data analysis: SEG.
seismic random, spike-like noise elimination: Geophysics, 74, no. 1,
V17–V24, doi: 10.1190/1.3043446.