Skip to content

ANSS Quakeml Standards

jmfee-usgs edited this page Mar 12, 2013 · 20 revisions

ANSS Quakeml standards

DRAFT

Last updated: 2013-03-12

Quakeml 1.2 and Catalog Extension

Quakeml 1.2 is available from http://www.quakeml.org/.

ANSS uses an extension to Quakeml to better support identification of different versions of the same information.

Mapping Quakeml to Products

A single QuakeML message can contain many events and many products (e.g. origin, focal mechanism) for an event. For the purpose of cataloging, the ANSS standard is to put one event per Quakeml message/file (even though quakeml supports many events in one file). This approach sticks with the nature of PDL which is very event centric with the intent being to provide updates per event as they occur. Note, this does not preclude many separate event files from being dropped into a pdl client for distribution.

  • Most ID information comes from Catalog Extension attributes.
  • Version information is based on the eventParameters/creationInfo/creationTime element. More recently created messages supersede less recently created messages for the same event or product.
  • creationInfo/agencyID should be used to attribute information to another source.
  • Include all associated data when possible.
  • Use resource identifiers consistently to label elements and methods.

Quakeml based products

These products can currently be represented in Quakeml:

  • origin
  • phase-data
  • focal-mechanism
  • moment-tensor
  • tectonic-summary

Continue on this page for a description of how Quakeml is mapped into Products.

For non-quakeml-specific PDL documentation of these and other products, visit the PDL User Guide and look under "Product Reference".


"origin" and "phase-data" products

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/origin[@publicID] matches event/preferredOriginID

An origin is considered a delete, when:

  • event/type = "not existing"

Example messages

"phase-data"

A phase-data product is similar to an origin product, except that it includes phase data. This is a separate type from regular origin products because phase-data is often large, and many consumers are not interested in this detailed information.

A quakeml message has phase data when any of these elements exist:

  • event/amplitude
  • event/pick
  • event/stationMagnitude
  • event/origin/arrival
  • event/magnitude/stationMagnitudeContribution

When an updated origin product from a particular data source is received, ComCat will consider the old version of a phase data product obsolete because it is no longer as up to date as the most recent origin product. When possible, it is recommended to send phase data and origin products with identical updateTimes so that the origin product and the phase data product will stay in sync. The EIDSInputWedge provides a command line argument "--sendOriginWhenPhasesExist" that allows senders to send one phase data message, and have the origin message automatically created.

product information

Quakeml elements used:

eventParameters
event
origin = event/origin[publicID=event/preferredOriginID]
magnitude = event/magnitude[publicID=event/preferredMagnitudeID]
id
source     = event[catalog:datasource]
type       = "phase-data", when has phase data,
             "origin", otherwise.
code       = event[catalog:dataid] or,
             if omitted, event[catalog:eventsource]+event[catalog:eventid]
updateTime = eventParameters/creationInfo/creationTime
status     = "DELETE", when event/type="not existing",
             "UPDATE", otherwise.
properties
"eventsource"                 = event[catalog:eventsource]
"eventsourcecode"             = event[catalog:eventid]
"eventtime"                   = origin/time/value
"latitude"                    = origin/latitude/value
"longitude"                   = origin/longitude/value
"depth"                       = origin/depth/value
"vertical-error"              = origin/depth/uncertainty
"horizontal-error"            = origin/originUncertainty[preferredDescription="horizontal uncertainty"]/horizontalUncertainty
"event-type"                  = event/type
"origin-source"               = origin/creationInfo/agencyID
"azimuthal-gap"               = origin/quality/azimuthalGap
"num-phases-used"             = origin/quality/usedPhaseCount
"num-stations-used"           = origin/quality/usedStationCount
"minimum-distance"            = origin/quality/minimumDistance
"standard-error"              = origin/quality/standardError
"review-status"               = "reviewed", when origin/evaluationMode="manual",
                                "automatic", otherwise
"magnitude"                   = magnitude/mag/value
"magnitude-error"             = magnitude/mag/uncertainty
"magnitude-type"              = magnitude/type
"magnitude-num-stations-used" = magnitude/stationCount
"magnitude-azimuthal-gap"     = magnitude/azimuthalGap
"magnitude-source"            = magnitude/creationInfo/agencyID
contents
"quakeml.xml"                 = the original quakeml document.
"contents.xml"                = ContentsXML that lists quakeml.xml.

NOTE: when using the EIDSInputWedge "--attach" argument, a custom contents.xml should be attached that references the "quakeml.xml" content in addition to any other contents being attached.


"focal-mechanism" and "moment-tensor" products

Focal-mechanism and moment-tensor and products are similar, except the focal-mechanism doesn't include any tensor properties. If the focalMechanism element contains a momentTensor/tensor element, the product is sent as a moment-tensor instead of focal-mechanism.

