Refraction traveltime tomography GUI interface for Matlab 5



 

Installation

 First, please download the files:  surface.tar.gz

The codes can run in Unix/Linux with Matlab 5.0, unfortunately, the Fortran code 't4' does not support Matlab 6.0. All the Matlab files and Fortran codes are stored in directory 'openfile', since the Matlab 'startup.m' can only set path for Matlab M files, all executable Fortran codes and their input data files should be put into current work directory.

During installation, after you have copied all the files into your computer, You must do following before you can start the work:

If you use Unix, it might be enough. Run Matlab 5 in 'openfile', then load 'xmain'. You can start to play with it. But to make sure all the Fortran executable codes can run in your machine safely, you should:

Documentation

1. Main Interface 
  The main interface consists of nine main parts (buttons):

A. Load Data
B. Display Data
C. Preprocess Data
D. Pick data
E. QC Data
F. Invert Data
G. Forward Modeling
H. Documentation
I . Quit GUI

If you want to generate the simple synthetic model and get synthetic traveltime data, you need to use  "Forward Modeling" button by double clicking. After you finishing the forward modeling, You may invert your synthetic data by the "Inversion Interface", just follow the instructions for button "Invert Data ".

If you already have data file "coord.temp", then  you only need to use "Invert Data "  button, click on it and click on the choice "Units in meters". The interface for inversion will be loaded.

Clicking on the "Quit GUI " button will close all the interface.
 
2. Forward Modeling
   This interface allows you to generate a simple model and then calculate the synthetic refraction traveltime data (saved into "coord.temp"). You can use the "Inversion Interface" described below to invert your synthetic data.

   There are five menu choices in this interface, I suggest you click them in order if you want to generate the synthetic model and data. The random click may not work for the first time you use it!

(1) Parameter
      Allow you choose the unit for your synthetic model, click on the menu and choose the unit in the three layer sub-menu.
     a) Now the window changes and allow you to define your model. According to the instructions shown on the left hand side, you may input the parameters for your synthetic model. Note, choose the grid size for your model properly, do not exceed 2000 grids on the horizontal direction and 800 on the vertical direction.
     b) After you finishing your model definition, click "OK" button to continue, or you can edit the parameters. Click on the "Cancel" button to clear the window.
     c) If you have clicked on "OK" button, the window changes again and let you define a data file to store the shot/geophone geometry, make sure that file has already created. I suggest you use the default file "geometry.dat", then click "OK".
    d) A edit window appears, the first line tells you the model you've defined.

120   41  1.0  nx,nz,dx (Do not edit this line) 
          nx,nz---model size in number of grids.
          dx-----grid size of the model.

       The  second part of edit window is editable which allows you to define the shot/geophone geometry. The following table tells you the meanings of each line.

1                  ns # of source lines 
1 1  201 1 4 nxs1,nys1,nxs2,nys2,ndx geometry of the 1st source line
nline receivers  nr # of geophone lines for the 1st source line 
1 1  201 1 2 nxr1, nyr1,nxr2,nyr2,ndx       geometry of the 1st geophone line
receiver line 2       geometry of the 2nd geophone line
  ... ...        ... ...
receiver line nr       geometry of the nrth (last) geophone line
nxs1,nys1,nxs2,nys2,ndx geometry of the 2nd source line
nline receivers  nr # of geophone lines for the 2nd source line
... ... ...
nxs1,nys1,nxs2,nys2,ndx       geometry of the nrth (last) geophone line
... ... ... ...
 where
           ns--- # of source lines.
           nxs1,nys1,nxs2,nys2,ndx---source line information; initial point, end point, spacing (in terms of grid number)
           nr--- # of receiver lines for the current source line
           nxr1,nyr1,nxr2,nyr2,ndx---geophone line information; initial point, end point, spacing  (in terms of grid number)
  There is no limit for the number of shot/geophone lines.
    e) After setting the shot/geophone geometry, click "Save" button to save your setting

