GMPE Implementation OpenQuake1 -...

35
GMPE Implementation in OpenQuake (and GEM’s “Development” Tools) Graeme Weatherill

Transcript of GMPE Implementation OpenQuake1 -...

GMPE Implementation in OpenQuake(and GEM’s “Development” Tools)

Graeme Weatherill

GMPEs in OpenQuake

1. Overview of OpenQuake Development

2. GMPE Testing and Quality Assurance

3. Source and Site Characterisation in OpenQuake

PSHA CalculationsPSHA Calculations

4. “Strong Motion Modeller’s Toolkit” – design and

demonstration

5. Potential GEM Interactions for SARA WP6

Main features

A multi-purpose tool

A software for the calculation of hazard

and physical risk

Open and transparent

Take a look at

http://github.com/gem

A modular software

OQ-engine is organized into a

number of libraries

oq-hazardlib

oq-risklib

oq-nrmllibHazard Risk

OpenQuake Input

The oq-engine natively support PSHA input models accounting for epistemic

uncertainties by means of a logic tree structure.

OpenQuake-engine: Structure of the PSHA Input Model

Configuration file Seismic Source Logic Tree Initial Seismic Source Model A

Defines alternative

seismic source Configuration file Seismic Source Logic Tree

Ground Motion Logic Tree

Initial Seismic Source Model A

Initial Seismic Source Model B

...

Defines calculation

parameters

seismic source

models + epistemic

uncertainties

Define alternative ground

motion models (GMPEs)

OpenQuake-hazardlib

Seismic Hazard Analysis Input- Seismic sources logic tree- Ground motion logic tree

Ruptures generator

Gro

un

d m

otio

Gro

un

d m

otio

Sin

gle

Ru

Workflows 1 and 3: Classical

PSHA and Disaggregation

Workflow 2: Event-based

PSHA

Workflow 4: scenario-based

hazard

Gro

un

d m

otio Ruptures generator

Logic Tree processor

Lo

gic

Tre

es

De

scrip

tion

s

“Hazard” code

consolidated into

a single python

library

- Standalone

- Cross-platform

- Lightweight

- Minimal

Dependencies

on

mo

de

ls

Classic Probabilistic Seismic Hazard calculator

or

Disaggregation calculator

on

mo

de

ls

Ground motion field calculator

up

ture

Stochastic event set calculator

on m

od

els

Ground motion field calculator

Event-based Probabilistic Seismic Hazard Calculator

Output information used by

the OQ-engine risk calculators

Legend:

Seismic sources description

Set of ruptures

Set of ground motion fields

Four core

workflows:

i) Classical PSHA

ii) Disaggregatio

n

iii) Event-Based

PSHA

iv) Scenario

Testing and Quality Assurance in OpenQuake

‣ OpenQuake is implemented following a test-

driven development approach

‣ Testing takes four different forms:

1. Unit-Testing1. Unit-Testing

2. (Open) Code Review

3. Simple Quality Assurance

4. Advanced Quality Assurance

Run continuously and

all tests automatically

checked nightly

On-going and in

development

Unit-Testing

• Every function associated with a test to ensure correctness of

behaviour

• Every line of code should be covered by a test

• Expected results can be verified by independent software • Expected results can be verified by independent software

implementations where possible

• All tests must pass before any code is submitted

Code Review

• Before anyone (developer/scientist/outside-party) can submit

code to the repository it is reviewed by at least one other

developer (and, if necessary, a member of the scientific team)

• Developers will check the following:

1. All unit-tests are passing!

2. Code (and documentation) conforms to Python coding

standards (PEP8)

3. Efficiency and quality

Quality Assurance – Part 1: PEER Tests

• Full PSHA calculations for controlled conditions – “PEER Tests”

(Thomas et al., 2010)

• Check PSHA calculations against implementations verified by a

hand and compared against other proprietary and open

software

• PEER Tests run as part of the full test-suite that is run nightly –

developers notified immediately if these tests fail

Example “PEER” Test

OQ

PEER

Quality Assurance – Part 2: PSHA Model Database

• OpenQuake Implementations of Site-Specific and National

Seismic Hazard Models

• Implement existing models (US, Canada, Japan, Australia etc.) in

OpenQuake to compare with implementations in other software

(e.g. FRISK88, EQRM, NSHMP etc.)

• Differences can emerge due to: i) differences in source/site

characterisation, ii) GMPE modifications, iii) bugs

• Ongoing work!

Regional Model Implementation

OpenQuake-engine NIED Japan

GMPE Implementation and Quality Assurance in OpenQuake

‣ GMPEs implementation must be accompanied by

corresponding tests

‣ “Test-tables” provide expected values of the GMPE (means

and standard deviations) under an exhaustive combination of

