Seismic data processing workbook(ProMax)
Short Description
This workbook contains basic seismic data processing using ProMax....
Description
ASSIGNMENT COVER SHEET Student Name:
Sutthisrisaarng Pholpark __________________________________________
Student ID:
17682974 __________________________________________
Unit Name:
Geophysical Data Processing 612 (Petroleum) __________________________________________
Lecturer’s Name:
Sasha S. __________________________________________
Due Date:
7 November 2014 __________________________________________
Date Submitted:
7 November 2014 __________________________________________
DECLARATION I have read and understood Curtin’s policy on plagiarism, and, except where indicated, this assignment is my own work and has not been submitted for assessment in another unit or course. I have given appropriate references where ideas have been taken from the published or unpublished work of others, and clearly acknowledge where blocks of text have been taken from other sources. I have retained a copy of the assignment for my own records.
Sutthisrisaarng Pholpark
________________________________________ [Signature of student]
For Lecturer’s Use Only:
Overall Mark: ________ out of a total of _________
Percentage:
Lecturer’s Comments:
Lecturer’s Name:
Date Returned:
Lab 1. Unix basics, ProMAX user interface. Part 1. Unix basics Promax basic command Command man man --help man man man ls ls
Response Call manual, a page must be specified. Call a manual of manual. Call a manual of ls. Show files in a current directory.
ls ls -a pwd
[T17682974@egplnxc1 ~]$ ls config-local-gp312 mycalendar.txt part1.sgy run wd_nov2008_shots.sgy Show files in a current directory in a long detail format. Show files in a current directory (short forma6t), included hidden files . Show a current directory.
who whoami cp file1 file2
[T17682974@egplnxc1 ~]$ pwd /share/data/home/students/T17682974 List a current user in the same network. Show a current username. Copy a file.
rm
[T17682974@egplnxc1 ~]$ ls config-local-gp312 mycalendar.txt part1.sgy run wd_nov2008_shots.sgy [T17682974@egplnxc1 ~]$ cp part1.sgy copy.sgy [T17682974@egplnxc1 ~]$ ls config-local-gp312 copy.sgy mycalendar.txt part1.sgy run wd_nov2008_shots.sgy Remove a file
rmdir dir1 mkdir dir1
[T17682974@egplnxc1 ~]$ rm copy.sgy [T17682974@egplnxc1 ~]$ ls config-local-gp312 mycalendar.txt part1.sgy run wd_nov2008_shots.sgy Remove an empty directory. Create a new directory.
chmod cal cat top ps ps -e kill xterm xterm&
[T17682974@egplnxc1 ~]$ mkdir testdirect [T17682974@egplnxc1 ~]$ ls config-local-gp312 mycalendar.txt part1.sgy run testdirect wd_nov2008_shots.sgy Changes the permissions of file. Call a calendar. Print a text file on the screen Display all current tasks. Show a snap shot of the current operation. To see every process on the system using standard syntax Strart a new panel, the old panel is unable to operate until the new panel is closed. Strart a new panel, the old panel is still able to operate.
-
Create text file named ‘mycalendar.txt’ containing calendar of this month; display content of the file on your screen [T17682974@egplnxc1 ~]$ cal > mycalendar.txt [T17682974@egplnxc1 ~]$ cat mycalendar.txt August 2014 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
-
Change permissions for that file; allow all users to read the content [T17682974@egplnxc1 ~]$ chmod 755 mycalendar.txt
Part 2. ProMAX user interface Marine seismic - Display raw data > STEP 1/3: Create line
>> STEP2/3: Create flow
>>> STEP3/3: Select operation method in flow, the execute - Display raw data in WA/WT, WT, and greyscale mode. Grayscale mode WT(Display only traces, no maximum amplitude highlighted)
WA (Display only maximum amplitude)
Comment: We can also display traces in color mode.
WA/WT(Combined WA and WT)
- Annotate axis using FFID and CHAN
- Answer the following questions: a. What are the main parameters of file, i.e. sampling interval, number of samples (see the log file)? # Traces per Ensemble .............. = 230 # Auxiliary Traces per Ensemble .... = 51614 Sample interval (micro sec) ........ = 6000 Recording sample interval .......... = 2000 # samples per trace ................ = 668 # recording samples per trace ...... = 4097 Data sample format ................. = 4 Byte IBM floating point b. Which trace headers have some defined values? FFID: Field File Identification Number , increases with #of shots CHAN: #of channel OFFSET AOFFSET CDP: Common Depth Point CDP_X CDP_Y DEPTH FILE_NO SEQNO SOURCE SOU_H2OD TFULL_E TLIVE_E TOTSTAT TRACENO TRC_TYPE TR_FOLD c. Identify main components of the wave field.
Land seismic - Answer the following questions: a. What are the main parameters of file, i.e. sampling interval, number of samples (see the log file)? # Traces per Ensemble .............. = 156 # Auxiliary Traces per Ensemble .... = 51614 Sample interval (micro sec) ........ = 1000 Recording sample interval .......... = 0 # samples per trace ................ = 3001 # recording samples per trace ...... = 1250 Data sample format ................. = 4 Byte IBM floating point b. Which trace headers have some defined values? b. Which trace headers have some defined values? FFID: Field File Identification Number , increases with #of shots CHAN: #of channel OFFSET AOFFSET CDP: Common Depth Point CDP_X,CDP_Y LINE_NO REC_X,REC_XD FILE_NO SEQNO SOURCE SOU_X,SOU_XD SOU_H2OD TFULL_E TFULL_S TLIVE_E TLIVE_S TRACENO TRC_TYPE TR_FOLD
c. Identify main components of the wave field.
Lab 2: Geometry Objective Learn to set geometry for raw seismic data and perform quality control after geometry is assigned. FLOWS
1/5 Load seismic data to the database Flow: 010 – SEGY Input
SEG-Y Input - read all traces from ‘’part1.sgy” Disk Data Output – Stored data in the database (at the current flow) name “raw data” The loaded data can be viewed by clicking ‘datasets’ tab, then use MB2 to click ‘raw data’. If use MB3, Promax will show history of the file.
2/5 Creating database files Flow: 020 – Extract DB Files The main function of this flow is to extract headers from ‘raw data’ in order to generate Promax database entries. Since trace headers are only used for DB files generation, click ‘YES’ at ‘Process trace headers only’.
3/5 Assigning geometry Flow: 030 – Geometry The only one function of this flow is to generate ‘2D Marine Geometry Spreadsheet’. The picture below has been taken from GP312, lecture2 geometry.
Number of channels in the streamer: 230 Minimum inline offset: 130 m Crossline source offset: 0 m Receiver group interval 12.5 m Source interval: 50 m Streamer towing depth: 8 m Source towing depth: 6 m Nominal sail line azimuth: 0° Use ‘matching pattern’ midpoints assignment method. After flow ‘030 – Geometry’ has been executed, the geometry spreadsheet will show up.
Geometry assignment sequence (menu items) as provided in the lab instructions are: 1. Setup – enter parameters 2. Sources – coordinates of sources 3. Pattern – define pattern of recievers 4. Bin – assign midpoints, bin and finalize database 5. QC the results – show survey pattern Setup
Sources
Patterns
Binning All parameters assigned above are used to construct a binning grid in binning process.
QC the results - using TarceQC create cross-plot SIN vs REC_Y coloured according to OFFSET (View->View All->XY Graph).
Explanation: Since each header of raw seismic trace does not contain geometry information, geometry information is needed to be assigned before a processing in further steps e.g. stacking. In order to create a survey grid regarding to survey geometry, important survey parameters are binned together. After binning process, the QC results are obtained from the plot SIN vs REC_Y coloured according to OFFSET. Overall, the plot shows geometry of survey lines. Each line indicates shot locations obtained from the same SIN or source index number which is an assigned number for each shot point. The highest number of each line in Y-axis indicates the minimum inline offset. Every move of a source position (source interval) increases SIN number one step (+1) until 208 (the last shot). In addition, as source interval is 50m, the move of source also increases the minimum inline offset by 50m. Note: Source live number is obtained from the field data but for Sin we created it in geometry assignment process.
4/5 Updating trace headers with correct values In step 3/5, geometry spread sheet was created, however, the geometry has not been applied to the data set ‘raw data’. Hence, the main purpose of this flow is to apply the geometry to the data set. Flow: 040 – Inline geometry
After assigned geometry for the dataset, dataset information shows that geometry matches database and trace number matches database.
4/5 QC 1. Sort data in SOURCE:AOFFSET order, tune display parameters to see 5 ensembles each time (displayed in grayscale), use FFID and OFFSET to annotate traces
2. Make sure that tools used for travel time approximation with a straight line and hyperbola show realistic values for direct wave and bottom reflection.
Note: the average velocity of direct wave is 1534.6 m/s and the average velocity of bottom reflection is 1487.4 m/s. 3. Pick direct wave and project on a first ensemble and project to all of them. It must follow direct wave on all ensembles, scroll till the end of the line. In order to pick direct wave and project the pick to ensembles, “Pick Miscellaneous Time Gates function is used”. The method is shown below.
After project the direct wave pick to all ensembles, all of them follow the projected lines which indicates that assigned geometry works properly.
4. Resort data in CDP:AOFFSET order, explain changes in number of traces per ensemble in respect to SOURCE:AOFFSET. SOURCE:AOFFSET - #trace = 230 traces per ensemble (constant number thorough all of SIN) CDP:AOFFSET- #trace = traces per ensemble increasing as the number of fold increasing as in the fold diagram below. Number of traces start from 1 at CDP1, increasing up to 29 and then decreasing to 1 afterwards. Hence, in the case of CDP:AOFFSET sorting, #trace in each CDP ensemble depends on #fold while SOURCE:AOFFSET sorting #trace in SIN ensemble is a constant number 230 traces per ensemble. #traces increses with #fold
Fold diagram
5. Plot only nearest channel, all shots. Find direct wave, bottom reflection, water bottom multiple. SIN:AOFFSET
CHAN:SIN
Workshop 3: Data sorting, interactive data analysis Objectives
Learn how to sort data using ProMAX. Learn to identify principal parameters of the signal and noises e.g. arrival times of signal and various noises, apparent velocities and other parameters of travel time curves and spectral content of different events. Learn to analyse seismic data using ProMAX.
1. Data sorting Create flow named ‘TRACE DISPLAY’
1.1 Sort data in SOURCE: AOFFSET order.
Change Trace Display parameters to see 5 ensembles each time (displayed in grayscale), use FFID and OFFSET to annotate traces.
Identify direct wave and water bottom reflection. The straight lines are direct waves and the half hyperbola lines are water bottom reflection.
1.2 Sort the data in CHAN: FFID order, display each 10th channel. To display each 10th channel change ‘Sort order list for dataset’ to 1-230(10):*. It means – ‘display channels from the first one to the 230th with step of 10, i.e. 1, 11, 21, 31, 41 ... etc.
Identify direct wave and water bottom reflection on these plots. The yellow arrows point at a direct wave and the red arrows point at water bottom reflection in each channel.
Do all the traces have similar quality and if not answer to following question. How many ‘bad’ traces are there in the dataset? Is it just a faulty receiver or a number of receivers or a whole shot? Identify ‘bad’ data and show proofs. In CHAN:FFID sorting, not all the traces have similar quality. There are bad recording reoccur at FFID 187 (one recording totally fail).
In FFID:OFFSET sorting, as the picture below we can clearly see that FFID187 failed to record the data.
1.3 Resort data in CDP: AOFFSET order; - explain changes in number of traces per ensemble in respect to SOURCE: AOFFSET. In CDP: AOFFSET, number of traces per ensemble increasing regarding to #fold. SIN:AOFFSET sorting, however, has a constant #traces per ensemble through all the SIN. The differences are shown in the picture below.
CDP: AOFFSET - #traces start from 1 and increase towards, maximum at 29 traces per ensemble and the decrease afterwards to 1. (As show in the fold diagram in the next page)
SIN:AOFFSET - #traces = 230 through all SIN
- Compute expected fold from the survey parameters (Lecture 2),
𝐶𝐷𝑃𝑓𝑜𝑙𝑑 =
230 ∗ 12.5 = 28.5 2 ∗ 50
- Compare it to the fold you could estimate visually. Why number of traces per ensemble on first few ensembles is smaller than on the CDP ensembles from the central part? The calculated fold number is not equal to the true fold in each CDP. In CDP:AOFFSET sorting, number of traces per ensemble depends on #fold at a particular CDP. Since first few ensembles have small fold number, they have lower #fold than CDPs at the central as shown in the fold diagram.
1.4 Explain the following sorting order
Sorting order - CDP:OFFSET 1-50(5):1-500 For CDP: taking trace 1 - 50 every 5 traces e.g. 1,6,11,… and for OFFSET: taking 1 - 500 every traces. / means ‘and’ (use to separate sorting order, but merging all of them together) 50-1000(10):500-1000 For CDP: taking trace 50 - 1000 every 10 traces e.g. 50,60,70… and for OFFSET: taking 500-100 every traces. Can this sorting order be used - for the marine dataset ‘raw data’ - for the marine dataset ‘raw data wg’ and why? This sorting order cannot be used for the raw data because it has not been assigned CPD, however, it can be used for the raw data with geometry because its CDPs has been assigned in bin process.
2. Interactive analysis of travel time curves 1. Sort data in SOURCE: AOFFSET order, display each 50th source position. Sorting order is 1-500(50):*/ 2. Using tool estimate apparent velocity of direct wave. The picture below shown the estimate Va from SIN1, 51, 101, 151 and 201.
3. Using the same tool estimate stacking velocity of water bottom reflection, several subbottom reflections and water bottom multiple.
- How does stacking velocity changes with depth? Stacking velocity increases with depth but this assumption cannot be applied to stacking of water bottom multiples since do not follow the assumption. - Compare stacking velocity of water bottom reflection to stacking velocity of the first water bottom multiple reflections. Explain the result. Stacking velocity of water bottom reflection is very close to stacking velocity of the first water bottom multiple reflections. This due to these waves travel in the same medium so their velocity are similar, however, the multiple started to occur in later time because it reflected twice.
2a. Interactive analysis of travel time curves – land data 1. Create another line within your ProMAX area, name it ‘Land seismic line’ if it has not be done yet. 2. In this line create the flow ‘010 – SEG-Y Input’ and load file ‘wd_nov2008_shots.sgy’ to database, name the dataset ‘land raw data’. You may use Copy option to copy existing flow ‘010 – SEG-Y Input’ from Marine Line and then adjust routine parameters (the file name in DISK file path name and output file name in Disk Data Output).
Note: Click copy SEG-Y input and rename in your flow
3. Create or copy flow ‘TRACE DISPLAY’, read and display first 5 ensembles from ‘land raw data’ dataset using SOURCE: CHAN sorting.
4. Identify direct wave, reflected wave and ground roll. Estimate parameters of travel time curves of these waves. Each wave type is shown in the picture below. The average velocity of the direct wave is 1800 ft/s and the average velocity of the reflected is 2040 ft/s.
3. Interactive spectral analysis – marine data 1. Create a flow SPECTRAL ANALYSIS with Disk Data input and Interactive Spectral Analysis routines. Data must be sorted in SOURCE: CHAN order. 2. Select parameters of the ISA as shown on the figure below:
3. Compute power spectrum of direct wave, water bottom reflection, and ambient noise recorded before the first arrivals. Explain the results. Ambient noise - Energy scattering throughout all channels - Energy peak at 3 Hz (low frequency) - Normal distribution of the energy centred at 35 Hz.
Reflected wave - Peak energy at 50 Hz - Distribution of energy is in a range between 0 – 70 Hz. - Energy spread through all of the channels.
Direct wave - Energy peak at 8 Hz and distribute between 0-60 Hz. - Energy concentrates at CH 0-20.
4. Try different windows (small, big, narrow or wide) for power spectrum calculation. Analyse the result. The window dictates the area of calculation. The wider area the more information, however, some of information is irrelevant to a particular analysis objective. Hence, we need to set our analysis target and select window size and location according to the target e.g. for direct wave spectral analysis, only select the area covered direct wave and try not to select others feature. 5. Display Average Power spectrum for ambient noise. Change display type from Percent Power to dB Power. Go to View -> Power Scaling -> Display Type. Analyse the difference. How do the values on the Percent power spectrum relate to those on dB power spectrum? dB power is computed from energy in each signal frequency and display without weighting (power dB = 10logP(f)). On the other hand, %power display is obtained from P(f)=(abs F(f))^2 with weighting effect depends on how much frequency lying at a particular frequency. As the display below, energy highly concentrate at 0 – 10 Hz, dB power display showing true dB power at the range of frequency, but %power weights this energy with power of energy for whole frequency content. Overall, %power can clearly show us which frequency contains the maximum and the minimum energy.
6. Change paremeters of phase visualisation. Go to View -> Phase Spectrum -> Phase shift type – >Linear This function shows us how the phase spectrum will look like after linear shift (according to input value). We can change it to sample shift or time shift, which is shifting the phase to a particular sample/time. Phase wrapping -> Unwrapping
Unwrapping the phase spectrum removes the discontinuities at +/- 180 degrees in phase spectrum. So it will make phase spectrum smoother by average individually unwrapping phase.
3a. Interactive spectral analysis – land data Repeat same procedure for land data example. What is amplitude spectrum of direct wave, ground roll, reflections? Central frequency of the direct wave is 40 Hz. There is a relatively high energy spectral at 2-3 Hz, which is very low frequency that may attribute from background noise.
Amplitude spectrum of ground roll concentrated at 20 Hz, can be considered as central frequency of the ground roll.
There is a peak energy spectral at 3 Hz, which is very low frequency that may attribute from background noise. The central frequency of the reflected wave is 25 Hz.
Workshop 4. Pre-processing and signal processing 1. Trace Kill Some traces can contain no signal (due to hardware malfunction) or be polluted with large amount of noise (acoustic or electric). These are to be removed from processing as they are not going to improve results of processing. Create processing flow 050 – Pre-processing with Disk Data Input (DDI, from raw data with geometry) and Trace Display (TD). Data should be sorted in SIN:CHAN order, display should be in grayscale mode, ~20 ensembles per screen. Scroll though the data and pick bad traces (Picking/Bad traces, see the figure below). You’ll need to create new pick, select CHAN as a secondary trace header. Save the pick (File->Save Picks). Exit TD.
After picking the traces are stored in: ‘bad trace’.
After add ‘Trace Kill’, select to remove bad trace from the pick and execute, the bad trace is removed from the data.
2. Muting Top/bottom muting can be used to remove coherent noises recorded above/below certain time. In the training marine dataset the only type of noise which can be removed in that way is direct wave. In fact there’s not much reason to mute it as it is not interfering with the signal. However in order to learn how to use muting pick top mute which will eliminate direct wave as a function of (a)offset and try applying it in the pre-processing flow using Trace Muting routine. It might be convenient to change parameters of DDI and TD in the pre-processing flow in order to adjust parameters using limited amount of ensembles (keep the same sorting, but input every 20-th common-source gather).
The flow will be applied to the whole dataset later on. Muting parameters should be picked in common source gathers:
1. Picking->Top Mute, create new table (‘Top Mute’), use AOFFSET as a secondary key . 2. Pick top mute on one of the ensembles and project to others (MB3, Project): 3. Save the table (File->Save picks).
4. Add Trace Muting to processing flow:
3. Bandpass filtering The data contains low-frequency random noise. To remove it, add Bandpass Filter to processing flow. Select optimum parameters and explain your approach in the lab book. Usable seismic reflection energy – 10-70 Hz with 30 Hz – peak frequency (Lecture note 4). The approaches of filter designs are to keep the usable signal as much as possible and screen noise out. Interactive spectral analysis is used to determine frequency content in the signal.
Ormsby bandpass filter 5-10-65-75 is selected. The result is shown below.
4. Amplitude decay compensation, Parameter test Two different approaches can be applied to amplitude decay compensation. 3.1 True Amplitude Recovery Try using True Amplitude Recovery to apply ‘Time raised to a power’ correction with different parameters.
Note: This setting can suppress the presence of the direct wave in early time and enhance reflection waves in later time. It is convenient to experiment with TAR parameters in common offset domain, looking to nearest channel i.e. resort the data by changing parameters of DDI to read only first channel (but all shots):
Note: CHAN:SIN sorting shows effect of TAR clearer
Using Parameter Test routine create display with time-power TAR constant being 0.5, 1.0, 1.5, 2.0, 3.0. Select best option: 3. Change parameters of the TAR as shown below (99999 is a special value for the parameter being tested):
4. Run the flow. 5. Select the best result (explain why), change parameter at TAR from 99999 to the parameter which produced it. Power 2.0 is selected because it yields the optimum results in both early time and late time reflections as shown in the picture below. From power=0.5 and 1.0, TAR fail to attenuate direct wave. Moreover, they are unable to recover amplitudes of late time reflection. Power = 1.5 is acceptable, however, there still clearly see the presence of the direct wave. Power = 3.0 yields the best late time reflection, on the other hand, the early time reflections are suppressed too much as some reflectors are hardly recognize.
6. Remove Parameter Test from the flow (or make it inactive).
3.2 Automatic gain control (AGC) Try using AGC instead of TAR. Use Parameter Test to vary AGC operator length from 30 to 1000 ms (4-5 values). Select one of the approaches (TAR or AGC). Parameter test options
In AGC, time window 500 ms is selected due to it yields the optimum result. We can clearly see reflector details after AGC (with window500 ms) , however, coherence noise is also boosted as shown in the picture below.
Comparing TAR power 2.0 against AGC time window 500ms, TAR gives better subsurface reflector image. In addition, a majority of coherence noise is eliminated while in TAR coherence noise is boosted. Hence TAR power 2.0 is selected method in amplitude recovery process. Finalise the pre-processing flow. It should contain: DDI Trace Kill (Muting) Bandpass filter TAR or AGC
My finalise pre-process flow.
5. Apply the pre-processing flow to the whole dataset Add Disk Data Output routine to the 050 – Pre-processing flow. Adjust parameters of DDI to apply the flow to whole data range. Execute the flow.
Compare raw and pre-processed data using the TRACE DISPLAY flow. The comparisons are shown in the picture below.
Note: processing summary 1. Trace kill: remove bad trace/bad recording (2. Trace muting: remove unwanted part of the traces ) 3. Bandpass filter: Remove unwanted frequency and preserve usable signal 4. Amplitude recovery (TAR/AGC): Recover amplitude at later time. (TAR also suppresses amplitude of early time. It’s very useful for direct wave removal since it appear in the early time record.)
Workshop 5. Deconvolution This workshop involves operations with synthetic data only. In your area in ProMAX create line ‘Deconvolution’.
Deterministic deconvolution 1. In a separate processing flow generate synthetic data using routine ‘Synthetic Trc Generation’ and save the data to a dataset (A).
List of synthetic events: 2,100,10,1,300,0,20/2,200,10,-1,300,0,20/2,230,10,0.5,300,0,20/2,400,10,1,300,0,20/ 2,500,10,-2,300,0,20/ 2,800,10,1,300,0,20/ Last parameter in the line is the central frequency of (minimum phase equivalent of) Ricker wavelet. 2. In the same flow create dataset (B) with same events using spikes instead of Ricker wavelet. Compare datasets A and B.
The first dataset simulates earth response filtered with the wavelet. Find corresponding events, explain your observations. The corresponding events are that both dataset occur at the same time and their amplitude at a particular time are match e.g. at 500 ms we can clearly see the biggest Ricker wavelet and the biggest impulse with amplitude 2. Ricker wavelet is a simulate earth response convolved with the transmitted wavelet, on the other hand, spike wavelet represents the earth response.
3. Create a dedicated flow to derive an inverse filter. First, create single trace containing the same impulse you used for synthetic generation.
Create inverse filter and save it to separate dataset:
4. Compare amplitude spectra of the impulse and the inverse filter.
In inverse filter spectra analysis, it has the central frequency at 59 Hz. Its energy mostly lying between 45 - 65 Hz. After 50 Hz, it has low energy spectral -20 dB throughout the entire energy spectral.
In synthetic impulse spectral analysis, however, has central frequency at 20 Hz. Majority of the energy concentrated at 0 – 40 Hz. From the observation, synthetic impulse has lower frequency than its inverse since its central frequency concentrated at the lower frequency.
5. In a new flow apply inverse filter to the dataset. Explain the results.
Purpose of this flow is to convolve Ricker wavelet (wavelet A) with its inverse filter. After the convolution process, the result is spikier than wavelet A. The result has some resemblances to impulse train, except its spikiness, it has high amplitude in a very short time at the central frequency of wavelet A events.
6. Add 1% of random noise to the dataset and repeat step 4. Explain the results.
Adding noise to wavelet A resulting in a spikier convolution result. Comparing convolution results, the quiet zone in ‘no noise’ result clearly appears to be spikier ‘noise added’ result. According to ideal impulse characteristic, adding noise in to wavelet resulting in its convolution result (convolution with its inverse) is far different from an ideal impulse train which we expected.
Compare amplitude spectra of the results: The results from ‘noise free’ and ‘noise added’ are very similar. The example of a small difference can be seen at the arrow point. Since noise is random, it contains energy in every frequency evenly and its energy in a particular frequency is relatively low compared to the signal. Hence, adding noise into the signal before deconvolution, the effect in changing amplitude spectra in the deconvolution result is very low. 7. Repeat steps 3-6 varying length of the inverse filter (try values 50, 100, 200).
8. Create display comparing datasets , and result of deconvolution, explore changes in the amplitude spectrum (using Interactive Spectral Analysis). Applying the filter with different lengths (50, 100, 200 ms) to “A” dataset with noise free. From the display, we can clear see that convolution wavelet A with a longer inverse filter yields the better result e.g. more similar to impulse train which we expected.
Applying the filter with different lengths (50, 100, 200 ms) to “A” dataset with noise added. From the display, the longer inverse filter length yields the better noise suppression in convolution process.
Spectral analysis
The longer inverse filter length gives the better noise suppression result. With inverse filter length 200 ms, noise almost disappears from energy spectra. The longer inverse filter length, the less range of energy distribution in convolution result. With inverse filter length 200 ms, energy tends to concentrate between 0 – 50 Hz, while with filter length 100 ms, energy spectral distribute between 0 – 80 Hz. Since energy is conserve, concentrate energy at the useful frequency should enhance the desire signal.
Predictive deconvolution Create separate flow for the predictive deconvolution exercise. It should consist of following routines: Note: Additive Noise and Spikes routine will be used to add up to 5% of random noise:
1. Using ‘Synthetic Trc Generation’ generate several (~30) traces with model of primary reflections:
Events list: 2,100,10,0.5,300,0,60/ 2,400,10,-1,300,0,60/ 2,500,10,1,300,0,60/ 2,700,10,1,300,0,60/ Save it to a dedicated dataset. 2. Generate synthetic data containing model of primary reflections plus model of peg-leg multiples. To do this change events list to: 2,100,10,0.5,300,0,60/ 2,140,10,0.25,300,0,60/2,400,10,-1,300,0,60/ 2,440,10,-0.5,300,0,60/ 2,500,10,1,300,0,60/2,540,10,0.5,300,0,60/ 2,700,10,1,300,0,60/2,740,10,0.5,300,0,60/ I.e. add model of multiples as half-amplitude primaries, shifted down by 40 ms (left display – primaries, right – primaries and multiples):
3. Perform predictive deconvolution using known (40 ms) prediction interval and varying operator length (10, 20, 40, 60, 80, 160 ms):
Determine optimum operator length and compare results of predictive deconvolution to primaries-only synthetic dataset. The operator length 40 ms is selected since it is optimum parameter to suppress multiples while in others operator length, the presence of multiples is obvious even though they are shifted to the later time as show in the figure below.
Evaluate influence of white noise level parameter. Explain your observations.
White noise level influences the ability of deconvolution to suppress multiples. As seen in the noise free simulation, after deconvolution, we can scarcely see the presence of multiples. Noise added simulation, however, we still can clearly see the presence of multiples (in the black rectangulars frame). In summary, the level of noise decreases the ability of deconvolution to suppress multiples.
Workshops 6 and 7. Velocity analysis, NMO and stacking (Given information) The CDP is a powerful technique for suppression of different noises on reflection seismic data, both random and coherent, having kinematic characteristics being different from those of primary reflected waves. In order to apply this technique one should: 1. Combine traces in CDP gathers 2. Apply normal move out correction (NMO), i.e. stretch each trace in order to convert it to zero-offset using the fact what travel time curves for reflected waves can be approximated with hyperbola: 𝑇𝑟𝑒𝑓𝑙 (𝑜𝑓𝑓𝑠𝑒𝑡, 𝑇0 ) = √𝑇02 +
𝑜𝑓𝑓𝑠𝑒𝑡 2 ,𝑉 ≈ 𝑉𝑅𝑀𝑆 (𝑖𝑛 1 𝐷 𝑙𝑎𝑦𝑒𝑟 𝑚𝑒𝑑𝑖𝑎) 2 𝑉𝑁𝑀𝑂 (𝑇0 ) 𝑁𝑀𝑂
3. Stack all traces in each CDP gather. Stacking velocity 𝑉𝑁𝑀𝑂 = 𝑉𝑁𝑀𝑂 (𝑇0 , 𝑥̅ ) can vary with depth (however it is more convenient to parameterise it using 𝑇0 -time of arrival of reflected wave on a zero-offset trace) and CDP coordinates and can be estimated from the actual data using Velocity analysis. Next several workshops are aimed to show how this approach works and will consist of three steps: 1. NMO + Brut stack. Here we will sort input data in CDP:OFFSET order, apply NMO with just one velocity function and stack them to produce so called brute stack (i.e. preliminary, very draft stack). 2. Stacking velocity analysis. 3. NMO(using estimated velocities) + stack
Part 1. NMO+Brut stack 1. Create a new flow, 060 – Brute stack and apply NMO with single velocity to several ensembles and analyse the effect of NMO to data. In DDI sort data in CDP: AOFFSET order, include several CDP ensembles from full-fold interval, for instance, use each 200th CDP gather from 500 to 1500. Trace display should be in WT/VA mode. Initially make NMO routine inactive. Execute the flow.
Trace display
Make NMO routine active, edit parameters as shown in the figure below. It will apply NMO with velocity as in water and without stretch mute.
(CDP1:T1-V1,T2,V2/) Execute the flow, explain your observations. What happened to: 1) water bottom reflection, 2) sub bottom reflections, 3) water-bottom multiples? All of the 1, 2 and 3 are stretched. However the levels of stretching are different depend on a velocity of a particular wave. Water bottom reflection and water-bottom multiples have velocity approximately 1500 m/s, hence it almost perfectly stretched after NMO correction. Sub-bottom reflections, on the other hand, have various velocity (>1500 m/s) , hence they are under stretched after NMO correction.
Execute the same flow with single velocity being equal to 1300 m/s, 1400 m/s, 1550 m/s, 1600 m/s, explain observations.
Overcorrection, estimated VNMO is too low.
Overcorrection, estimated VNMO is too low.
Undercorrection, estimated VNMO is too high.
Undercorrection, estimated VNMO is too high.
Observations: In NMO correction, it uses estimate velocity of a particular reflected wave to calculate its travel time. When VNMO is lower than the real reflected wave velocity, the result in NMO correction appears to be overcorrected while when VNMO is higher than the real reflected wave velocity, the result in NMO correction appears to be undercorrected. 2. Derive single depth/time varying velocity function. To do this in the same processing flow make NMO routine inactive, execute it and approximate several primary reflections with hyperbolas as it is shown in the figure below. This will allow you to obtain several pairs T0- VRMS .
(T0 - VRMS); 1:0-1500,1392-1500,2112-1762,2556-1941,10000-2000/ Note that we could not see any primary reflections below multiples clearly. Apply NMO with single time-variable velocity function and no stretch mute.
How the result is different from those cases then just single value of velocity was used for all T0 values? Find how signal is being stretched on large offsets. Using single velocity in NMO correction is unable stretch all the events with different velocity perfectly (mostly over/understretched). While using a proper velocity for a particular event (as shown in the figure below) improves ability of NMO correction to stretch that particular event specifically. For an optimum NMO correction, all of the target events need to be assigned correct Tn and Vn in order to increase they S/N in stacking process. The signals at large offset increase in their frequency. They appear to have longer wavelengths than before NMO stretching Change stretch mute to 30% and execute the flow again. What has changed?
Comment: NMO stretching contributes to frequency distortion in shallow features at far offsets (events are shifted to ∆𝑓 ∆𝑡 lower frequency). Stretching is quantified that = 𝑁𝑀𝑂. Stretch wave form at large offsets can damage shallow 𝑓
𝑡0
features in the data. However the problem can be solved by muting the stretched zones in the gather. Observations: No stretch allows all the data to be appear on the screen. 30% stretching allows only shown while 80% stretching allows only
∆𝑓 𝑓
< 80% to be shown. Since
∆𝑓 𝑓
∆𝑓 𝑓
< 30% to be
increases with offset, the more percentage of
muting is the more data to be shown. 3. Apply NMO to whole pre-processed dataset and produce brut stack Change parameters of DDI to bring all CDP gathers to the processing flow; add routine CDP/Ensemble Stack and DDO after NMO:
Trace display
Compare brut stack with single (first) channel record (use pre-processed data).
Are there any improvements in S/N? After stacking, the display shows that there is a significant improvement in S/N compared to pre-processed data. We can see stronger reflection events after the stacking. Recompute brut stack (but do not save it to disk) using just single velocity value (1500 m/s). What is the difference between these two brut stacks? In brute stack 1500 m/s, CDP gather shows strong reflector event only at the reflected waves V~1500 m/s as circle in the picture below. Brute stack, however, shows strong reflector events at various reflected wave velocity e.g. 1500, 1762 and 1941. Expectedly, if we input the right velocity for a particular reflected wave, its stacking subsequently improved in S/N and showed as stronger reflector CDP gathers display.
Part 2. Stacking velocity analysis Stacking velocity analysis (VA) is a parameterisation of travel time curves of reflected waves using usually two parameters 𝑉𝑁𝑀𝑂 𝑎𝑛𝑑 𝑇0 (some additional parameters can be used in case of presence of anisotropy). Traditional (sometimes called ‘vertical’) velocity analysis allows to estimate 𝑉𝑁𝑀𝑂 = 𝑉𝑁𝑀𝑂 (𝑇0 𝑥̅ ) in a several discreet points along the line. To apply NMO for each trace stacking velocity is needed for the CDP gather to which this trace belongs. If no stacking velocity function is defined for it, it will be generated by interpolation using nearest CDPs for which velocity analysis was performed. I.e. you should select velocity analysis step along the line small enough to describe lateral velocity variation. Quite often signal/noise ratio for some weak reflection (especially in a lower part of the section) is poor. In order to obtain robust estimation of stacking velocities several dedicated workflow improvements are being used. 1. Seismic data can be prepared separately for the purposes of velocity analysis and for obtaining optimum stacked sections. In first case the main almost only signal/noise ratio if the key factor while in the second we might want to achieve some specific goals like improve vertical resolution or preserve amplitudes. This means that to run the VA is might be useful to create separate dataset with some routines which can improve S/N in exchange for resolution (narrow bandpass filter) and true amplitudes (AGC) applied. 2. Signal/noise ratio can be improved further if we use several neighbouring CDPs together to form so called supergathers. This is relatively seldom method while producing stacked section as it affects lateral resolution (it smears stack), but for purposes of the VA it is the default approach.
Finally, computation of velocity spectra and constant velocity stacks is a relatively slow process. In order to make the velocity analysis being a user-friendly routine in ProMAX velocity analysis requires precompute step.
1. Stacking velocity analysis 1. Create separate flow to run velocity analysis (070 – Velocity analysis). Flow should consist of following routines: Parameters should be defined similar to examples shown below. Super gather: VA precompute:
Velocity analysis:
Pick velocity functions for each super gather; store them to a dedicated velocity table.
Note: We don’t need to pick multiples velocity because we want to remove it in stacking process. Hence Vrms is extrapolated in the time where there are the presences of multiples.
2. NMO (using estimated velocities) + stack In a new flow, similar to the one used to compute the brute stack, 1. Apply NMO using to several CDP gathers using derived velocity table. What happened to: 1) water bottom reflection, 2) sub bottom reflections, 3) water-bottom multiples? Both water bottom reflection and sub bottom reflections are almost perfectly stretch, however, water-bottom multiples are undercorrected. Since we extrapolate the velocities after the last sub-bottom reflection by assuming that the velocity of reflected wave increases with depth but in case of multiples it do not follow this assumption, resulting in undercorrected as shown in the figure below.
2. Compute stack section using velocity table obtained on previous stage, and compare this stack to the brute stack. S/N of water bottom reflection is almost the same compared to brute stack 1500 m/s due to we use the proper velocity for water bottom reflection in NMO correction before staking. However, if we use higher or lower velocity than the real water bottom reflection velocity in NMO correction, S/N in water bottom reflection of that brute stack should be significantly low comparing to NMO correction using estimated velocity + stacking. S/N of sub-bottom reflections are clearly improved owing to we use estimated velocities in NMO correction before stacking. Water bottom multiples are removed after stacking because we didn’t estimate their T0 and Vrms in NMO correction. So when stacking, these signals are cancelled. The results are shown below.
3. Velocity analysis - QC Create new flow; name it ‘080 – Velocity viewer’. This flow should consist of only one routine: Velocity Viewer/Point Editor
After correction
4. Velocity manipulation ProMAX routine Velocity Manipulation can be used to perform various transformations with velocity tables, such as transformation of stacking velocity to interval velocities, smoothing of the velocity field, etc. Use this routine to generate single average RMS velocity function.
This function can be a good guide function for next iterations of the velocity analysis. Comment: After execute the flow, this function will compute Vrms of each layer, resulting in constant velocity in each particular layer. In addition, it also smoothen the velocity curve as shown below.
Workshops 8: FK filter application We continue processing of the real 2D marine line. Here we assume that pre-processed data as well as initial results of velocity analysis were prepared during previous workshops. The goal is to compare two different ways of multiples suppression: radon and FK filtering. - Perform FK analysis - Define mute polygon - Stack data with FK filter applied - Compare with stack data with radon filter applied.
1. Velocity manipulation Use this routine to generate single RMS velocity function which will contain average table with stacking velocities decreased by 25%. As input velocity table use the best possible velocities obtained during the last velocity analysis
2. FK analysis Create dedicated flow to perform FK analysis (100 – FK analysis). We use common source gathers. Read and display pre-processed source gathers, apply NMO with single decreased RMS velocity function v1_75. Zero stretch mute should be used. Introduce routine FK Analysis to the flow:
Execute the analysis; pick the mute function.
3. FK filter application Change the flow as shown below:
4. CDP stack after FK filtering Compute stack after FK filter, compare it with previously computed stack sections after velocity analysis and radon filtering. Flow for staking data after F-K filtering
Comment: After using FK-filter before stacking, the frequencies inside the selected triangle in FK domain are removed. Hence when we stack the data after F-K domain, we are unable to see that frequency contents in the data display. In addition, the removed frequencies are belong to multiples, so that multiples can be removed by F-K filter.
Workshops 9: Demultiple in Tau-P domain One of standard demultiple approaches is the one based on parabolic τ−p transform. Generic workflow for it provided below: 1. Estimate stacking velocities VNMO(x, T0) 2. Decrease VNMO velocities by several percent. New stacking velocities should overcorrect primary reflections, but undercorrect multiples. 3. Using parabolic tau-p transform model multiples and subtract them from initial wavefield. 4. Repeat velocity analysis using results of de-multiple workflow and update stack section. We continue processing of the real 2D marine line. Here we assume that pre-processed data as well as initial results of velocity analysis were prepared during previous workshops.
1. Velocity manipulation ProMAX routine Velocity Manipulation can be used to perform various transformations with velocity tables, such as transformation of stacking velocity to interval velocities, smoothing of the velocity field, etc. Use this routine to generate single RMS velocity function which will contain average table with stacking velocities decreased by 5-10%.
2. Interactive tau-pi analysis Create dedicated flow to perform tau-p demultiple (100 – Tau-P demultiple). Initially we use it to do interactive tau-p analysis and define parameters of the muting in parabolic tau-p domain which will separate primaries and multiples. It is possible to do tau-p demultiple using different gathers, this time we use common source gathers. Read and display each 40-th pre-processed source gather, apply NMO with single average RMS velocity function and single function with decreased velocities (prepared at the previous step). Compare the results. Note: Since the velocities are decreased by 10%, the primary reflections are overcorrected while multiples are remain undercorrected.
Note what in the demultiple flow purposes we should avoid using stretch mute:
Introduce routine Interactive Radon/Tau-P Analysis to the flow: Parameters of the Tau-P analysis routine:
Note: mute (in this case – top mute) should use two header values, the primary should be SIN, the secondary must be user-defined header Moveout. Execute the analysis; pick the top mute function for all selected common source gathers. Comment: After picking and muting primaries, the program performs inverse of radon for multiples into T-X domain, and then multiples are subtracted in T-X domain resulting in multiples are removed from T-X domain display as shown below.
3. Application of Tau-P demultiple Change the flow as shown below: Parameters of the Radon Filter should mimic those of Interactive Radon/Tau-P Analysis:
Execute the flow, compare results of tau-p demultiple to the input data. Comment: After tau-p demultiple is computed, multiples are suppressed. The presence of multiples is hardly recognized while multiples in an input data are obviously shown.
5. Velocity analysis, NMO and stack 1. Repeat velocity analysis using result of the demultiple procedure as an input. Velocity analysis step should be 50 CDPs, use CDP range of 200-1600.
2. Compare velocity spectrum obtained after demultiple to the velocity spectrum before the procedure. Explain your observations. Observation: In the velocity spectra of input data (before Radon filter is applied), there is a discontinuity of velocity between primaries and multiples while the velocity spectra after using Radon filter shows a continuity throughout all of the spectra. However, the velocity spectra after Radon filter in the late time are scattered, unlike the input data which multiple velocities are concentrated in one line.
3. QC velocity field, repeat velocity analysis if necessary.
Comment: There are discontinuities in velocities of Tau-P data demultiple data compared to processed data. To make it smoother (more geological possible), its velocities are adjusted in velocity editor flow. The result is shown below.
4. Compute stack after tau-p demultiple, compare to previously computed stack sections. Comment: Even though stacking by using velocity analysis provides a good multiples suppression, tau-p demultiples and F-K filter show superior ability in multiples suppression as show in the display. It’s quite hard to distinguish the final results between stacking data after tau-P and F-K filter, however, when looking closely tau-p data shows stronger primaries than F-K filter data. In addition, tau-p performs good multiples reduction while preserving frequencies of primaries. In my opinion, I would select tau-p in multiples removal for this dataset.
Workshop 10: Migration Migration is the process of placing seismic reflection energy in its proper subsurface location. It can be considered as a dip-distortion correction made by moving reflection points away from their positions on vertical lines, onto inclined lines that correspond to travel paths. Migration operators can be applied in both the time and space domains. There are many formulations of Time migration: - Stolt migration, - Kirchhoff migration, - Finite-difference migration. We continue processing of the real 2D marine line. Here we assume that we got the best possible stack as well as the best possible velocity field during previous workshops. The best possible stack in our case means the stack with multiples suppressed. The best possible velocity field means the smooth velocities obtained after multiples suppression.
Memory Stolt FK Migration This algorithm uses Stolt’s stretching technique to account for vertical and lateral velocity variations. It is computationally efficient and is very accurate for constant velocities, but has difficulties imaging steep dips in areas where there are large vertical or lateral velocity variations. We use this routine to migrate stacked data. 1. Create dedicated flow to perform Time Migration 200 – Migration.
We first migrate the data with the slightly incorrect velocities - over and underestimated. We analyse results. Then we improve the velocity field by using the real velocities instead of over and underestimated ones. The purpose of this exercise is to compare the results and tell the difference between them. How velocities affect the data? 2. First, obtain single rms velocity function from the best possible velocities. Use Velocity manipulation routine. It provides a lateral average of velocities from your best velocity field. Save it in a new velocity table “single vel for migration”. It will be used in Memory Stolt FK Migration tool 3. Migrate data with underestimated by 10 and 20%, correct and overestimated by 10 and 20% velocities. Percent velocity scale factor can be changed in Memory Stolt FK Migration routine. Parameters for Migration should be as follows:
Obtain 5 migrated stacks changing “Percent velocity scale factor” from 80% to 120% with a step of 10%.
Display the migrated stacks in Greyscale mode. Compare it to the stack before migration. In your case it will be stack after radon filter. Note what’s happened with diffractions. Describe the difference. Which one gives the best migration results? In Radon stack, we can clearly see diffractions in CDP gathers while after stolt F-K migration using 100% Vrms, diffractions are reduced. However some of reflectors look wavy which may regardless of geology but from the mirgration itselves.
In Stolt F-K migration with underestimated velocities, we can still see the traces of diffractions. However 10% underestimated velocity has a better ability in diffractions removal compared to 20% underestimated velocity.
With overestimated velocity migrations, diffractions are almost gone, however, the reflectors are too wavy than they should be.
Comment: In my opinion, Stolt F-K migration with 100% Vrms gives the best result because it removes diffractions and damages reflectors appearance in a lower degree compared to those overestimated velocities. The reason that Stolt F-K does not give a very good migrations result in this data set may attributes to variation of the velocity and geological complexity. We can see that most of wavy reflectors occur at areas near the fault. In migration process, the accuracy of velocity directly related to migration result, the best possible velocities should be used in order to get optimum migration result.
Kirchhoff Time Migration This type of migration performs a time migration by way of summing of traces over hyperbola calculated from a vertically and laterally variant RMS velocity field in time. This type of migration is generally used for smoothly varying velocity fields with moderately complex structure. 1. Introduce Poststack Kirchhoff 2D Time Migration routine to the flow.
Note: If repeat running is required, ‘Run type’ should be changed to ‘Normal (overwrite)’. 2. Execute the flow and compare the result with the previous one (Memory Stolt FK Migration - used with single velocity function obtained from real data).
Comment: Kirchhoff migration significantly improves diffractions around the fault (in the red circle), so we can see the shape of the fault clearer than in Stolt F-K migration. In addition, since Kirchhoff migration allows velocity variations and moderate geological complexity, the wavy reflectors as seen in Stolt F-K migrations are improved to be more geological possible. Despite the edged of Kirchhoff migration result is stretched, it does not affect appearance the dataset. However, there are some traces of diffractions as pointing by yellow arrows.
Finite-Difference Time Migration The finite-difference migration can be calculated using Fast Explicit FD Time Migration. It migrates stacked data using a modification of explicit finite-difference extrapolators. FD migration can handle fully variable interval velocity fields in time, and likewise handles well moderate dips. 1. Introduce Fast Explicit FD Time Migration routine to the flow. Note that we are using interval velocities in time! 2. Use Velocity Manipulation tool to convert RMS velocities to the interval velocities in time. We are using single average velocity table.
3. Execute flow and compare the result with the stack before migration and with the migrated stacks obtained with Memory Stolt FK Migration and Poststack Kirchhoff 2D Time Migration. Comment: In the stack before migration, we can clearly see diffraction events. From the display below, FD time migration perform better diffractions removal over Kirchhoff 2D time migration and FD time migration, hence we can see reflectors and the presence of the fault clearer after FD timmigration without interferences of diffractions. However, with the same dataset, FD time migration takes the longest computing time.
Finite-Difference Depth Migration Finite-difference Migration can also be performed in the depth domain using Explicit FD Depth Migration. It is also good at handling vertically and laterally variant velocities and relatively steep dips. 1. Introduce Explicit FD Depth Migration routine to the flow. Parameters of Explicit FD Depth Migration: Note that this time we are using interval velocities in DEPTH!
2. Use Velocity Manipulation tool to convert RMS velocities to the interval velocities in depth (described above). 3. Execute flow and analyse the result. Compare the result with the stack before migration and with the previously migrated stacks. What is the main difference? Can we actually compare these stacks? The main different between the result after FD depth migration and others is that the domain of data (FD depth migration is in depth domain, others are in time domain). Hence we are unable to compare the results in different domains.
(CDP Gathers in Depth domain)
4. In order to be able to compare the dataset obtained in depth domain to the ones obtained in time domain we need to perform depth to time conversion. Create dedicated flow 300 – Time/Depth Conversion. Introduce Time/Depth Conversion routine to the flow. Time/Depth Conversion parameters:
5. Execute flow. Compare the result with the stack before migration and with the migrated stacks obtained with Memory Stolt FK Migration, Poststack Kirchhoff 2D Time Migration and Fast Explicit FD Time Migration.
Comment: In Radon stack data (before migration), diffractions obscure the presence of the fault. After migration, diffraction events are suppressed, so that we can see the fault and reflectors clearer. Stolt FK migration caused wavy reflectors in this dataset which is undesirable effect. Kirchhoff 2D has moderately good performance in diffractions removal, however, some diffractions still remain. FD time migration gives better result in diffractions removal compared to those mentioned method (Stolt FK and Kirchhoff). However FD depth migration, perform the best diffraction removal while preserving reflector plains. In order to obtain good migration result, the best possible velocities are required. Moreover we have to have some ideas about geological complexity and velocity variations to select the most appropriate migration method according its constrain.
View more...
Comments