MLOC Home Page

MLOC, A Program for Calibrated Multiple Event Earthquake Relocation

This section of the GSS website deals with the installation and use of a program called mloc (sometimes MLOC) which implements the Hypocentroidal Decomposition (HD) method of multiple event earthquake relocation that was introduced in Jordan and Sverdrup (1981). The program is most commonly employed in the analysis of arrival time data from natural earthquakes but has also been used successfully on induced earthquakes and man-made explosions, including nuclear tests. It has been extensively developed for research on what are referred to as calibrated earthquake locations, which was not contemplated in the original publication. Calibrated locations arise from the use of procedures to minimize the biasing effect of unknown Earth structure and to more accurately estimate the uncertainties of the arrival time data, which leads to more reliable identification and rejection of outlier readings and more accurate estimates of uncertainties for derived hypocentral parameters.

The Global Catalog of Calibrated Earthquake Locations (GCCEL) is a comprehensive dataset of calibrated clusters of seismic events that were developed with mloc. The dataset (as well as the full mloc package) can be downloaded from the U.S. Geological Survey’s ScienceBase website for the GCCEL project.

Although the main purpose of mloc is to determine calibrated locations of a cluster of seismic events it can be used for traditional uncalibrated locations of single events or clusters based on minimizing the travel-time residuals of regional and/or teleseismic phases.

mloc is free. The entire source code for mloc is downloadable from this website, along with source code for several useful utilities, documentation, necessary data files, and some sample datasets. If you’d like to review the capabilities of mloc in more detail before deciding if it might be helpful in your research, the Desktop User’s Manual can be downloaded separately.

The code is written completely in Fortran; it uses some features from Fortran90 but nothing more recent than that. The program can be compiled and built with any one of several Fortran compilers running under macOS (formerly known as OS X) or most Unix-like operating systems, including Linux. mloc runs in a Terminal window.

mloc uses the Generic Mapping Tools (GMT) to create graphic output, so a recent version (preferably GMT6, but GMT5 works) is required. An installation of Google Earth is highly recommended as well, as one of the output files is a KML file of the relocated earthquakes. Finally, an installation of the tau-p software (Buland and Chapman, 1983) that implements the ak135 global travel-time model (Engdahl et al, 1998) may be required if the binary data files distributed with mloc do not work in your system.

Why Would I Want to Use mloc?

There are several other readily-available programs for doing multiple event relocation. Double Difference (DD) (Waldhauser and Ellsworth, 2000) has been widely used for 20 years. DD was originally specialized to exploit arrival time differences determined from waveform cross-correlation to obtain very high resolution hypocenters in the local distance range but has since been generalized to employ traditional arrival time readings, and for the full range of epicentral distances. BayesLoc is a recent entry into the field with an unusual and powerful set of features emphasizing a Bayesian approach to estimation of nearly every parameter in the relocation problem. Older programs such as Jim Dewey’s JHD and Gary Pavlis’ PMEL are still available and they are quite suitable for certain types of relocation studies. Bill Rodi’s GMEL program implements a powerful (but computationally intense) grid-search approach to the problem.

In comparison to these programs mloc’s strength is in its specialization for pursuing calibrated hypocenters. The hypocentroidal decomposition algorithm on which it is based is particularly well-suited to the problem because it naturally and rigorously separates the relocation problem into two parts, the relative locations of events in a cluster and the absolute location of the cluster, allowing the user to control the datasets and weighting schemes most suitable for each part of the analysis.

Beyond that, no other relocation code (to my knowledge) provides the capability to determine empirical reading errors from the data itself and use those values for identifying outliers and weighting data for the inversion. mloc is particularly flexible in working with arrival time datasets compiled from different sources. Although it was developed primarily to work with traditional arrival time data, it can incorporate differential time data from cross-correlation analyses, as well as differential phase data (S-P and relative depth phases, e.g., pP-P). Based on relative depth phases mloc implements a novel and powerful method of analyzing teleseismic depth phases for constraint of focal depth.

