Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
There are seven basic [source types](http://usgs.github.io/nshmp-haz/javadoc/index.html?gov/usgs/earthquake/nshmp/eq/model/SourceType.html):
```
[ Area, Cluster, Fault, Grid, Interface, Slab, System ]
```
Source files for each are written in [plain old XML](http://en.wikipedia.org/wiki/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.
__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](http://usgs.github.io/nshmp-haz/javadoc/index.html?gov/usgs/earthquake/nshmp/mfd/MfdType.html).
__Note on using default MFDs:__ Default MFDs, if supported and 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
__Note on Coordinates:__ *nshmp-haz* supports longitude and latitude values in the closed ranges `[-360° ‥ 360°]` and `[-90° ‥ 90°]`. Note, however, that mixing site and/or source coordinates across the antimeridian (the -180° to 180° transition) will yield unexpected results. For Pacific models and claculations, always use positive or negative longitudes exclusively.
### Outline
* [Area Sources](#area-sources)
* [Cluster Sources](#cluster-sources)
* [Fault Sources](#fault-sources)
* [Grid Sources](#grid-sources)
* [Interface Sources](#interface-sources)
* [Slab Sources](#slab-sources)
* [System Sources](#system-sources)
### Area Sources
Area sources are similar to [Grid Sources](#grid-sources) except that a single MFD applies to an entire area with rates proportionally scaled for use at all grid nodes. The discretization of area sources into grids may be allowed to [vary with distance](http://usgs.github.io/nshmp-haz/javadoc/index.html?gov/usgs/earthquake/nshmp/eq/model/AreaSource.GridScaling.html) from a site as specified by a model initialization [configuration](configuration).
```XML
<?xml version="1.0" encoding="UTF-8"?>
<AreaSourceSet name="Source Set Name" weight="1.0">
<!-- Sources ... -->
<Source name="Area Source Name" id="0">
<!-- Specify MFDs ... -->
<IncrementalMfd type="GR" weight="1.0" id="name"
a="0.0" b="0.8" dMag="0.1" mMax="7.0" mMin="5.0" />
<Geometry>
<!-- Border polygon. Individual locations specified by
whitespace separated tuples of longitude,latitude,depth
(NO SPACES); same as the 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
<?xml version="1.0" encoding="UTF-8"?>
<ClusterSourceSet name="Source Set Name" weight="1.0">
<!-- (optional) Settings block for any data that applies to all
sources. -->
<Settings>
<!-- (optional) The reference MFD to use. Note: Cluster sources
only support SINGLE MFDs at this time. -->
<DefaultMfds>
<IncrementalMfd type="SINGLE" weight="1.0" id="name"
rate="0.002" floats="false" m="0.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" id="0" weight="0.2">
<Source name="Fault Source Name" id="0">
<!-- Specify MFDs; only SINGLE is supported -->
<IncrementalMfd type="SINGLE" weight="0.2" id="name" m="6.6" />
<IncrementalMfd type="SINGLE" weight="0.5" id="name" m="6.9" />
<IncrementalMfd type="SINGLE" weight="0.3" id="name" m="7.3" />
<!-- 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
<?xml version="1.0" encoding="UTF-8"?>
<FaultSourceSet 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. -->
<DefaultMfds>
<IncrementalMfd type="SINGLE" weight="0.6667" id="name"
rate="0.0" floats="false" m="0.0" />
<IncrementalMfd type="GR" weight="0.3333" id="name"
a="0.0" b="0.8" dMag="0.1" mMin="5.0" mMax="7.0" />
...
</DefaultMfds>
<!-- (optional) A magnitude uncertainty model that will be
applied to every source:
- <Epistemic/> varies mMax and scales variant rates by
the supplied weights; it is only ever applied to SINGLE
and GR MFDs.
- 'cutoff' is magnitude below which uncertainty will be
disabled.
- <Aleatory/> applies a (possibly moment-balanced) ±2σ
Gaussian distribution to mMax; it is only ever applied
to SINGLE MFDs (possibly in conjunction with epistemic).
- '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" id="0">
<!-- Specify MFDs ...
- at a minimum, 'type' must be defined, assuming
reference MFDs are present. -->
<IncrementalMfd type="SINGLE" rate="1.0" m="7.4" />
<IncrementalMfd type="GR" a="1.0e-2" dMag="0.1" mMax="7.4" />
<!-- Then geometry ... -->
<Geometry depth="1.0" 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
<?xml version="1.0" encoding="UTF-8"?>
<GridSourceSet name="Source Set Name" weight="1.0" id="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. -->
<DefaultMfds>
<IncrementalMfd type="GR" weight="1.0" id="name"
a="0.0" b="0.8" dMag="0.1" mMax="7.0" mMin="5.0" />
<IncrementalMfd type="INCR" weight="1.0" id="name"
mags="[5.05, 5.25, 5.45, 5.65, 5.85, 6.05, 6.25, 6.45]"
rates="[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]" />
...
</DefaultMfds>
<!-- Grid sources require attitional information about the
distribution of focal mechanisms and depths to use:
- 'magDepthMap' 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], ...].
- 'maxDepth' constrains the maximum depth of any finite
point source representations.
- 'focalMechMap' is a ',' separated list of focal
mechanism identifiers and associated wieghts.
- In both maps above, 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
magDepthMap="[6.5::[5.0:1.0]; 10.0::[1.0:1.0]]"
maxDepth="14.0"
focalMechMap="[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, ...]">-119.4,34.0,0.0</Node>
<Node type="SINGLE" rates="[1.0e-2, ...]">-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>
```
### Interface Sources
```XML
<?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" id="0">
<!-- Specify MFDs ... -->
<IncrementalMfd type="SINGLE" weight="1.0" id="name"
rate="1.0" m="8.2" />
<!-- 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>
<!-- (optional) Subduction sources may specify a lower trace,
also following the right-hand-rule. If a lower trace
is NOT defined, the parent geometry element must include
'depth', 'dip', and 'width' attributes in the same manner
as a fault source. -->
<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>
```
### Slab Sources
Subduction intraslab sources are currently specified the same way as [Grid Sources](#grid-sources).
### System Sources
Fault system source sets require three files:
* `fault_sections.xml`
* `fault_ruptures.xml`
* `grid_sources.xml`
that are placed together within a _source group_ folder. Fault system source sets represent a single logic-tree branch or an average over a group of branches and has a gridded (or smoothed seismicity) source component that is coupled with the fault-based rates in the model.
`fault_sections.xml` defines the geometry of a fault network as a set of indexed fault sections:
```XML
<?xml version="1.0" encoding="UTF-8"?>
<SystemFaultSections 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>
```
`fault_ruptures.xml` defines the geometry of fault sources, referencing fault sections by index:
```XML
<?xml version="1.0" encoding="UTF-8"?>
<SystemSourceSet 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 rate="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>
```
`grid_sources.xml` is structured and processed in the same way as a [grid source](#grid-sources).
### Next: [Ground Motion Models](ground-motion-models)