Introduction

This tutorial demonstrates the inversion of surface-wave dispersion and/or receiver functions for crustal structure.

This tutorial requires that Computer Programs in Seismology be installed.  This requires that the PATH environment parameter be set to point to the absolute location of PROGRAMS.330/bin. You can test this by executing the command (s):

rbh@otto:~> which saccvt surf96 rftn96 joint96 plotxvig
/home/rbh/PROGRAMS.310t/PROGRAMS.330/bin/saccvt
/home/rbh/PROGRAMS.310t/PROGRAMS.330/bin/surf96
/home/rbh/PROGRAMS.310t/PROGRAMS.330/bin/rftn96
/home/rbh/PROGRAMS.310t/PROGRAMS.330/bin/joint96
/home/rbh/PROGRAMS.310t/PROGRAMS.330/bin/plotxvig
rbh@otto:~>

You will also have to unpack the sample data sets from the tar-ball srj.tgz

In order to use the data set you must execute the following command:

gunzip -c srj.tgz | tar xvf -
cd JOINT
for i in R*[05]
do
    saccvt -I < $i > tmp ; mv tmp $i
done
cd ..
cd RFTN
for i in R*[05]
do
    saccvt -I < $i > tmp ; mv tmp $i
done
cd ..

The first command unpacks the sample data sets, creating the subdirectories JOINT, SURF and RFTN.
Since the examples contain SAC files of the receiver functions, the other command sequences go into the JOINT and RFTN directories and run the program saccvt to ensure that the SAC files are in the correct byte order for your machine.

Each directory has all of the files that are required.

Inversion strategy:

Inversion of  seismic data can lead to velocity models that fit the observed data and which also  can  be an unrealistic Earth model.  This difficulty arises because the data sets have limited resolution. For surface-wave this means an inability to define sharp layer boundaries as well as decreasing sensitivity to deep structure. Receiver functions are sensitive to both shallow and deep structure.

These examples start with a modified version of the AK135 model http://wwwrses.anu.edu.au/seismology/ak135/ak135f.html
This model differs from the given model by the replacement of the upper 50 km by the velocities at a depth of 50 km, thus yielding a constant velocity model to a depth of 50 km. This approach was taken so that the data have the ability to change the model, avoiding any sharp velocity discontinuities that would persist through the inversion. In addition, by starting with an overestimate of the velocity model, no artificial low-velocity zone will be introduced.

Each directory has its own DOIT.deep script. Please read these scripts. You will see how the model inversion is weighted, so that the deeper structure is fixed, the upper 50 km is permitted to change a lot, and the region between 50 and 100 km has intermediate weighting.

surf96:

cd into the surf96 directory. Then execute the command

DOIT.deep

The DOIT.deep script will perform 30 iterations. It creates the final model end.mod. It also produces several figures: SRFPHV96.PLT and SRFPHR96.PLT

SRFPHV96.PLT showing initial and final models, and model fit to the dispersion.

SRFPHR96.PLT showing resolution kernels


We can see the progression of the inversion by running the command

shwmod96 -ZMAX 100 -K -1 -LEG start.mod tmpmod96.??? end.mod

which shows the evolution of the final model  through each iteration:

Evolution of model from the surface-wave inversion. Note only the upper 100 km of the models are displayed.



rftn96:

cd into the rftn96 directory. Then execute the command

DOIT.deep

The DOIT.deep script will perform 30 iterations. It creates the final model end.mod. It also produces several figures: SRFPHV96.PLT and SRFPHR96.PLT

RFTNPV96.PLT showing initial and final models, and model fit to the dispersion. For parameter (sec/km)  the receiver functions, the blue curve shows the data and the red curve shows the model prediction. Each receiver function is annotated with the ALPHA, GCARC and ray and the event  information.

SRFPHR96.PLT showing resolution kernels


We can see the progression of the inversion by running the command

shwmod96 -ZMAX 100 -K -1 -LEG start.mod tmpmod96.??? end.mod

which shows the evolution of the final model  through each iteration:

Evolution of model from the receiver function inversion. Note only the upper 100 km of the models are displayed.

joint96:

cd into the joint96 directory. Then execute the command

DOIT.deep


Joint inversion model fit to the dispersion data

Joint inversion model fit to the receiver functions



Resolution kernels for the joint inversion

We can see the progression of the inversion by running the command

shwmod96 -ZMAX 100 -K -1 -LEG start.mod tmpmod96.??? end.mod

which shows the evolution of the final model  through each iteration:

Evolution of model from the joint receiver function surface-wave dispersion inversion. Note only the upper 100 km of the models are displayed.

Inversion comparison:

We can compare the different inversion results by using the program shwmod96 . We run the same command as before, but this time from the parent directory, from which we can see the SURF, RFTN and JOINT directories as

shwmod96 -ZMAX 100 -K -1 -LEG SURF/start.mod */end.mod

This produces the figure shwmod96.PLT which is shown here:

Comparison of starting model (red), final joint inversion (green ), final receiver function (blue-green) and final surface-wave (blue) inversion models.



Discussion

This example uses a real data set from a KIGAM station at Seoul National University. All models fit their individual data sets well. This highlights the point that inversions are not unique.  Of the models, I prefer the joint inversion model. The upper mantle velocities for  the receiver function inversion are too large. The surface-wave inversion lacks any detail about the Moho.  The real reason for preferring the joint inversion model is that the model is better at fitting regional (100-300 km) broadband waveforms.

Last Changed November 19, 2006