Finally, mloc is designed to give the user a great deal of control over how a relocation analysis is done and to provide access to extensive information to judge the effects of different choices in approach, making it an excellent teaching tool for the subtleties of earthquake location, especially for users who already have some experience in this kind of analysis.


mloc was not developed to be a black box tool that can be widely distributed to students, or even to post-graduate researchers with a casual knowledge of earthquake location and an interest in getting some quick results. Some aspects of its use are based on considerations that are rarely if ever found in other earthquake location codes. The analysis for calibrated locations typically requires many runs with carefully-considered editing of input files in between. Different datasets often require different approaches. mloc is adaptable to a wide variety of cases and as a result has tools that are only applicable in specific circumstances; they may conflict with other tools in other circumstances. In other words, successful use of mloc will require very careful review of the documentation, and ideally some guidance by someone who is familiar with it. If you are serious about using it for research you may want to consider attending a training course.

Development History

Development of mloc began in 1989 when I was a young post-doctoral researcher at the Massachusetts Institute of Technology. Tom Jordan, who had recently arrived at MIT as a faculty member, suggested looking into the HD algorithm as a research tool. Tom did not consider the computer code used for the 1981 paper to be a suitable basis for development, so mloc was built on the code base of an advanced single-event location program called LOC that had been written in the early 1980s by Ken Creager. In its first incarnation mloc was, like other multiple event relocation codes, oriented to obtaining improved relative locations of seismic events, but not calibrated locations.

The next phase of development of mloc began in the late 1990s, when the application of mloc to the challenge of obtaining calibrated locations began in close collaboration with Bob Engdahl. At the time there was strong interest in (and funding for) research on “ground truth” seismic locations in support of the Comprehensive Test Ban Treaty. During this period, many code segments from Engdahl’s single event location code (the basis for the EHB Catalog) migrated to mloc and many detailed comparisons of intermediate results between the two codes were made to ensure correct processing. The code that calculates travel times through custom crustal velocity models in mloc was borrowed from Johannes Schweitzer’s HYPOSAT program during this phase.

Since about 2013 development of mloc has branched away from the EHB code, especially with the adoption of a new standard data format (MNF) that better supports the procedures used for calibrated relocations. Another major area of development has been the refinement of methodologies to more reliably constrain focal depths.

Development of mloc has been supported over the years by a number of research contracts and grants provided by several agencies of the U.S. Government, including the U.S. Geological Survey, the Department of Energy and the Air Force Research Laboratory. Much of the development was done in close collaboration with Bob Engdahl when we were both working in the Center for Imaging the Earth’s Interior at the University of Colorado, under the watchful eye of Mike Ritzwoller. A partial list of contracts and grants that supported the development of mloc can be found here.

Data Sets for MLOC

The User’s Manual describes the steps needed to set up a cluster for analysis, and includes a couple sample data sets. A much larger (and more interesting) collection of data sets already prepared for analysis with mloc can be found in the MLOC Data for GCCEL section of this website.


Many persons have contributed to the development of mloc. Tom Jordan deserves primary credit for setting me off on this particular research path and providing an algorithmic framework that proved to have enormous potential, but Bob Engdahl comes a close second for years of almost daily discussion on the realities and subtleties of earthquake location that don’t appear in any textbook. István Bondár came up with the clever idea (Reciprocal Cluster Analysis, Bondar et al., 2008) that was the inspiration for the direct calibration method that is the standard approach for calibrated relocation with mloc today. Steve Myers, Reza Ghods, and Ezgi Karasözen all contributed to the development or refinement of important features of mloc. Bill Rodi has graciously shared his deep understanding of applied statistics and earthquake location on a number of occasions. Harley Benz has been a strong supporter of mloc’s development with the vision that this kind of analysis can find its way into routine processing at the NEIC. It is unlikely that I would have bothered to spend so much of my professional life developing mloc if the International Seismological Centre did not exist. The ISC Bulletin is a gold mine of data for mloc and has nearly always been the main source of arrival time data for the published studies based on mloc.