For conversion to product (and display on the new event pages and comcat), only the the 2 nodal planes (for focal-mechanism) or 6 tensor parameters (for moment-tensor) are required. All other values are computed for display based on these values. However, it is recommended to include these values when they are already available for users who download the quakeml from comcat.

A catalog:dataid attribute is recommended for all focalMechanism elements; because it allows a contributor to send multiple products of this type for the same event.

To delete a focal mechanism or moment-tensor:

  • use the same catalog:dataid attribute
  • set focalMechanism/evaluationStatus to "rejected"

Example message

product information

Quakeml elements used:

eventParameters
event
focalMechanism
triggeringOrigin = event/origin[publicID=focalMechanism/triggeringOriginID]
momentTensor = focalMechanism/momentTensor
tensor = momentTensor/tensor
derivedOrigin = event/origin[publicID=momentTensor/derivedOriginID]
derivedMagnitude = event/magnitude[publicID=momentTensor/momentMagnitudeID]
id
source     = focalMechanism[catalog:datasource] or,
             if omitted, event[catalog:datasource]
type       = "moment-tensor", when has momentTensor/tensor element, 
             "focal-mechanism", otherwise.
code       = focalMechanism[catalog:dataid] or,
             if omitted, event[catalog:dataid] or,
             if omitted, event[catalog:eventsource]+event[catalog:eventid]
updateTime = eventParameters/creationInfo/creationTime
status     = "DELETE", when focalMechanism/evaluationStatus="rejected",
             "UPDATE", otherwise.
properties
"eventsource"                 = event[catalog:eventsource]
"eventsourcecode"             = event[catalog:eventid]
"eventtime"                   = triggeringOrigin/time/value
"latitude"                    = triggeringOrigin/latitude/value
"longitude"                   = triggeringOrigin/longitude/value
"review-status"               = "reviewed", when focalMechanism/evaluationMode="manual",
                                "automatic", otherwise
"beachball-source"            = focalMechanism/creationInfo/agencyID
"nodal-plane-1-strike"        = focalMechanism/nodalPlanes/nodalPlane1/strike/value
"nodal-plane-1-dip"           = focalMechanism/nodalPlanes/nodalPlane1/dip/value
"nodal-plane-1-rake"          = focalMechanism/nodalPlanes/nodalPlane1/rake/value
"nodal-plane-2-strike"        = focalMechanism/nodalPlanes/nodalPlane2/strike/value
"nodal-plane-2-dip"           = focalMechanism/nodalPlanes/nodalPlane2/dip/value
"nodal-plane-2-rake"          = focalMechanism/nodalPlanes/nodalPlane2/rake/value
"percent-double-couple"       = momentTensor/doubleCouple
"scalar-moment"               = momentTensor/scalarMoment/value
"beachball-type"              = momentTensor/methodID
"tensor-mpp"                  = tensor/mpp/value
"tensor-mrp"                  = tensor/mrp/value
"tensor-mrr"                  = tensor/mrr/value
"tensor-mrt"                  = tensor/mrt/value
"tensor-mtp"                  = tensor/mtp/value
"tensor-mtt"                  = tensor/mtt/value
"derived-latitude"            = derivedOrigin/latitude/value
"derived-longitude"           = derivedOrigin/longitude/value
"derived-depth"               = derivedOrigin/depth/value
"derived-eventtime"           = derivedOrigin/time/value
"derived-magnitude"           = derviedMagnitude/mag/value
"derived-magnitude-type"      = derviedMagnitude/type
contents
"quakeml.xml"                 = the original quakeml document.
"contents.xml"                = ContentsXML that lists quakeml.xml.

NOTE: when using the EIDSInputWedge "--attach" argument, a custom contents.xml should be attached that references the "quakeml.xml" content in addition to any other contents being attached.


"tectonic-summary" products

Note that automatic tectonic-summary products are generated when "origin" products are received, based on event location. To define an automatic tectonic summaries based on region, contact Lisa Wald <lisa@usgs.gov>.

product information

Quakeml elements used:

eventParameters
event
event/description[type="tectonic summary"]
id
source     = event[catalog:datasource]
type       = "tectonic-summary"
code       = event[catalog:dataid] or,
             if omitted, event[catalog:eventsource]+event[catalog:eventid]
updateTime = eventParameters/creationInfo/creationTime
status     = "UPDATE"
properties
"eventsource"                 = event[catalog:eventsource]
"eventsourcecode"             = event[catalog:eventid]
contents
"tectonic-summary.inc.html"   = event/description[type="tectonic summary"]/text
Something went wrong with that request. Please try again.