parameters.

‒ Test-tables constructed using GMPE implementations provided ‒ Test-tables constructed using GMPE implementations provided

by the original authors

‒ Test-tables can also be supplied directly by the authors

Test-Tables Example

GMPE Implementation and Quality Assurance in OpenQuake

‣ GMPEs implementation must be accompanied by

corresponding tests

‣ “Test-tables” provide expected values of the GMPE (means

and standard deviations) under an exhaustive combination of

parameters.

‒ Test-tables constructed using GMPE implementations provided ‒ Test-tables constructed using GMPE implementations provided

by the original authors

‒ Test-tables can also be supplied directly by the authors

‣ Small modifications to existing GMPEs (e.g. changes to

coefficients, minor changes to functional form) can be

supported using sub-classes of the GMPE

Definitions for GMPEs

‣ See Github/Code file

Current GMPE Set (as of 9 May 2014)

‣ Refer to http://docs.openquake.org/oq-hazardlib/ for the

current status of supported GMPEs (updated nightly)

Active Shallow Crust

1. Abrahamson & Silva (1997)

2. Abrahamson & Silva (2008)

3. Akkar et al. (2014) (also

labelled as Akkar et al (2013)

10. Campbell & Bozorgnia (2003)

11. Campbell & Bozorgnia (2008)

12. Cauzzi & Faccioli (2008)

13. Chiou & Youngs (2008)labelled as Akkar et al (2013)

4. Akkar & Bommer (2010)

5. Akkar & Çagnan (2010)

6. Boore, Joyner & Fumal (1993)

7. Boore, Joyner & Fumal (1997)

8. Boore & Atkinson (2008)

9. Boore & Atkinson (2011)

13. Chiou & Youngs (2008)

14. Climent et al. (1994)

15. Faccioli et al. (2010)

16. Lin (2009)

17. Sadigh et al. (1997)

18. Si & Midorikawa (1999)

19. Zhao et al. (2006) – Active

Shallow Crust

Current GMPE Set (as of 9 May 2014 – updated regularly)

‣ Refer to http://docs.openquake.org/oq-hazardlib/ for the

current status of supported GMPEs (updated nightly)

Subduction

1. Atkinson & Boore (2003)

2. Garcia et al (2005) – In-slab (Only)

3. Geomatrix (1993)3. Geomatrix (1993)

4. Lin & Lee (2008)

5. Si & Midorikawa (1999)

6. Youngs et al. (1997)

7. Zhao et al. (2006)

Abrahamson et al (2014) BC Hydro Model has been

coded but awaiting input from authors for testing!

Current GMPE Set (as of 9 May 2014 – updated regularly)

‣ Refer to http://docs.openquake.org/oq-hazardlib/ for the

current status of supported GMPEs (updated nightly)

Stable Continental Crust

1. Allen (2012)

2. Atkinson & Boore (1995) (plus modifications)

3. Atkinson & Boore (2006) (plus modifications)

4. Berge-Thierry et al. (2003)4. Berge-Thierry et al. (2003)

5. Campbell (2003)

6. Frankel et al. (1996)

7. Pezeshk et al. (2011)

8. Silva et al. (2002)

9. Somerville et al. (2001)

10. Somerville et al. (2009)

11.Tavakoli & Pezeshk (2005)

12. Toro et al. (1997; 2003)

Also includes Douglas et al.

(2013) for induced seismicity

in enhanced geothermal

regions

What about …

‣ NGA West-2?

‒ Implementation is now underway

‒ Modifications needed throughout the oq-hazardlib to

accommodate more complex directivity parameters

‣ Older/superseded GMPEs?‣ Older/superseded GMPEs?

‒ Some are implemented to compare older seismic hazard

maps

‒ May not always be able to obtain independent

verifications

‒ Can be implemented if necessary – but must implement

a “Non-verified” warning

What about … GMPE Tables?

‣ Currently not supported

‒ Cannot control quality assurance process,

‒ Prefer direct implementation

‒ Reduces efficiency

‒ Requires new data format for representing tables‒ Requires new data format for representing tables

‣ This is now being reconsidered – support for tables is

now an objective for a (not too distant) future version

oq-hazardlib – Source Characterisation

Upper Seismogenic

depthEpicenter position

(long.,lat.)

Point Source with Magnitude

Frequency Distribution (MFD)

Distributed Seismicity Sources

(Point and Area Source)

Lower Seismogenic

depthRupture shape

determined by

scaling relationship

and aspect ratio

Upper

Seismogenic

depth

Fault trace

Simple Fault with

MFD

oq-hazardlib – Source Characterisation

Simple Fault Sources

Upper

Seismogenic

depth

Rupture size and

shape determined

by scaling

relationship and

aspect ratio

• AA

Top and bottom

edges

Complex Fault Sources

oq-hazardlib – Source Characterisation

Sumatra Subduction

Model from SLAB 1.0

Intermediate

edges

Complex Subduction Sources

OpenQuake Rupture, Site & Distance Objects

Site Object Contains:

Distances Object Contains:

1) Epicentral (repi)

