Instructions for modeling S-wave velocity structure from the results
of velocity spectrum analysis in JRG

John Louie, 27 April 1999
Copyright © 1999 John N. Louie, all rights reserved.

Objective

This page describes a method for modeling S-wave velocity structure from the results of velocity spectrum analysis in JRG, using a Sun SPARC computer running the Solaris 2.5.1 or later operating system. If you do not have a Sun available, your department probably has methods already for modeling velocity spectra.

This tutorial describes the details of creating and checking a model structure that fits an interpreted velocity spectrum. However, it does not provide any background on surface-wave propagation, velocity spectra, or the modeling technique; nor does it address all the potential pitfalls that accompany this or any data-fitting procedure.

Detailed Instructions for Sun SPARC Solaris

Before you download or use my software, please be sure you have sent me an email message with: your name and email address; whether you are a student or faculty member, consultant or employee; the name of your university or company, and department; and a sentence or two describing what use you intend to make of these methods. Send your message to louie@seismo.unr.edu
  1. Interpret your final velocity spectrum plot or plots. They may look like the plot at right, which is a vspect output with Fmax=25 Hz and Vmin=50 m/s.
  2. The PostScript output of JRG was annotated in a graphical layout program that can directly read the Generic PostScript plot files, Adobe Illustrator 7. I added frequency lines every 2 Hz, and annotated the non-linear velocity axis.
  3. If you are interpreting several vspect plot outputs, I suggest printing them all out, and then making similar axis annotations at the same size. Copy the annotations onto a clear overhead-projection sheet to overlay on your vspect plots.
  4. On each plot identify the normal-mode dispersion trend, down to the right and distinct from the aliasing and slantstack truncation artifact trends, which are down to the left.
  5. Note the velocity and frequency ranges of the identifiable dispersion trend.
  6. Pick several frequency-velocity pairs along the trend, and write them into a text file. Name the file something like ``data0001.dis''.
  7. If you are picking noise records rather than refraction records, try to pick the lowest velocity edge of any trend. This stays closest to the real velocities, and below the higher apparent velocities of waves traveling not along but obliquely to the geophone array.
  8. Convert the frequency-velocity pairs in the text file to pairs of period in seconds and velocity in kilometers per second. It will now look like this:
        0.5		0.2
        0.222	0.11
        0.125	0.1
        0.1		0.095
        0.077	0.09
    
    The order of pairs in this file is not important.
  9. Also create a text file containing a velocity model to give your data-fitting an approximate start. Name it something like ``data0001.mod''. The model fitting the data above looks like:
        3
        0.006  2.000  0.156  0.090
        0.006  2.000  0.207  0.120
        9999   2.000  0.468  0.270
    

    Modeling the dispersion

  10. Move to the directory where you did all your data analysis.
  11. Obtain the ``disper'' modeling program package by HTTP from this link. It is about a quarter of a megabyte in size:
    http://www.seismo.unr.edu/ftp/pub/louie/rg/disper-solaris.tar.Z
  12. Unpack the disper software in your directory with the command:
    	zcat disper-solaris.tar.Z | tar xvf -
    
  13. disper uses an iterative dispersion-modeling code developed by Saito and modified by Yuehua Zeng of UNR. I wrapped it in a graphical interface that only runs on a Sun using OpenWindows XView graphics. You should sit directly in front of a Sun workstation to run it, since it does not often display properly on a remote X-Windows display server.
  14. Log into the Sun workstation, start OpenWindows, cd to your data directory, and type the following command into a command or shell tool:
    	./disper &
    
  15. disper will start with a window like the one at right. Click on the image for a full-sized image. Make sure it is all displayed on the screen.
  16. The top of the disper window frame has a menu you can get to by pointing at it and holding the right mouse button down. You use this menu to refresh the plot, when it becomes confused, or to quit disper.
  17. In disper the top panel shows the dispersion-curve plots. Your data will apear as filled squares. The middle panel contains the controls. The bottom panel plots the velocity model. It gives interface depths, not thicknesses. You can manipulate the velocity model by dragging the mouse over the plot with the left button held down. As you drag a velocity or interface depth, you can watch the synthetic dispersion curve, plotted as open squares in the top panel, move about your data points.

  18. disper appears ready to model structure on a lithospheric scale. Before you can model shallow structure to 100 m depths, you will have to make a number of settings:
    1. Enter the name of your dispersion pick file, like data0001.dis , into the Name field. Select File->Load Dispersion to read it in.
    2. Set the Period Min and Max bounds to values outside the range of periods in your picks. For the data above these might be 0.05 to 0.6 seconds.
    3. Set the Period Step to a value that will divide your period range by twenty or so, such as 0.02 .
    4. Set the Velocity Min and Max bounds to values outside the range of velocities in your picks. For the data above these might be 0.08 to 0.22 km/s.
    5. Set the Velocity Step to a value that will divide your velocity range by 20 or so, such as 0.01 .
    6. Set the Max. Depth to 0.1 km, and then hit the return key.
    7. Enter the name of your starting model file into the Name field, and then select File->Load Model.
    8. Select Refresh from the frame menu.
    At this point you should see your data points, with a synthetic dispersion curve not fitting them, and all the layers in the velocity model.

  19. Take an iterative, top-down approach to interactively modeling your dispersion picks. Before you attempt to make a change to a model, check to be sure the Edit Layer selector properly shows that you will be editing layer Thickness or Vs. A procedure might be:
    1. Select Edit Layer: Vs, and then drag with the left mouse button down left and right atop the top layer's S velocity until it fits your picks at the smallest periods. Note that the layer's Vp will change as well, to keep the Vp/Vs ratio constant with that of the input model.
    2. Select Edit Layer: Thickness and then drag up and down atop the top layer's boundary until any trends in the shortest-period picks are matched.
    3. Select Edit Layer: Vs, and then drag left and right atop the next layer's S velocity until it fits your picks at the middle periods. Unless you have good evidence for a velocity inversion, try not to introduce one.
    4. Select Edit Layer: Thickness and then drag up and down atop the next layer's boundary until any trends in the middle-period picks are matched.
    5. Now Select Edit Layer: Vs, and then drag left and right atop the bottom layer's S velocity until it fits your picks at the longest periods.
  20. As you adjust thicknesses and velocities, note down the ranges of these parameters in each layer that seem to fit the dispersion data equally well. These become the indeterminance of your data.
  21. Investigate the usual trade-off between the thickness and velocity of your middle layer. Try to find the two end-member combinations of large thickness and high velocity, and small thickness and low velocity, that both fit the data equally well.
  22. Take note of the deepest depth that your dispersion data constrain. How deep does another, significantly faster layer have to be before it has no effect on dispersion at your longest picked periods?

  23. When you have a model you would like to save, write two files:
    1. data0001.mod - enter this name into the Name field, and then select File->Save Model.
    2. data0001.mds - enter this name into the Name field, and then select File->Save Dispersion.
    Careful! The Save commands will over-write anything already in the named file, without asking.
  24. The dispersion and model files are simple text files that you can plot in your favorite graphics application or spreadsheet. You may want to convert the thicknesses given in the model file to depths, and plot a line for each layer. You can edit the model file to look like this version of the model file above:
        0.000  2.000  0.156  0.090
        0.006  2.000  0.156  0.090
        0.006  2.000  0.207  0.120
        0.012  2.000  0.207  0.120
        0.012  2.000  0.468  0.270
        0.050  2.000  0.468  0.270
    
    Note this file expresses the 0.050 km deepest depth of constraint.