Complimentary Components of Openquake and Shakemap


Abstract eng:
In 2017, the U.S. Geological Survey anticipates releasing an updated version of ShakeMap. ShakeMap version 4.0 will represent a major departure from all previous versions of ShakeMap. All of the important computational modules are being refactored into the Python programming language, and make use of the tools in the widely available Python “scientific distributions” (e.g., https://www.scipy.org/stackspec.html). The core ShakeMap code, approaching 15 years old, was overdue for a major overhaul to more organically incorporate (or eliminate) the many extensions that had been added over its lifetime, and to facilitate several new demands from ShakeMap’s expanded role as a global provider of post-earthquake information and earthquake scenarios, and as the input to loss-modeling software. One of the significant factors driving the rewrite of ShakeMap into the Python language is the availability of the library of ground motion prediction equations (GMPEs) and other tools incorporated into the OpenQuake (OQ) hazard library (oq-hazardlib). The OQ hazard library provides a broad range of well-tested, high-performance, open-source global GMPEs. Due to constraints imposed by the software architecture of earlier implementations of ShakeMap, the development and validation of GMPE modules is time consuming and difficult, which restricted the quantity and timeliness of the available modules. The oq-hazardlib provides a broad array of current GMPE and related hazard modules, as well as a framework for easily adding new modules (whether by the Global Earthquake Model [GEM] or ShakeMap staff), jumpstarting our efforts to re-implement ShakeMap. The OpenQuake hazard library also provides supporting functions for using the GMPE modules, including a set of software classes for computing the various distance measures required by the GMPEs. The ShakeMap fault model, however, was somewhat more general than allowed for by the oq-hazardlib planar surface modules, so we have sub-classed the oq-hazardlib “surface” class and implemented our own high-performance module. The open-source, cooperative nature of the OQ project allows us to contribute our new module back to the OQ repository, and thus make it available to other users. In addition to the GEM OpenQuake hazard library, there are a number of other reasons to use Python in an application like ShakeMap. The dynamic nature of the language means that development time is much reduced, allowing a small team to generate useful code in a short amount of time. Also, there is an active scientific computing Python community that has created many tools that solve common problems, including an array object for vectorized operations, input/output routines for common data formats, and plotting/mapping libraries. These tools again help to reduce development time and effort.

Contributors:
Conference Title:
Conference Title:
16th World Conference on Earthquake Engineering
Conference Venue:
Santiago (CL)
Conference Dates:
2017-01-09 / 2017-01-13
Rights:
Text je chráněný podle autorského zákona č. 121/2000 Sb.



Record appears in:



 Record created 2017-01-18, last modified 2017-01-18


Original version of the author's contribution as presented on USB, paper 4670.:
Download fulltext
PDF

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)