-
Notifications
You must be signed in to change notification settings - Fork 33
Source Types
There are seven basic source types:
[ Area, Cluster, Fault, Grid, Interface, Slab, System ]
Source files for each are written in plain old XML. All attributes present in the examples below are required with the exception of MFD's for which default distributions are being used; see examples below.
A note on value types: Most attribute values or element content are parsed as a String, Double, Double[] (array) or Boolean; those attribute values in ALL_CAPS are parsed as enum types and are case sensitive, for example.
A note on using default MFDs: Default MFDs, if present, must be fully specified. Any MFD encountered in a source will map all missing attributes from the default(s) of the same type. If no default for an MFD type is present, the source MFD must be fully specified.
- Area Sources
- Cluster Sources
- Fault Sources
- Fault System Sources
- Grid Sources
- Subduction Interface Sources
- Subduction Intraslab Sources
Area sources are similar to Grid Sources except that a single MFD applies to an entire area with rates proportionally scaled for use at all grid nodes. See API Docs for details on area source grid scaling.
<?xml version="1.0" encoding="UTF-8"?>
<AreaSourceSet name="Source Set Name" weight="1.0">
<!-- Settings block for any data that applies to all sources. -->
<Settings>
<!-- (optional) The reference MFDs to use. -->
<DefaultMfds>
<IncrementalMfd type="GR"
a="0.0" b="0.8" dMag="0.1" mMax="7.0" mMin="5.0" weight="1.0" />
...
</DefaultMfds>
<SourceProperties
ruptureScaling="NSHM_FAULT_WC94_LENGTH"
gridScaling="UNIFORM_0P1" />
</Settings>
<!-- Sources must follow Settings ... -->
<Source name="Area Source Name">
<!-- Specify MFDs ...
- at a minimum, 'type' must be defined, assuming a reference MFD
is present. -->
<IncrementalMfd type="GR" a="1.0e-2" dMag="0.1" mMax="7.4" />
<Geometry>
<!-- Border polygon. Individual locations specified by whitespace
separated tuples of longitude,latitude,depth (NO SPACES); same
as KML <coordintes/> format. -->
<Border>
-117.0,34.0,0.0
-117.1,34.1,0.0
-117.3,34.2,0.0
...
</Border>
</Geometry>
</Source>
<!-- Add more sources ... -->
<Source />
...
</AreaSourceSet>Cluster sources are composed of two or more fault sources that rupture independently but very closely spaced in time. Ground motions from cluster sources are modeled as the joint probability of exceeding ground motions from each independent event.
<?xml version="1.0" encoding="UTF-8"?>
<ClusterSourceSet name="Source Set Name" weight="1.0">
<!-- Settings block for any data that applies to all sources. -->
<Settings>
<!-- (optional) The reference MFD to use.
- Cluster sources only support SINGLE MFDs at this time. -->
<DefaultMfds>
<IncrementalMfd type="SINGLE"
a="0.002" floats="false" m="0.0" weight="1.0" />
</DefaultMfds>
<!-- Although not used, a rupture scaling model is required to
initalize the fault sources nested in each cluster. -->
<SourceProperties ruptureScaling="NSHM_FAULT_WC94_LENGTH" />
</Settings>
<!-- Sources must follow Settings ... -->
<Cluster name="Cluster Source Name" weight="0.2">
<Source name="Fault Source Name">
<!-- Specify MFDs; only SINGLE is supported -->
<IncrementalMfd m="6.6" type="SINGLE" weight="0.1" />
<IncrementalMfd m="6.9" type="SINGLE" weight="0.1" />
<IncrementalMfd m="7.3" type="SINGLE" weight="0.5" />
<!-- Then geometry ... -->
<Geometry dip="45.0" rake="0.0" width="14.0">
<!-- Trace must follow right-hand rule. -->
<!-- Individual locations specified by whitespace separated
tuples of longitude,latitude,depth (NO SPACES); same as
KML <coordintes/> format. -->
<Trace>
-117.0,34.0,0.0
-117.1,34.1,0.0
-117.3,34.2,0.0
...
</Trace>
</Geometry>
</Source>
</Cluster>
<!-- Add more sources ... -->
<Cluster />
...
</ClusterSourceSet><?xml version="1.0" encoding="UTF-8"?>
<FaultSourceSet name="Source Set Name" weight="1.0">
<!-- Settings block for any data that applies to all sources. -->
<Settings>
<!-- (optional) The reference MFDs to use. -->
<DefaultMfds>
<IncrementalMfd type="SINGLE"
a="0.0" floats="false" m="0.0" weight="0.6667" />
<IncrementalMfd type="GR"
a="0.0" b="0.8" dMag="0.1" mMin="5.0" mMax="7.0" weight="0.3333" />
...
</DefaultMfds>
<!-- (optional) The magnitude uncertainty model that will be applied to
every source:
- The model is only ever applied to SINGLE and GR MFDs.
- <Epistemic/> varies mMax and scales the rates by the supplied
weights.
- 'cutoff' is magnitude below which uncertainty will be disabled.
- <Aleatory/> applies a (possibly moment-balanced) ±2σ Gaussian
distribution to mMax.
- 'count' is the number of magnitude bins spanned by the distribution.
- <Aleatory/> or '<Epistemic/>', or the entire block may be
omitted. -->
<MagUncertainty>
<Epistemic cutoff="6.5"
deltas="[-0.2, 0.0, 0.2]" weights="[0.2, 0.6, 0.2]" />
<Aleatory cutoff="6.5"
moBalance="true" sigma="0.12" count="11" />
</MagUncertainty>
<SourceProperties ruptureScaling="NSHM_FAULT_WC94_LENGTH" />
</Settings>
<!-- Sources must follow Settings ... -->
<Source name="Fault Source Name">
<!-- Specify MFDs ...
- at a minimum, 'type' must be defined, assuming reference MFDs
are present. -->
<IncrementalMfd type="SINGLE" a="1.0" m="7.4" />
<IncrementalMfd type="GR" a="1.0e-2" dMag="0.1" mMax="7.4" />
<!-- Then geometry ... -->
<Geometry dip="45.0" rake="0.0" width="14.0">
<!-- Trace must follow right-hand rule. -->
<!-- Individual locations specified by whitespace separated tuples of
longitude,latitude,depth (NO SPACES); same as KML <coordintes/>
format. -->
<Trace>
-117.0,34.0,0.0
-117.1,34.1,0.0
-117.3,34.2,0.0
...
</Trace>
</Geometry>
</Source>
<!-- Add more sources ... -->
<Source />
...
</FaultSourceSet><?xml version="1.0" encoding="UTF-8"?>
<GridSourceSet name="Source Set Name" weight="1.0">
<!-- (optional) Settings block for any data that applies to all sources. -->
<Settings>
<!-- (optional) The reference MFDs to use; although optional, using
reference MFDs greatly reduces grid source file sizes. -->
<!-- (optional) The reference MFDs to use; although optional, using
reference MFDs greatly reduces grid source file sizes. -->
<DefaultMfds>
<IncrementalMfd type="GR"
a="0.0" b="0.8" dMag="0.1" mMax="7.0" mMin="5.0" weight="1.0" />
<IncrementalMfd type="INCR"
mags="[5.05, 5.25, 5.45, 5.65, 5.85, 6.05, 6.25, 6.45, 6.65]"
rates="[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]"
weight="1.0" />
...
</DefaultMfds>
<!-- Grid sources require attitional information about the distribution
of focal mechanisms and depths to use:
- 'depthMap' is a ';' separated list cutoff magnitudes mapped to
depths and associated weights. In the example below events of
M<6.5 are located at a depth of 5 km, with a full weight of 1.
The [depth:weight] mapping may contain multiple, ',' separated
values, e.g. [6.5::[5.0:0.8,1.0:0.2], ...].
- 'mechMap' is a ',' separated list of focal mechanism identifiers
and associated wieghts.
- In both maps, weights must sum to 1.
- Use 'NaN' for unknown strike. Note that if a strike value is
defined, sources will be implementated as FIXED_STRIKE and any
configuration settings will be ignored. -->
<SourceProperties
depthMap="[6.5::[5.0:1.0]; 10.0::[1.0:1.0]]"
mechsMap="[STRIKE_SLIP:0.5,NORMAL:0.0,REVERSE:0.5]"
ruptureScaling="NSHM_POINT_WC94_LENGTH"
strike="120.0" />
</Settings>
<!-- Nodes are specialized <IncrementalMfd/> elements that specify the location
of individual grid sources and have the necessary attributes to define
the MFD for the source. -->
<Nodes>
<Node type="GR" a="0.0823" mMax="7.2">-119.0,34.0,0.0</Node>
<Node type="GR" a="0.0823" mMax="7.1">-119.1,34.0,0.0</Node>
<Node type="GR" a="0.0823" mMax="6.8">-119.2,34.0,0.0</Node>
<Node type="GR" a="0.0823" mMax="7.1">-119.3,34.0,0.0</Node>
<Node type="SINGLE" rates="[1.0e-2, 9.0e-3, ...]">-119.4,34.0,0.0</Node>
<Node type="SINGLE" rates="[1.0e-2, 9.0e-3, ...]">-119.5,34.0,0.0</Node>
<Node type="GR" a="0.0823" mMax="6.9">-119.3,34.0,0.0</Node>
...
</Nodes>
</GridSourceSet>TODO: corresponding grid source file
Fault system sources require two files: sections.xml and sources.xml that are placed together within a source group folder.
sections.xml defines the geometry of a fault network as a set of indexed fault sections:
<?xml version="1.0" encoding="UTF-8"?>
<IndexedFaultSections name="Source Set Name">
<!-- Specify section 'index' and 'name' -->
<Section index="0" name="Section Name">
<!-- Specify section geometry -->
<Geometry aseis="0.1" dip="50.0" dipDir="89.459"
lowerDepth="13.0" upperDepth="0.0">
<!-- Unlike Fault Sources, trace does not need to follow
right-hand rule as 'dipDir' is supplied above. -->
<!-- Individual locations specified by whitespace separated
tuples of longitude,latitude,depth (NO SPACES); same as
KML <coordintes/>format. -->
<Trace>
-117.75,35.74,0.00
-117.76,35.81,0.00
</Trace>
</Geometry>
</Section>
<!-- Add more sections ... -->
<Section />
</IndexedFaultSections>sources.xml defines the geometry of fault sources, referencing fault sections by index:
<?xml version="1.0" encoding="UTF-8"?>
<IndexedFaultSourceSet name="Source Set Name" weight="1.0">
<!-- <Settings/> block may be included; see Fault Sources and Grid Sources
for examples. -->
<!-- Sources must follow Settings ...
- indexed fault sources do not require a name.-->
<Source>
<!-- Specify MFDs ... -->
<IncrementalMfd a="1.0e-05" floats="false" m="6.58" type="SINGLE" weight="1.0" />
<!-- Then geometry ...
- 'indices' is an array of index ranges, ordered from one end of
the source to the other -->
<Geometry indices="[[0:5],[13:22],[104:106]" rake="0.0" />
</Source>
<!-- Add more sources ... -->
<Source />
...
</IndexedFaultSourceSet><?xml version="1.0" encoding="UTF-8"?>
<SubductionSourceSet name="Source Set Name" weight="1.0">
<!-- See Fault Sources for 'Settings' examples. -->
<Settings />
<!-- Sources must follow Settings ... -->
<Source name="Subduction Source Name">
<!-- Specify MFDs ... -->
<IncrementalMfd type="SINGLE" a="1.0" m="8.2" weight="1.0"/>
<!-- Then geometry ... -->
<Geometry rake="90.0">
<!-- As with Fault Sources, trace must follow right-hand rule. -->
<!-- Individual locations specified by whitespace separated
tuples of longitude,latitude,depth (NO SPACES); same as
KML <coordintes/> format. -->
<Trace>
-124.7,41.0,0.0
-124.6,44.0,0.0
-124.5,47.0,0.0
...
</Trace>
<!-- Subduction sources require a lower trace to be defined, also
following the right-hand-rule. -->
<LowerTrace>
-124.5,41.0,0.0
-124.4,44.0,0.0
-124.3,47.0,0.0
...
</LowerTrace>
</Geometry>
</Source>
<!-- Add more sources ... -->
<SubductionSource />
...
</SubductionSourceSet>Intraslab sources are currently specified the same way as Grid Sources.
U.S. Geological Survey – National Seismic Hazard Mapping Project (NSHMP)