(2) Show Velocity
      Set a synthetic model according to the parameters you already inputted. Sub-menu gives out three choices: 2 layered model, 3 layered model, and gradient model.
      a) Choose your model, input necessary velocity and boundary information according to the instructions listed on the buttons to the left of the edit areas. Click "OK" to save the setting.
      b) A new window will pop up with the synthetic model you've set. This window allows you set a wedge in your model. You can create a wedge with certain shape and velocity:
             i) Choose "Add Wedge" menu item, "Draw a Wedge" sub-menu;
            ii) Use the left button on your mouse to choose the vertices of your wedge, using right/middle button to end the vertex setting. A close curve will on your velocity model. If you do not satisfied with the wedge you have set, you can click "Cancel" menu to clear the wedge, and start with steps i) ~ ii) to set your new wedge;
           iii) Choose "Add Wedge" menu item, "Set Wedge Velocity" sub-menu to set the wedge velocity. Again if you do not satisfied with the wedge you have set, you can click "Cancel" menu to clear the wedge, and start with steps i) ~ iii) to set your new wedge;
           iv)  Save the synthetic model by click "Save" menu;
            v)  Close the window by click "Close" menu choice.
NOTE: The wedge you set must be convex!! A wedge with a concave boundary can not be setted.
      c) After you have go through a) and b), you are ready to run the forward modeling code.

(3) Starting Forward Modeling
     Run the forward modeling Fortran code to generate "coord.temp" file, it will take a moment to finish.

(4) Show Results
     Check the traveltime curve for each shot gather. You should input the data file name and the shot index. After you running "Starting Forward Modeling", a file with name "coord.temp" is created which is a main input file for inversion part.

(5) Quit
     Quit this interface.

3. Inversion Interface
   This interface includes several menu choices, let go through one by one:

(1) Dynamic Schedule:
     Interactive module for dynamic smoothing schedule for the inversion. (From large scale smoothing to small size smoothing based on idea of resolving large scale structure first, then dealing with fine structure. Dynamic smoothing allows a balance between under-smoothed and over-smoothed tomograms in traveltime tomography). You can set up to  8 smoothing schedules.

     Parameters for each page of the schedule setting ( You can click on "help" button for the information)

Iteration Number of iteration for each smooth schedule.
Grid spacing Grid size for forward problem.
Vtop Velocity for the top of initial model in inversion.
Vbottom Velocity for the bottom of the initial model.
Vmin Estimated minimum value of velocity allowed in inversion.
Vmax Estimated maximum value of velocity allowed in inversion.
Nite Number of shots used to calculate the step length.
Ndown =1, downward extrapolation of gradient; 
=2, downward extrapolation of slowness.
Irsx Number of grid involving in smoothing in x (horizontal) direction.
Irsz Number of grid involving in smoothing in x (horizontal) direction.
NOTE: Choose the grid size caredully, the code can handle a model with  2000 grid points on the horizontal direction and 800 on the vertical direction. More grids means longer running time.

(2) Show schedule:
                 Interface showing dynamic schedules.

(3) Show input data:
                 Plot travel time curve (t-x) and shot-receiver geometry in CSG.

(4) Starting model:
                 Show initial model will be used in the inversion code:
                      model 1 (Gradient model if Vtop);
                      model 2 (homogeneous with v=Vtop);
                      model 3 (homogeneous with v=Vbottom).
                 where Vtop,  and Vbottom are from the smoothing schedule.

(5) Start inversion:
                Run inversion Fortran code "refra-2d-pq.f".
     submenu:
                From beginning:     Run inversion from scratch;
                Continue...:              Continuing the calculation from the results got before.

     Note: If you changed "coord.temp" during the inversion, you have to run inversion from beginning to honor the new geometry in the "coord.temp".

(6) Show Results:
                Showing the inversion results such as velocity model, residual, and histogram of the residual distribution.
      submenu:
 

Velocity Field Final result: Final result of velocity with raypaths. 
Dynamic result: Velocity field for every smooth schedule.
Histogram  Final result: Histogram of final residuals of traveltime. 
 Dynamic result: Histograms of residuals for every smooth schedule.
Total Traveltime Residual Behavior of residuals of traveltimes with respect to the number of iterations.
(7) Forward velocity model:
                 Show forward model set in 'Forward Modeling'.

(8) Save Figure
                  Save figures using Matlab "print" function.

(9) Close Figure

(10) Zoom, Zoom off, Zoom out
                  Zoom the figures, same as Matlab commands.

(11) Quit:   Quit Inversion Interface
 

Feedback

For bug reports and comments, please send us email: mzhou@mines.utah.edu
 
 

 05/27/2001