ANSS is still evaluating and planning the transition to Quakeml, and there is only limited support in production. This document represents the current mapping from Quakeml to Product, which may change.
Quakeml is an emerging international standard XML representation for earthquake information. Quakeml will eventually be the preferred format for ANSS seismological data, and supersede the CUBE and EQXML formats. The XSD schema for Quakeml is available at https://quake.ethz.ch/quakeml/Documents.
QuakeML is currently only converted to products using the EIDSInputWedge, with the gov.usgs.earthquake.event.EidsToQuakemlConverter parser class, using the rules described below.
Not all Quakeml messages have a product representation.
QuakeML and Product formats differ significantly. QuakeML allows you to send many types of information in one message, and consumers must keep and merge all received QuakeML messages to determine the latest information of each type. The Product format requires each type of information to be a separate product, which is updated over time. While this can be more complicated when creating the information, it simplifies the organization of the resulting information.
ANSS uniquely identifies events to simplify cataloging, using two
attributes. These attributes must be used on each
event
element, and optionally may be used on
origin
,
magnitude
, and
momentTensor
elements
event id
must be unique from the
data source
.
event id
from a data
source
always refers to the same event.
event id
from a data
source
always refers to a different event.
data source
s are
considered to be the same event when
quakeml/eventParameters/event[@anss:datasource]
quakeml/eventParameters/event[@anss:datasource]
+
quakeml/eventParameters/event[@anss:eventid]
creationInfo/creationTime
element.
For example: if a creationInfo element exists in the
event
element, and in the
origin
element, and a origin product is being created, the origin
creationInfo is used.
event/type
is "not existing", an origin type product with status "DELETE" is
sent.
NOTE: there is currently no support for deleting other products. One
option is to use
evaluationStatus
=
rejected
.
The version property is assigned based on the most specific
creationInfo/version
(see updateTime).
origin
type products represent a sources preferred location for an event. A
source may include multiple locations, but the properties for the
product are derived from the preferred information. Users can use this
preferred information to find an origin product, and then must inspect
the bundled QuakeML for less/non-preferred information.
An origin is considered preferred, and will be converted to a product, when:
event
element in the
document.
event/prigin[@publicID]
matches the event/preferredOriginID
All magnitude properties come from the preferred magnitude for the
event, the magnitude element where
event/magnitude[@publicID]
matches
event/preferredMagnitudeID
phase-data
is identical to
origin
, except that it includes phase information. This is separate from
regular origin products because phase-data is often large, and many
consumers are not interested in this detailed information. The product
is sent as
phase-data
, instead of
origin
, if the
event
element contains any
pick
elements.
origin/latitude/value
, required.
origin/longitude/value
, required.
origin/time/value
, required.
origin/depth/value
event/type
, lower cased. Default is "earthquake".
creationInfo/agencyID
, from the most specific creationInfo.
origin/quality/azimuthalGap
origin/originUncertainty/horizontalUncertainty
origin/depth/uncertainty
origin/latitude/uncertainty
origin/longitude/uncertainty
origin/quality/minimumDistance
origin/quality/usedPhaseCount
origin/quality/usedStationCount
origin/region
origin/evaluationMode
="manual", "reviewed"; Otherwise "automatic".
origin/quality/standardError
magnitude/mag/value
creationInfo/agencyID
magnitude/methodID
magnitude/azimuthalGap
magnitude/mag/uncertainty
magnitude/stationCount
focal-mechanism
and
moment-tensor
and products are identical, except the
focal-mechanism
doesn't include any tensor properties. The product is sent as a
moment-tensor
instead of
focal-mechanism
, if the
focalMechanims
element contains a
momentTensor
element.
When
momentTensor/methodID
is present, the product code is
event[@anss:datasource]
+
event[@anss:eventid]
+
momentTensor/methodID
. When not present, the default product code is used (and thus only
one moment-tensor or focal-mechanism product per event).
For display on the new event pages and comcat, only the 6 tensor parameters (for moment-tensor) or the 2 nodal planes (for focal-mechanism) are required for display. Other values are computed based on these values.
creationInfo/agencyID
event/origin[@publicID=focalMechanism/triggeringOriginID]/time/value
event/origin[@publicID=focalMechanism/triggeringOriginID]/latitude/value
event/origin[@publicID=focalMechanism/triggeringOriginID]/longitude/value
focalMechanism/nodalPlanes/nodalPlane1/dip/value
focalMechanism/nodalPlanes/nodalPlane1/rake/value
focalMechanism/nodalPlanes/nodalPlane1/strike/value
focalMechanism/nodalPlanes/nodalPlane2/dip/value
focalMechanism/nodalPlanes/nodalPlane2/rake/value
focalMechanism/nodalPlanes/nodalPlane2/strike/value
focalMechanism/momentTensor/methodID
focalMechanism/momentTensor/scalarMoment
event/origin[@publicID=focalMechanism/momentTensor/derivedOriginID]/time/value
event/origin[@publicID=focalMechanism/momentTensor/derivedOriginID]/latitude/value
event/origin[@publicID=focalMechanism/momentTensor/derivedOriginID]/longitude/value
event/origin[@publicID=focalMechanism/momentTensor/derivedOriginID]/depth/value
focalMechanism/momentTensor/doubleCouple
focalMechanism/momentTensor/tensor/mtt/value
focalMechanism/momentTensor/tensor/mpp/value
focalMechanism/momentTensor/tensor/mrr/value
focalMechanism/momentTensor/tensor/mtp/value
focalMechanism/momentTensor/tensor/mrp/value
focalMechanism/momentTensor/tensor/mrt/value
event/magnitude[@publicID=momentTensor/momentMagnitudeID]/mag
event/magnitude[@publicID=momentTensor/momentMagnitudeID]/type