We present a new method for locating earthquakes in a region with arbitrarily complex three-dimensional velocity structure, called QUAKE3D. Our method searches a gridded volume and finds the global minimum travel-time residual location within the volume. Any minimization criterion may be employed. The L1 criterion, which minimizes the sum of the absolute values of travel-time residuals, is especially useful when the station coverage is sparse and is more robust than the L2 criterion (which minimizes the RMS sum) employed by most earthquake location programs. On a UNIX workstation with 8 Mbytes memory, travel-time grids of size 150 by 150 by 50 are reasonably employed, with the actual geographic coverage dependent on the grid spacing. Location precision is finer than the grid spacing. Earthquake recordings at six stations in Bear Valley are located as an example, using various layered and laterally varying velocity models. Locations with QUAKE3D are nearly identical to HYPOINVERSE locations when the same flat-layered velocity model is used. For the examples presented, the computation time per event is approximately 4 times slower than HYPOINVERSE, but the computation time for QUAKE3D is dependent only on the grid size and number of stations, and independent of the velocity model complexity.
Using QUAKE3D with a laterally varying velocity model results in locations that are physically more plausible and statistically more precise. Compared to flat-layered solutions, the earthquakes are more closely aligned with the surface fault trace, are more uniform in depth distribution, and the event and station travel-time residuals are much smaller. Hypocentral error bars computed by QUAKE3D are more realistic in that the trade-off of depth versus origin time is implicit in our error estimation, but ignored by HYPOINVERSE.