OR/19/038 Overview of the software packages

From Earthwise
Jump to navigation Jump to search
Mosca, I. 2019. Comparing seismic hazard software packages: M3C vs. OpenQuake. British Geological Survey Internal Report, OR/19/038.

M3C is a computer programme developed in the BGS and routinely used for commercial and academic projects. It is based on a Monte Carlo approach for assessing the seismic hazard (e.g. Musson, 1999[1], 2000[2], Musson and Sargeant, 2007[3]; Musson, 2009[4], 2012[5]).

Once a source zone model is constructed, including the earthquake recurrence statistics for each source zone, the code generates synthetic catalogues of N-years using Monte Carlo simulations (i.e. generator of random numbers). Each simulated catalogue represents a version of what could occur based on past observed seismicity. The ground motion at a specific site is computed for each synthetic catalogue. This process is iterated R times in order to simulate millions of years of data and therefore resolve the hazard accurately for long return periods. For example, to estimate the hazard for a return period of 10 000 years, the user simulates 100 000 catalogues of 100 years, or 200 000 catalogues of 50 years, giving a total number of 10 000 000 years. To find the ground motion that has an annual probability of being exceeded by 1 in 10 000, the user sorts the values in order of decreasing severity and picks the 1001st value. This has been exceeded 1,000 times out of 10 000 000 and therefore has a 1 in 10 000 probability of being exceeded (Figure 1); Musson, 2000[2]). Using the same procedure, it is possible to identify ground motions associated with different return periods.

Figure 1    The elements of the Monte Carlo simulation approach to probabilistic seismic hazard assessment (from Musson, 2000).

The Global Earthquake Model initiative has developed OpenQuake (Crowley et al., 2013[6]). This is an open-source software suitable for a large range of applications and allows the user to make hazard and risk calculations at various scales, from single sites to large regions. In this work, I test and analyze only the hazard module of OpenQuake. The software offers multiple types of hazard calculations: Cornell-McGuire PSHA as proposed by Field et al. (2003)[7], a Monte Carlo based PSHA with a set of stochastic events and ground motion fields for each rupture, and deterministic seismic hazard analysis for a single earthquake scenario (Pagani et al., 2014[8]).

OpenQuake uses the seismic source model to create a list of earthquake ruptures applying the Earthquake Rupture Forecast (ERF) calculator. This is combined with the chosen GMPEs and a tectonic region to compute the hazard curves for the specific site(s) for the Cornell-McGuire PSHA (GEM, 2019[9]). For the Monte-Carlo based PSHA, the ERF is used to generate a set of stochastic events by sampling the ruptures included in the ERF according to their probability of occurrence. Then, the set of stochastic events is associated with the chosen GMPE to have the ground motion value. The reader can refer to Pagani et al. (2014)[8] and GEM (2019)[9] for details.

Comparison of IT functionalities[edit]

Table 1    Comparison of the computational engine of M3C and OpenQuake.
M3C OpenQuake
Version 3.14 2.8
Developers Musson and Mosca Pagani et al.
Code availability Free upon request Open-source, (www.globalquakemodel.org/oq-getting-started)
Program language FORTRAN Python
Platform Windows, Unix, macOS Ubuntu, Linux, macOS, and Windows
Number of processors Single processor As many processors as available
Documentation User Manual User Manual

M3C is a FORTRAN computer program, the input/output (I/O) format is ASCII, and it runs on both Windows, UNIX and macOS platform using one processor. M3C is available upon request.

OpenQuake’s engine is more complex because it has many levels of modularity. The programming language is Python and the format of I/O information is a customized XML schema called Natural Hazard Risk Markup Language (see Pagani et al. (2014)[8] and www.globalquakemodel.org/openquake/ for more details). This software is available for the Linux, macOS, and Windows platforms and uses as many processors as are available. The source code can be downloaded from a public web-based repository (www.github.com/gem/oq-engine/).

