MATLAB FACILITIES FOR SIMPLE MODELLING AND RAYTRACE MIGRATION 109

4.3. MATLAB FACILITIES FOR SIMPLE MODELLING AND RAYTRACE MIGRATION 109

Figure 4.41: The fourth-order exploding reflec- Figure 4.42: Similar to Figure 4.41 except that tor seismogram corresponding to the model of

the spatial grid size was 5 m. Figure 4.39. This model was created using a spatial grid size of 10 m.

As a slightly more complex example that will be useful in examining depth migration, consider the response of an anticline beneath a high-velocity wedge as shown in Figure 4.39. Code Snippet

4.3.6 creates this velocity model and the fourth-order exploding reflector seismogram shown in Figure

4.41. This result was created with a spatial grid size of 10 m. It might be tempting to trust this result as the proper physical response of the model, but that could lead to erroneous conclusions. For example, it might be concluded that the response of the anticline has a series of reverberations following the primary response. However, before leaping to conclusions, it is prudent to recreate the model with a finer spatial grid size. Figure 4.42 shows the result of re-running Code Snippet

4.3.6 with the spatial grid size set to 5 m. The reverberations have vanished and the amplitude variation of the primary response of the anticline has changed considerably. Once again, it pays to

be cautious when working with finite difference synthetics. The only way to be certain is to fully understand the algorithm and how to change the parameters to increase the accuracy. When the accuracy parameters are increased by a factor of two and the response does not change significantly, then it is safe to conclude that the model is showing an accurate physical response. Of course, this can be a tedious process because increasing the accuracy will always increase the computation time.

Code Snippet 4.3.6. This creates an exploding reflector model of an anticline beneath a high velocitywedge. Lines 1-25 build the velocitymodel and lines 27-34 create a fourth-order exploding

reflector seismogram. The results are shown in Figures 4.39, and 4.41.

1 dx=5; %cdp interval

2 xmax=2500;zmax=1000; %maximum line length and maximum depth

3 xpinch=1500; % wedge pinchout coordinates

4 zwedge=zmax/2; % wedge maximum depth

5 x=0:dx:xmax; % x coordinate vector

6 z=0:dx:zmax; % z coordinate vector

7 vhigh=4000;vlow=2000; % high and low velocities

8 vel=vlow*ones(length(z),length(x));%initialize velocity matrix

9 % define the wedge asa three point polygon

10 dx2=dx/2;

11 xpoly=[-dx2 xpinch -dx2];zpoly=[-1 -1 zwedge];

110 CHAPTER 4. ELEMENTARY MIGRATION METHODS

12 % install the wedge in the velocity matrix

13 vel=afd_vmodel(dx,vel,vhigh,xpoly,zpoly);

14 % define an anticline beneath the wedge

15 x0=xpinch/2;z0=zwedge+100; % x and z of the crest of the anticline

16 a=.0005; % a parameter that determines the steepness of the flanks

17 za=a*(x-x0).ˆ2+z0; % model the anticline asa parabola

18 % build a polygon that modelsthe anticline

19 ind=near(za,zmax+dx);

20 xpoly=[x(1:ind) 0 ];zpoly=[za(1:ind) za(ind)];

21 %install the anticline in the velocity model

22 vel=afd_vmodel(dx,vel,vhigh,xpoly,zpoly);

23 % bottom layer

24 xpoly=[0 xmax xmax 0];zpoly=[.9*zmax .9*zmax zmax+dx zmax+dx];

25 vel=afd_vmodel(dx,vel,vhigh,xpoly,zpoly); 26

27 %do a finite-difference model

28 dt=.004; %temporal sample rate

29 dtstep=.001;

30 tmax=2*zmax/vlow; %maximum time

31 %[w,tw]=wavemin(dt,30,.2); %minimum phase wavelet

32 %[w,tw]=ricker(dt,70,.2); %ricker wavelet

33 [seisfilt,seis,t,xrec]=afd_explode(dx,dtstep,dt,tmax, ...

34 vel,length(x),x,zeros(size(x)),[5 10 40 50],0,2,0);

End Code