Geophysical Exploration of Crustal Structure

Exercise 7: Processing of real data

Exercise 6 < Exercise 7 > Report

Processing flow

  1. Check headers (Done)
  2. Band-pass filter (Done)
  3. Amplitude recovery (Done)
  4. Velocity (f-k) filter (Optional)
  5. Deconvolution (Optional)
  6. Static corrections (Not mentioned)
  7. Velocity analysis
  8. NMO correction and CMP stacking
  9. Migration

Velocity analysis

Continue doing exercise using the sample data "cdp_1095_flt_gain.su" created in the previous exercise (if you apply deconvolution, the file name will be "cdp_1095_flt_gain_decon.su").

First, display a semblance panel of the Constant-Velocity-Stack (CVS).

$ suvelan nv=160 dv=25 fv=1000 < cdp_1095_flt_gain.su | suximage f2=1000 d2=25 perc=99 mpicks=pick.txt &

Fig: A CVS semblance panel. The vertical axis is "time (s)" and the horizontal axis is "velocity (m/s)" (Left) All, (b) a zoomed portion.

Then, reshape the format of the pick-file "pick.txt" so that the picked values can be used as the input of the NMO correction program.

$ mkparfile < pick.txt > pick.par string1=tnmo string2=vnmo

NMO correction and CMP stacking

Next, apply NMO correction, and display the result.
sunmo par=pick.par < cdp_1095_flt_gain.su | suximage perc=98 &
sunmo par=pick.par < cdp_1095_flt_gain.su | suxwigb perc=98 &

If it looks OK, then apply CDP stacking. If you are not satisfied with the correction, go back to Velocity analysis and do it again.

sunmo par=pick.par < cdp_1095_flt_gain.su | sustack | suxwigb perc=98 &
sunmo par=pick.par < cdp_1095_flt_gain.su | sustack | suximage perc=98 &
Stacking creates a sigle trace with improved S/N ratio.


Application to the dataset

Now you are ready to handle the actual dataset. You can use a shell script named "interactive_velocity_analysis.sh".

You can modify the parameters at the beginning of the script. Instead, you can edit the parameters in a separate file, "parameters_for_interactive_velocity_analysis.par". If the file exists, the script reads the file. The parameters in the file has the priority.

$ emacs parameters_for_interactive_velocity_analysis.par &
$ vi parameters_for_interactive_velocity_analysis.par
Modify the parameters at the beginning of "interactive_velocity_analysis.sh" as your needs.
#================================================
# USER AREA -- SUPPLY VALUES
#------------------------------------------------
# CMPs for analysis

# CMPs
cmp1=933
cmp2=958
cmp3=983
cmp4=1008
cmp5=1033
cmp6=1058
cmp7=1083
cmp8=1108
cmp9=1133
cmp10=1158
cmp11=1183
cmp12=1208
cmp13=1233
cmp14=1258
cmp15=1283

# Number of CMPs
numCMPs=15

#------------------------------------------------
# File names

indata=Ncdps.su      # SU format
outpicks=Nvpick.txt  # ASCII file

#------------------------------------------------
# display choices

myperc=95       # perc value for plot
plottype=1      # 0 = wiggle plot,  1 = image plot

percvelan=99    # perc value for Velocity Analysis Panel

# More parameters are customizable. See the script itself.
# end
Precise velocity estimation can be achieved by choosing as many CMPs as possible, however, you have more work to do in turn. (Soon you will know that) a lesser number of points lowers the quality of the result. At least 10 CMP location is recommended.

Execute the shell script.

$ sh interactive_velocity_analysis.sh
The file of your picked result, say "Nvpick.txt", is as follows.
$ cat Nvpick.txt
cdp=950,1050,1150,1200,1280 \
tnmo=0,6.20617,6.54153,6.85235,7.17952,7.51488,7.89113 \
vnmo=1500,1453.33,1488.89,1640,1648.89,1666.67,1915.56 \
tnmo=0,6.02364,6.59894,7.08253,7.39103,7.7162 \
vnmo=1500,1518.19,1669.86,1644.58,1631.94,1859.44 \
...
This output file can be directly used as an input of NMO correction.

Execute the NMO correction and the CMP stacking using the picked result.

$ sunmo par=Nvpick.txt < Ncdps.su | sustack > Nzerooffset.su
$ suximage perc=98 < Nzerooffset.su &
A zero-offset section with an improved S/N ratio is thus created.

Fig: A zero-offset section by CMP stacking.


Displaying the velocity structure

Here we use shell scripts "plot_velocity.sh". Copy the scripts from my directory if you do not have one. Your reference is here.

This script required the result of the velocity analysis (Nvpick.txt). Display the velocity structure you created using the result of the velocity analysis. Both the stacking velocity and the interval velocity will be displayed.

$ sh plot_velocity.sh
If the velocity structure, especially the interval velocity structure, shows an unrealistic value (too large and/or too small velocity), you should go back to the velocity analysis.

Fig: Velocity structure obtained by velocity analysis, (Left) Stacking velocity, (Right) Interval velocity.


Migration

Migration is the final stage of data processing.

We will use Stolt migration (Stolt, 1978), which is an extension of f-k migration, among a lot of migration algorithms. The major reason is its short computation time. First, start with a trial.

$ sustolt cdpmin=900 cdpmax=1300 dxcdp=16.667 vmig=1500 tmig=6 < Nzerooffset.su | suximage perc=98 &
$ sustolt cdpmin=900 cdpmax=1300 dxcdp=16.667 vmig=1500 tmig=6 lstaper=20 lbtaper=100 < Nzerooffset.su | suximage perc=98 &

Fig: Migration results with v=1500 m/s.

Enjoy migration using some constant velocities and see how the result changes. You can change 'vmig=' manually. A shell script create_MIG_panel.sh does the job automatically. As you see at the beginning of the script,

------------------------------------
indata=Nzerooffset.su
outdata=migpanel.su
vmin=1000
vmax=2000
dv=100
------------------------------------
it applies the migration using the velocity from 1000 m/s to 2000 m/s with the interval of 100 m/s.
$ sh create_MIG_panel.sh
Compare the results. You may display the migrated result in a movie.
$ suxmovie n2=401 n3=11 loop=1 perc=98 title="Flame %g" sleep=1 < migpanel.su &
In the diffraction curves, an upward convex at low velocities (under-migrated) changes to a downward convex at high velocities (over-migrated).

Fig: Migration results with v=1000, 1500, 2000 m/s.

To achieve a successful migration, you should create your 1-D velocity structure by referring the following information;

then, apply migration using the velocity structure.
$ sustolt cdpmin=900 cdpmax=1300 dxcdp=16.667 tmig=0,6,7,8,9 vmig=1500,1500,1600,1700,1800 lstaper=20 lbtaper=100 < Nzerooffset.su > Nmig.su
$ suximage < Nmig,su perc=98 &

The migration result is the time section of the structure.


Once you have a velocity structure, the time section can be converted to a depth section. Usually, The time section may be the final product of processing and used fo interpretation due to the uncertainty of the velocity estimation. Here, we apply time-depth conversion just to see a rough estimation of the depth image.

$ suttoz t=0,6,7,8,9 v=1500,1500,1600,1700,1800 < Nmig.su | suximage perc=98 &
The program "sustolt" is a program of time-migration. You can obtain a depth section directly by using any depth-migration methods with a good knowledge of velocity structure, although it is time-consuming.


Exercise 6 < Exercise 7 > Report
Back
Last modified: Wed Oct 18 17:59:36 JST 2023