Both codes have a modular and flexible structure that ensures it is possible to incorporate new features. In M3C, the modular structure consists of FORTRAN subroutines for the various steps of PSHA (e.g. GMPEs, generating synthetic catalogues). The OpenQuake engine consists of a number of self-sufficient libraries, e.g. oq-hazardlib for the hazard calculations, oq-risklib for the risk calculations, oq-nrmlib to read, write, and validate input and output files (Pagani et al., 2014[8]).

The two software packages provide a user manual. Neither of them offers a graphic user interface and interact with the user through the command line interface. OpenQuake is associated with pre- and post-processing libraries, e.g. OQ strong motion toolkit for the basic analysis of strong motion recordings, OQ Catalogue Toolkit for homogenising different earthquake catalogues, OQ hazard Toolkit for building the source model (Weatherill et al., 2016[10]).

Comparison of the methodology[edit]

Table 2 summarizes the comparison between the methodological aspects of M3C and OpenQuake and the subsections below describe them extensively.

Table 2    Comparison of M3C and OpenQuake in terms of methodology.
M-R-e indicates magnitude (M), distance (R), and the number of standard
deviations above or below the ground motion median prediction (e).
M3C OpenQuake
PSHA Approach Monte Carlo based PSHA Cornell-McGuire PSHA, Monte Carlo based PSHA
Gutenberg-Richter relationship Yes Yes
Activity rate Computed for Mw=0 and 10 Computed for Mw=0
Earthquake rupture modelling Rupture finiteness in 3D for fault and 2D for areal sources Rupture finiteness in 3D for fault and areal sources
Type of magnitude-scaling relationship Any magnitude-length scaling relationship Magnitude-area scaling relationship of Wells & Coppersmith (1994)[11], Thomas et al. (2010)[12], EPRI (2011)[13], and Strasser et al. (2010)[14]
GMPE implementation Built-in Built-in
Truncation of the GMPE variability Yes. Option not to truncate the GMPE variability Yes
Treatment of epistemic uncertainty Logic tree and pdf Logic tree
Outputs Hazard curves and maps, UHS, disaggregation for M-R-e Hazard curves and maps, UHS, disaggregation for M-R-e-Location

Type of PSHA[edit]

From a methodological point of view, M3C performs a Monte Carlo based PSHA, whereas OpenQuake uses Cornell-McGuire PSHA or Monte Carlo based PSHA.

Seismic source[edit]

OpenQuake models sources as points, lines (faults) and areas, whereas M3C models fault and area sources but not point sources.

Fault rupture[edit]

In OpenQuake, the finite-fault rupture is modelled as 3D rectangular planes for both fault and area sources. The plane is described by the nodal plane orientation (i.e. strike, dip and rake), upper and lower depths of the seismogenic zone, rupture aspect ratio, magnitude scaling relationship, and Gutenberg-Richter recurrence law (Pagani et al., 2014[8]; Monelli et al, 2014[15]).

In M3C, the same parameters are required for modelling the finite-fault ruptures for fault sources, but not for areal sources where the fault rupture is modelled as a line in a 2D space. For areal sources, each synthetic epicentre is generated in an area source zone and located at the centre of a finite fault rupture. The size of the rupture is computed using the magnitude of the synthetic event, the magnitude-scaling relationship, the fault orientation (if known), and the faulting style. If the fault orientation is unknown, random orientations are considered (Musson, 2009[4]).

Magnitude scaling relationship[edit]

OpenQuake uses the magnitude-area scaling relationship:

Mw = b* log A + a              (1)

Where A is the area of the fault rupture, Mw is the moment magnitude, and a and b are the regression coefficients. OpenQuake supports the magnitude-area scaling relationship of Wells and Coppersmith (1994)[11] based on a global database of earthquake ruptures, Strasser et al. (2010)[14] for interface and in-slab earthquakes, Thomas et al. (2010)[12] developed by the Pacific Earthquake Engineering Research (PEER) for the validation of PSHA programs, and EPRI (2011)[13] for the central and eastern United States.