2) Hypocentral (rhypo)

3) Joyner-Boore (rjb)

4) Rupture (rrup)

5) R-x (rx)

Rupture Object Contains:

1) Magnitude

2) Dip

3) Rake

4) ZTOR

5) Hypocentral Depth

6) Down-dip Width

Site Object Contains:

1) VS30 (m/s)

2) VS30measured (True/False)

3) Z1.0

4) Z2.5

GMPEs in OpenQuake – Interaction with GEM

‣ OpenQuake is TRULY open-source (under the terms of the GNU Affero

licence)

‣ Anyone can view code (no login/password/account is required!)

‣ Anyone can download code and make modifications in their own

environment

‣ Anyone can contribute code (including/especially GMPEs) to the

repositories

‒ Subject to fulfillment of the testing/code review/quality assurance process

‣ If you wish to request GMPEs then please do provide us with either

comprehensive test tables and/or source code of the GMPE

‒ This includes making modifications to the coefficients of existing GMPEs!

The “OpenQuake”

Software Family!

OpenQuake-platformOpenQuake-engine

oq-nrmlib

oq-risklib

oq-hazardlib

Hazard

Modeller’s

Toolkit (hmtk)

Strong Motion

Modeller’s

Toolkit

(gmpe-smtk)

GMPE Selection in PSHA

‣ Numerical methods frequently used to compare GMPEs

against strong motion records – assess suitability of use and/or

weighting in logic tree (e.g. Delavauld et al., 2012)

1. Comparison of observed records against expected ground

motions from GMPEs

2. Quantitative comparison of fit of GMPEs to records (e.g.

Scherbaum et al., 2004; Scherbaum et al, 2009; Kale and Akkar,

2013 etc.)

3. Comparison of model space (e.g. Stewart et al., 2014;

Scherbaum et al., 2010)

GMPE Selection in PSHA

‣ Different source code/tools/implementation of the

GMPE

‣ Cannot be certain the GMPE used for these tools is

exactly identical to the GMPE used in the PSHA exactly identical to the GMPE used in the PSHA

software!

‣ How to redress this process?

The Strong Motion Modeller’s Toolkit (gmpe-smtk)

‣ GEM’s Newest Scientific Toolset‒ GNU Affero Licence (open-source)

‣ Python library of functions for (at present):‒ Calculation of Ground Motion Intensity Measures

‒ Visualisation of GMPEs (Trellis Plots)

Storage and selection of ground motion records‒ Storage and selection of ground motion records

‒ Comparison of observed records with GMPEs

‒ .... more to follow!

‣ OQ-hazardlib used as a dependency – same GMPEs used for model selection as used in the PSHA code itself!

Gmpe-smtk Architecture

gmpe-

smtk

Database

Intensity

Measures

Parsers

Readers for different databases:

metadata, time-series, spectra

Database constructor – can

configure attributes stored

Intensity Measures: PGA, PGV, PDG, Time-

series, Arias, CAV, Duration, horizontal

spectra (GM, GMRotD, GMRotI

Response spectra calculators: Nigam & smtk

Trellis Plots

Residual

Analysis

Response

Spectra

Response spectra calculators: Nigam &

Jennings (1969); Newmark-β, etc.

Compares Records Against OQ-GMPEs:

i) Residual analysis (M, R, Vs30 etc.

ii) Likelihood & Log-likelihood

iii) EDR (Akkar & Kale)

Compare GMPEs using Trellis Plots, with

arbitrary or rupture-based configuration:

Magnitude, distance, spectra, standard

deviation etc.

Demonstrations

‣ IPython notebook examples

GEM Interaction with SARA WP6

‣ At the database compilation stage:

‒ Can assist in the definition of common data (and database) formats

‒ Try to ensure compatibility with GEM tools‒ Try to ensure compatibility with GEM tools

‒ Provide guidance and feedback (if required) regarding consistency between GMPE source/site definitions and those required by the PSHA model

‒ Coordination with other work packages

GEM Interaction with SARA WP6

‣ At the GMPE Selection Stage:

‒ Collaboration and development of SMTK (new

features, data formats etc.)

‒ SARA participants can provide example data and (if

they wish) code to generate independent tests of they wish) code to generate independent tests of

the software

‒ Feedback/Usage requirements etc.