This exercise is an introduction to ray tracing code. This code in Computer Programs in Seismology, CPS, is based on Cerveny's seis81 but uses a simpler front-end to prepare the control files and to view the output.

It is assumed that you have access to Comptuer Programs in Seismology. If you ahve the VirtualBox distribution, you have everything that you seed. For the 2014 distribution of Lubuntu32 (login: cps ; Password PROGRAMS.330) for the 2015 distribution (login: cps ; Password: cps).

You will use the following programs from Computer Program sin Seismology: cprep96, cseis96, cray96, cpulse96, gsac, plotnps and convertfrom the ImageMagick package. The shell script that you are given will create a PNG file that you can place in a Work/LibreOffice document.

To learn the command options of the CPS codes, us the -h flag, for example, cprep96 -h.

Test Program 1

The script DOC1 (click to download) will compute synthetics for the velocity model given in Problem 2. Create a directory after you login,
         chmod +x DOC1
         display *.png
You will create a file RAY_1.png and a 03_1.png. I have also created a figure from the travel times computed in Problem 2 and superimposed that onto the synthetics. Here are the figures.

Computed travel times. Blue (reflection); Red ( refraction)

Ray paths to stations at 10 and 200 km. The command arguments cprep96 did not permit conversions of P to SV, and just the xsplosion source Green's functions are plotted. Multiples are permitted.

Superposition of predicted travel times onto true amplitude synthetics for a surface explosion source. The late arrivals at short distance are reflections, while the late arrival at large distance is supercritical reflection. Blue (reflection); Red ( refraction)


  1. Run the script DOC1 to make sure it works.
  2. Modify the velocity model to be the following, and then run the code. The reflection at short distance is much smaller since there is not a sharp discontinuity at 40 km.
     layer        Thickness       VP(top of layer)  VP(bottom of layer)    VS = 1/2 VP
    Layer 1:  Thickness 40 km        6.0               6.8
    layer 2:  Thickness  2 km        6.8               8.0
    Layer 3:  Thickness 30 km        8.0               8.375
    Layer 4   Thickness 40 km        8.0               8.5

Last changed February 7, 2016