M3C is more flexible because the user can input the coefficients a and b of any magnitude-length scaling relationship:

Mw = b * log L + b              (2)

Where L is rupture length. Monelli et al. (2014)[15] find that the use of a magnitude-area scaling relationship rather than a magnitude-length scaling relationship explains differences in the hazard results. In OpenQuake, the fault rupture is created by conserving the rupture area computed using the magnitude-area scaling relations and a specific rupture magnitude. This means that the rupture length may be increased for a given aspect ratio and rupture area if the width of the fault rupture is larger than the seismogenic thickness (Monelli et al., 2014[15]; Pagani et al., 2014[8]). In M3C, the rupture extension is constrained by the magnitude-length scaling relations and therefore there is one rupture distance for the same rupture magnitude.

Faulting style and depth[edit]

Both software packages implement the predominant faulting style (i.e strike-slip, thrust and, normal) for each seismic source. This is defined by predominant faulting style and strike in M3C, and rake, dip and strike in OpenQuake. M3C and OpenQuake assign a depth distribution to each seismic source.

Magnitude-frequency distribution[edit]

Seismicity is modelled as a Poisson process in both codes and the magnitude-frequency distribution is described by a double truncated Gutenberg-Richter distribution, which is bounded by a minimum magnitude and a maximum magnitude. It is worth noting that the activity rate for the seismic sources is defined for 0.0 Mw in OpenQuake and a minimum magnitude that can be 0.0 or non-0.0 in M3C. Furthermore, the OpenQuake engine allows the possibility of using other magnitude-frequency distributions, such as the hybrid characteristic earthquake model of Youngs and Coppersmith (1985)[16] and an ‘arbitrary’ distribution.

Ground motion models[edit]

The implementation of the GMPEs in M3C and OpenQuake is very similar. A large number of ground motion models are built-into the software, i.e. they are implemented as stand-alone functions in their own sub-routine. Ground motion truncation is supported by both codes. In M3C it is possible to select the untruncated ground motion model. To reproduce the same condition, the truncation level should be set to 6 in OpenQuake (Pagani et al., 2014[8]).

Epistemic uncertainties[edit]

Epistemic uncertainty describes the scientific uncertainty in the simplified model and reflects our lack of knowledge regarding earthquake processes. They are expressed by a logic-tree where each branch is set up for alternative models, parameters and assumptions. Weights are given to each branch to reflect the relative confidence that the analyst has in that model. OpenQuake and M3C implement the logic tree approach for epistemic uncertainties.

The treatment of epistemic uncertainties in Cornell-McGuire based PSHA and Monte Carlo based PSHA is different. In the Cornell-McGuire approach, the hazard results are performed for every possible combination of branches and the outcome represents a weighted mean (e.g. McGuire, 2004[17]; Musson, 2012[5]). In a Monte Carlo-based PSHA, not all possible values of the logic tree branches are computed but they are sampled randomly based on their weights and a single hazard calculation is performed (Musson, 2012[5]). For this reason, in M3C, it is straightforward to write an input file that contains many branches in the logic tree, whereas in OpenQuake a large logic tree produces a lengthy, and often impractical, input file for both Cornell-McGuire PSHA and Monte Carlo-based PSHA.

Hazard outputs[edit]

In terms of seismic hazard outputs, both M3C and OpenQuake compute seismic hazard curves and maps, uniform seismic hazard spectra (UHS), and disaggregation. It is worth noting that the grid spacing for the seismic hazard maps is in degrees in M3C and kilometres in OpenQuake.

