quakeml zmap++ csep - earth-printsquakeml zmap++ csep danijel schorlemmer (usc, los angeles) ......

34
<QuakeML> QuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) the QuakeML working group (ETH, GFZ, USC, USGS, IRIS) the ZMAP++ working group the CSEP working group

Upload: others

Post on 27-Jun-2020

2 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>

QuakeMLZMAP++

CSEP

Danijel Schorlemmer (USC, Los Angeles)the QuakeML working group

(ETH, GFZ, USC, USGS, IRIS)the ZMAP++ working group

the CSEP working group

Page 2: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Challenges

Challenges in software development in statistical seismology

─ Large variety of data (earthquake catalogs have different contents)

─ Partly impractical formats (not designed for machine processing

─ Difficult to identify future usage of tools─ Different environments:

─ real-time & automated processing─ research tools

Page 3: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>UNIX Philosophy

“This is the Unix philosophy:

1. Write programs that do one thing and do it well.

2. Write programs to work together.

3. Write programs to handle text streams, because that is a universal interface.”

Doug McIlroy

Page 4: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>UNIX Philosophy

“This is the Unix philosophy:

1. Write programs that do one thing and do it well.

2. Write programs to work together.

3. Write programs to handle text streams, because that is a universal interface.”

Doug McIlroy

Do not try to design the “one fits all” solution

Page 5: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Consequences of the UNIX Philosophy

─ Modular toolkits to support reassembling of programs or processing chains for specific tasks

─ Interoperability on the level of data not codes─ Interface through open standards (recommendations)─ Open-source to warrant:

─ Maximum level of platform independence─ No distribution problems─ Independence of software vendors (no lock-in)

Page 6: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>The Projects

QuakeMLXML-based format family for seismological data(Participants from ETH, GFZ, SCEC, USGS, IRIS)

ZMAP++Toolkit for statistical analyses of seismicity

CSEPComposite Testing Center software

“This is the Unix philosophy:

1. Write programs that do one thing and do it well.

2. Write programs to work together.

3. Write programs to handle text streams, because that is a universal interface.”

Page 7: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>XML

Why XML (eXtensible Markup Language)?

Open and free standards W3C: XML, XPath, XSLT, XLink, XPointer, XML Schema, ...

Open source & multi-platform toolsXerces, Xalan (Apache), libxml2, libxslt (Gnome), ...

Platform independentASCII-files with defined encodings

Flexible & extensibleXML-Namespaces

Page 8: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>QuakeML

Earthquake catalog

Page 9: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>QuakeML

Location PDF Shakemaps

Moment Tensors Macroseismic

Page 10: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>QuakeML – Design Principles

─ Intended to cover a broad range of seismological fields

─ Support real-time data transfer of seismic events

─ Designed as data exchange format, independent of further persistent storage

─ Modular approach:─ Basic event data─ Resource metadata─ Inventory─ ...

─ Written from scratch, no adaption of existing (DB-) schema, uses full XML flexibility

─ Community-driven development of standards─ Documents are first discussed in working group, then

subjected to Request for Comments process─ Sequence of document maturity levels: Working Draft,

Proposed Recommendation, Recommendation

Page 11: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Schema

QuakeML UML class diagramVersion 0.61

Page 12: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Metadata Problem

<QuakeML/>

Page 13: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Resource Identifiers

QuakeML supports unique, location-independent identifiers for resources in a seismological network (in URI format)

smi:<authority­id>/<resource­key>[#<local­id>]

URI schema smi stands for seismological meta-information

─ unambiguous, persistent identifiers of networked resources

─ rich standardized metadata description (Dublin Core)─ resource discovery by standardized query gateways

 smi:ch.ethz.sed/Software/NLLoc/4.10Example: SED Location Program

 doi:10.1051/0004­6361:20064840   http://dx.doi.org/10.1051/0004­6361:20064840

Analogy

Page 14: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Data Exchange Infrastructure

A registry is a resource that stores and provides metadata about other resources

─ provides a Web Service which resolves identifiers

─ RDF vocabulary (Dublin Core):─ identity (name and description)─ curation (who maintains it?)─ content (what kind of information?)─ data quality─ service (how to retrieve the resource?)

─ if resource data are in QuakeML format, they can be retrieved via registries with a short-cut identifier

quakeml:<authority­id>/<resource­key>[#<local­id>[?<parameters>]]

Registry

Webservice

Page 15: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Metadata & Data Exchange

Registry

Webservice

Publishing of data & metadata

METADATA

DATA

Page 16: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Metadata & Data Exchange

 smi:ch.ethz.sed/Network/DAVOS 

METADATAsmi:ch.ethz.sed/Network/DAVOS

<rdf:Description>  <dc:title>DAVOS</dc:title>   <dc:creator>SED</dc:creator>   <dc:publish rdf:res="smi:ch.ethz.sed/org/about"/></rdf:Description>

Retrieving metadata

Page 17: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Metadata & Data Exchange

 quakeml:ch.ethz.sed/Seismogram/DAVOS?t1=200601011230 

 quakeml:ch.ethz.sed/... 

Retrieving QuakeML data

DATA<quakeml­xseed>  <blockette>    ...  </blockette>  ...</quakeml­xseed>

quakeml:ch.ethz.sed/Seismogram/DAVOS...

Page 18: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>QuakeML – From Data Model to XML and API

─ QuakeML data model available as UML class diagram (and XMI)

─ We will maintain and distribute a software library for QuakeML:

─ Use XMI for automated code generation

─ Library native in C++, can be used from other object-oriented languages (Python, Java) using wrappers

─ Objects can be serialized as XML (QuakeML) or SQL

SeisComP Schema(XML)

XMLSchema

UMLXMI

XSLT

XSLTPython

C++ ClassLibrary

Python wrapper(SWIG)

serialize to

XM

L

SQL

SQL DB<QuakeML>

Developed at GFZ

Page 19: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Modularity

C++Classes

SeisComP Schema(XML)

XMLSchema

UMLXMI

XSLT

XSLTPython

C++ ClassLibrary

Python wrapper(SWIG)

serialize to

XM

L

SQL

SQL DB<QuakeML>

Page 20: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Modularity

C++Classes

XMLParser

QuakeM

L

QuakeM

L

Page 21: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Modularity

C++Code

C++Classes

XMLParser

Page 22: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Modularity

C++Code

C++Classes

XMLParser

Commandline program

Page 23: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>XML Piping

QuakeM

L

QuakeM

L

C++Code

C++Classes

XMLParser

Commandline program

Pipe in Pipe out

Page 24: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Scripting Abilities

Python

Dataimport

CatalogSeismicnetwork

QuakeM

L

Datapreparation

Catalog

QuakeM

L

Page 25: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Scripting Abilities

XSLT

SVG

KML

Map

Google Earth

Python

Dataimport

CatalogSeismicnetwork

QuakeM

L

Datapreparation

Catalog

QuakeM

L

Page 26: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Recombination

Python

Datapreparation

CatalogCatalog

QuakeM

L

Datapreparation

Catalog

QuakeM

L

QuakeM

L

Python

Datapreparation

Catalog Catalog

QuakeM

L

QuakeM

L

Page 27: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>GUI

GUI program

Page 28: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Modules

─ Data import (e.g. ANSS catalog)─ Data preparation:

─ Cutting in space─ Cutting in time─ Cutting in magnitude

─ Declustering─ Dequarrying─ Completeness estimates:

─ Maximum Curvature─ EMR─ Probabilistic magnitude of completeness

─ Computation of seismicity parameters:─ a,b-values─ Omori-sequence parameters

─ Mapping of seismicity parameters─ ...

Page 29: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>CSEP

Codegenerating toolchain for:

─ QuakeML (with extensions)─ Forecast format─ Result formats

Page 30: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>CSEP – Natural Laboratories

Result

Data Preparation

Dataimport

CatalogSeismicnetwork

QuakeM

L

Datapreparation

Catalog

QuakeM

L

Forecast

QuakeM

L

Forecast

Forecast Generation

Test

Test

Page 31: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>CSEP Software Distribution

Possible Testing Centers Natural

LaboratoryCode

Python

XMLDefinitionand API

QuakeML

C++Core

(Toolkit)

NaturalLaboratory

Code

Python

XMLDefinitionand API

QuakeML

C++Core

(Toolkit)

UnlimitedDownstream

ModeratedUpstream Exam

ples

CSEPDevelopment

Team

Page 32: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>QuakeML – In International Projects

ZMAP++ Statistical seismicity

analysis tool

Time-dependent hazard onnationwide/European scale

NERIES JRA2

CSEP – SCEC Earthquake prediction

evaluation and testing center

CODE

EMSC/ORFEUS Data center

Earthquake processing pro-gram and tsunami warning

system for the Indian Ocean

SeisComP 3

SAFER WP5 Time-dependent hazard foraftershock sequences &

swarms

CODE

CODE

CODE

DATA

DATA

DATA

CODE

CODE

Page 33: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Summary

─ Open research toolkits─ Automated toolchains─ Extensible framework

─ Open and changeable specifications─ Fully open source (General public license)─ Support C++ & Python─ Codegenerator can be extended to support other

languages (e.g., Java)

MatLab users:─ IPython for interactive scripting─ NumPy/SciPy for scientific programming─ MatPlotLib for plotting using the MatLab-syntax

Page 34: QuakeML ZMAP++ CSEP - Earth-printsQuakeML ZMAP++ CSEP Danijel Schorlemmer (USC, Los Angeles) ... XML-Namespaces < Q u a k e M L > QuakeML Earthquake catalog < Q u a k e M

<Q

ua

keM

L>Contact the QuakeML Group

─ Visit our website

http://www.quakeml.ethz.ch

─ Write us

[email protected]

─ for participating in the request for comments process: Send us your email-address and you will receive the RFC documents

─ for questions

─ for suggestions