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:
Copy one of them to your work directory with the name 't4':
t4_sun | ----> t4 | for big endian machines (SUN) |
t4_pc | ----> t4 | for little endian machines (PC) |
We have fortran source code for 't4_pc', while only have executable code for 't4_sun'. They are both in the directory 'fortran'.
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) |
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 |
1 | 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 | |
... ... | ... ... |
(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. |
(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. |
(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