For this reason, it is not straightforward to compare the hazard maps produced by the two codes for the exact number of grid points.


  1. MUSSON, R M W. 1999. Determination of design earthquakes in seismic hazard analysis through Monte Carlo simulation. Journal of Earthquake Engineering, Vol. 3, 463–474.
  2. 2.0 2.1 MUSSON, R M W. 2000. The use of Monte Carlo simulations for seismic hazard assessment in the UK. Annali di Geofisica, Vol. 43, 1–9.
  3. MUSSON, R M W, and SARGEANT, S. 2007. Eurocode 8 seismic hazard zoning maps for the UK. British Geological Survey Technical Report, CR/07/125.
  4. 4.0 4.1 MUSSON, R M W. 2009. Ground motion and probabilistic hazard. Bulletin of Earthquake Engineering, Vol. 7, 575–589.
  5. 5.0 5.1 5.2 MUSSON, R M W. 2012. PSHA Validated by Quasi Observational Means. Seismological Research Letters, Vol. 83, 130–134.
  6. CROWLEY, H, PINHO, R, PAGANI, M, and KELLER, N. 2013. Assessing global earthquake risks: The Global Earthquake Model (GEM) initiative. In Handbook of seismic risk analysis and management of civil infrastructure systems. TESTAMARIAM, S, and GODa, K (Woodhead Publishing Limited).
  7. FIELD, E H, JORDAN, T A, and CORNELL, C A. 2003. OpenSHA: A developing community-modeling environment for seismic hazard analysis. Seismological Research Letters, Vol. 74, 406–419.
  8. 8.0 8.1 8.2 8.3 8.4 8.5 8.6 PAGANI, M, MONELLI, D, WEATHERILL, G, DANCIU, L, CROWLEY, H, SILVA, V, HENSHAW, P, NASTASI, M, PANZERI, L, and VIGANÒ, D. 2014. OpenQuake engine: An open hazard (and risk) software for Global Earthquake Model. Seismological Research Letters, Vol. 85, 692–702.
  9. 9.0 9.1 GEM. 2019. The OpenQuake-engine User Manual. Global Earthquake Model (GEM) OpenQuake Manual for Engine version 3.0.1. doi: 10.13117/GEM.OPENQUAKE.MAN.ENGINE.3.5.0.
  10. WEATHERILL, G A, PAGANI, M, and GARCIA, J. 2016. The Seismic Hazard Modeller’s Toolkit: An open-source library for the construction of probabilistic seismic hazard models, Paper 900, Second European Conference on Earthquake Engineering and Seismology, Istanbul.
  11. 11.0 11.1 WELLS, D L, and COPPERSMITH, KJ. 1994. New empirical relationships among magnitude, rupture length, rupture width, rupture area, and surface displacement. Bulletin of the Seismological Society of America, Vol. 84, 974–1002.
  12. 12.0 12.1 THOMAS, P, WANG I, and ABRAHAMSON, N N. 2010. Verification of probabilistic seismic hazard analysis computer programs. PEER Report 2010/106 (College of Engineering, University of California, Berkely).
  13. 13.0 13.1 EPRI. 2011. Technical Report: Central and Eastern United States Seismic Source Characterisation for Nuclear Facilities. EPRI (Palo Alto, California).
  14. 14.0 14.1 STRASSER, F O, ARANGO, M C, and BOMMER, J. 2010. Scaling of the source dimensions of interface and intraslab subduction-zone earthquakes with moment magnitude. Seismological Research Letters, Vol. 81, 941–950.
  15. 15.0 15.1 15.2 MONELLI, D, PAGANI, M, WEATHERILL, G, DANCIU, L, and GARCIA, J. 2014. Modelling distributed seismicity for probabilistic seismic-hazard analysis: Implementation and insights with the OpenQuake engine. Bulletin of the Seismological Society of America, Vol. 104, 1636–1649.
  16. YOUNGS, R R, and COPPERSMITH, K J. 1985. Implications of fault slip rates and earthquake recurrence models to probabilistic seismic hazard estimates. Bulletin of the Seismological Society of America, Vol. 75, 939–964.
  17. MCGUIRE, R K. 2004. Seismic hazard and risk analysis. (Oakland CA: Earthquake Engineering Research Institute.)