Velest Instructions
Velest Instructions
Velest Instructions
To be
ready for this you need:
1. Antelope – installed and fully functional if that is where events came from.
2. Matlab with functioning Antelope Toolbox (try : run ‘/opt/antelope/5.x/setup.m’ and dbopen
commands in the Matlab command window, you should get a message telling you how dbopen
works, not an error saying unknown command), again if event picks are in Antelope.
3. A working Fortran compiler
4. VELEST
5. velest_matlab_scripts
6. topography file for your area of interest.
If these items are all in order, we’ll pick up using the “recipe” from the Appendix of Kissling and
Ellsworth’s 1994 JGR Paper. The only modifications here are to put the instructions in a list and guide the
user to what scripts do what. Kissling’s instructions are in Times New Roman and the
velest_matlab_scripts will be in Calibri.
A. Obtain all available a priori (prior to the 1D or 3D inversion) information regarding the
stratification of the area under study (velocities, layer thicknesses, etc.). In general, use
refraction seismic models, simplified where necessary to constant velocity layers. If no
controlled-source seismology models are available, use phase correlations and cross over
distances [e.g., Deichmann, 1987] from well-recorded earthquakes and/or infer the
layered structure from geologic information. Define the media by several layers of
increasing velocity with depth. Thicknesses of the layers in the upper crust should be
about 2 km and in the lower crust about 4 to 5 km. Estimate layer velocities according to
a priori information or a general crustal model. In case of incomplete or inconsistent
information, or, if the area under consideration confines two or more distinctly different
tectonic provinces, establish several 1D models.
a. I found mine in Molina and Tenorio 2000 for depths below 9 km.
B. Choose a reference station with a continuous or nearly-continuous record of events. It
must be a reliable station, preferably located toward the center of the network, and should
not show extreme site effects.
The model(s) and the reference station are called the a priori 1D model(s). If several
significantly different a priori 1D models are established the following steps 2 through 5 are
repeated for each 1D model separately.
A. Select about 500 of the best events in the data (i.e., those with the most high-quality P-
arrivals) that cover the entire area under consideration.
a. Do this using radiuseventselect.m with your Antelope Database. In the initialize
variables section of the script, change the parameters to suit your situation and run. I
have proceeded to the next step with between 100 and 500 events without problems. I
also have observed event times from time lapse cameras, so cameraeventselect.m has
been modified to separate events based on timing as well and create .CNV files.
B. Relocate them with routine VELEST using a damping coefficient of 0.01 for the
hypocentral parameters and the station delays, and 0.1 for the velocity parameters. Invert
for hypocenters every iteration and for station delays and velocity parameters every
second iteration.
a. This means OTHET=0.01; XYTHET=0.01; ZTHET=0.01;STATHET=0.01; and VTHET=0.1; as
well as INVERTRATIO=2; ZSHIFT should be your mean station elevation, as neither
Antelope or dbgenloc account for topography.
b. Once VELEST completes a run, use the awk script to pull out the new updated model
from the .OUT file. This can be done manually, i.e. in terminal:
$ awk –f pathtoscripts/vz_output.awk pathtooutfile/[outfile].OUT
Use the output from this to update your mod file and save it as a new file, like:
$ vi pathtomodfile/[modfile].mod
Make Changes
[esc] :wq pathtomodfile/[newmodfilename].mod [return]
OR it is created automatically by running simuleval.m
c. After your first run, make sure to change the ZSHIFT in velest.cmn to 0 from your
mean station elevation as this depth shift has now been built in to epicenter locations.
C. Repeat this procedure several times with new (updated) velocities in the reference 1D
model, with perhaps the new station delays, and with new hypocenter locations.
D. Repeat the procedure also for reduced number of layers where possible by combining
adjacent layers with similar velocities.
a. To view results from each iteration (plot of eqs, velocity model changes, and final rms),
use simuleval.m, and edit values in the first 25 lines of the code to fit each new run,
especially inmod and runtitle.
b. Once you have a group of stable events in the network, you may want to use
cnvcutter.m to trim the output of the run based on gap to ensure you are using events
which can be located within the network. The new .CNV file will have rev in front of
the .CNV in the filename to distinguish it.
c. Edit your velest.cmn file and copy it into your cmn folder to track your progress before
your next velest run.
Unless clearly indicated by the data, in most cases it is preferable to avoid low velocity layers, as
they normally introduce instabilities.
Our experience suggests that shot or blast data should not be included in the 1D-model inversion.
Rather, such data should be used to set the near surface velocities, and to test the performance of
the resulting minimum 1D model when used for locating hypocenters. This counterintuitive
suggestion may be understood by considering that raypaths with both endpoints near the surface
sample, on average, a much more heterogeneous part of the Earth than do raypaths from events
in the seismogenic crust.
The goal of this trial and error approach is to establish reasonable geometry of the crustal model
and corresponding intervals for the velocity parameters and station delays. In addition, this
approach provides valuable knowledge about the quality of the data.
Proceed to the next step when,
a) the earthquake locations, station delays, and velocity values do not vary significantly in
subsequent runs;
b) the total RMS-value of all events shows a significant reduction with respect to the first
routine earthquake locations; and
c) the calculated 1D velocity model and the set of station corrections make some geological
sense (e.g., stations with negative traveltime residuals should lie in local high velocity
areas with respect to the reference station, etc.) and do not violate a priori information.
Once you think you have found a stable-ish solution, edit your velest.cmn file to set it up to run random
velocity models. You will use rvelmod.m to actually create the separate runs. The main changes in the
velest.cmn file are:
a. Make sure your earthquake number is correct and that your zshift is 0.
b. Make sure that your Modelfile matches whatever you have in the rvelmod.m file.
c. Change your station file, earthquake data file, and other inputs to reflect the best model you
landed on in the previous step, including adding ../../ if necessary to get out of the folder
structure that rvelmod.m will be traversing into for each velocity model.
d. Once the velest.cmn file is updated, run rvelmod.m.
e. After that finishes, run rvelmodeval.m, which will spit out your best fit (minimum rms) model(s).
If all these requirements are satisfied, the result may be called the "updated a priori 1D model
with corresponding station residuals".
Relocate all events using the updated a priori 1D model with station residuals with a routine
location procedure (HYPO71 [Lee and Lahr 1975]; HYPOINVERSE [Klein 1978];
HYPOELLIPSE [Lahr 1980]) or with VELEST in the single event mode (fixing the station and
velocity parameters). Reselect the best (consider gap, number of observations, distance to next
station) 500 or so events that should be well distributed over the volume under investigation. If
more than one such subset of about 500 events can be extracted, proceed for each subset
separately with step 4 but try to obtain similar results.
A. Take the model and station corrections you found in the previous step and update your
velest.cmn file to be set up for single event mode.
a. Select your original .CNV file from Antelope, which means that zshift needs to be reset
to your mean station elevation.
b. NEQS should equal the earthquakes from your first run.
c. Modelfile and Stationfile should be from the best model you chose from your random
models.
d. Run single event mode and then run semodeval.m making sure to edit the inmod,
runtitle, and locfile variables.
e. Run loc2cnv.m to get the locfile from your single event mode into a CNV file.
f. Copy the .mod file from the best random model and rename it to match your new run.
4. Calculation of minimum 1D model for one subset
In general terms repeat step 2 with the updated a priori 1D model and station residuals and with
a damping of 0.01 for the hypocentral, 0.1 for the station, and 1.0 for the velocity parameters.
OTHET=0.01; XYTHET=0.01; ZTHET=0.01; STATHET=0.1; and VTHET=1.0; as well as INVERTRATIO=1;
ZSHIFT should be 0 now, because the locations are coming from VELEST, which accounts for topography.
The goal of this step is to calculate the 1D model (velocity parameters and station residuals), that
minimizes the total estimated location errors for a fixed geometry. Test the stability of the result
by systematically and randomly shifting hypocenters and by underdamping the velocity
parameters. If you are pleased with the performance of the solution fix the updated velocity
parameters by overdamping and calculate the station residuals. The resulting velocity model with
corresponding station residuals is called "minimum 1D model".
1. Camera/radiuseventselect
2. Rvelmod
3. Rvelmodeval
4. cnvcuttresid
5. Rvelmod
6. Rvelmodeval
7. cnvcuttresid
8. Simultaneous single trial
9. Simuleval
10. Cnvcuttresid
11. 8-10 until stable
12. Single Event Mode
13. Loc2cnv
14. Semodeval
15. Simultaneous single trials
16. Simulevel
17. Cnvcuttresid
18. 15 -17 until stable
19. finaleval