GMPE Implementation OpenQuake1 -...
Transcript of GMPE Implementation OpenQuake1 -...
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
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!
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
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
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
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.
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.