Skip to content

Source Types

Peter Powers edited this page Jun 18, 2015 · 20 revisions

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.

Outline

Area 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

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>
Fault Sources
<?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>
Grid Sources
<?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>
Fault System Sources

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>
Subduction Interface Sources
<?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>
Subduction Intraslab Sources

Intraslab sources are currently specified the same way as Grid Sources.

Clone this wiki locally