Modeling Earthquake Data Using 'ETAS' Model

Fits the space-time Epidemic Type Aftershock Sequence ('ETAS') model to earthquake catalogs using a stochastic 'declustering' approach. The 'ETAS' model is a 'spatio-temporal' marked point process model and a special case of the 'Hawkes' process. The package is based on a Fortran program by 'Jiancang Zhuang' (available at <>), which is modified and translated into C++ and C such that it can be called from R. Parallel computing with 'OpenMP' is possible on supported platforms.

CRAN_Status_Badge CRAN_Download_Count Build Status

An earthquake catalog is a chronologically ordered list of time, coordinates of epicenter, magnitude and focal depth of all recorded earthquakes with magnitudes greater than or equal to a certain threshold that occurred inside or in the vicinity of a geographical region during a specified time period. Among different proposed models, the epidemic type aftershock sequence (ETAS) model is the most widely used statistical model to describe the underlying process that generates an earthquake catalogs.

The space-time version of the ETAS model is a spatio-temporal marked point process model. It is a semi-parametric model that describes the background and triggering seismic activities in a geographical region and can be used for earthquake declustering. However, estimation of the ETAS model parameters is computationally challenging. The 'ETAS' package fits the ETAS model to an earthquake catalog. The etas function in the package is based on a C port of a Fortran program by Jiancang Zhuang, Yosihiko Ogata and their colleagues.


To install the package from CRAN, run the following in R:


You can also install the current version of the package on GitHub by running:


If remotes is not installed, you should first run:


Parallel computing

Computations of the conditional intensity function, the log-likelihood function, declustering probabilities and the Davidon-Fletcher-Powell algorithm for optimization are all written in C code. As of version 0.3, a new C++ code is implemented using the Rcpp package which allows multi-thread parallel computing on multi-core processors with OpenMP and suported platforms. The argument nthreads in etas function determines the number of threads to be used in the parallel region of the code. If nthreads = 1 (the default), then a serial version of the C++ code carries out the computations. The detectCores function in parallel package can be consulted to find out the overall number of available threads on a given machine:


Parallel computing (nthreads > 1) reduces the computation time for large earthquake catalogs. However, resource usage and limitations should be considered when setting nthreads.


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.4.6 by Abdollah Jalilian, 3 months ago

Report a bug at

Browse source code at

Authors: Abdollah Jalilian [aut, cre] , Jiancang Zhuang [ctb]

Documentation:   PDF Manual  

GPL (>= 2) license

Imports lattice, goftest, spatstat, Rcpp, fields

Depends on stats, graphics, utils, maps

Linking to Rcpp

See at CRAN