Newer
Older
# Model Structure
Earthquake source models are specified using [JSON](https://www.json.org),
[GeoJSON](https://geojson.org), and CSV files. The files in a model directory tree are largely
self describing and represent logic trees and other relationships between source model ingredients
(JSON), source geometry (GeoJSON features), and earthquake rate data (CSV). JSON is well-suited
for representing model data and relationships and is supported in most programming languages.
[[_TOC_]]
## Directory Structure
Earthquake source files are organized by tectonic setting: `active-crust`, `stable-crust`,
`subduction-interface`, `subduction-slab`, and `volcanic` with the two crustal and the volcanic
settings supporting the nested source types: `fault-sources`, `grid-sources`, and `zone-sources`.
The `volcanic` tectonic setting also supports `decollement-sources`.
The root of a model must include `model-info.json` and _may_ include a `calc-config.json` that
specifies any custom default [calculation configuration](./Calculation-Configuration.md) settings
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
for the model. Top level tectonic setting directories must include `gmm-tree.json` and
`gmm-config.json` files. Source directories are loaded recursively, permitting configuration files
deeper in the heirarchy to override those defined higher in the heirarchy, as needed and as
specified for each source type. Nested directories support associations between groups of sources,
their configuration and initialization, and ground motion models. If there are a large number of
sources in a model, sources are typically further organized by region or other grouping. Example
model top-level directory tree:
```text
model-directory/
├─ model-info.json (required)
├─ calc-config.json (optional, overrides defaults)
│
├─ active-crust/
│ ├─ gmm-config.json (required, can override)
│ ├─ gmm-tree.json (required, can override)
│ │
│ ├─ fault-sources/
│ │ └─ ...
│ │
│ ├─ grid-sources/
│ │ └─ ...
│ │
│ └─ zone-sources/
│ └─ ...
│
├─ stable-crust/... Same structure as 'active-crust'
│ └─ ...
│
├─ subduction-interface/ Similar structure to 'fault-sources'
│ └─ ...
│
└─ subduction-slab/ Similar structure to 'grid-sources'
└─ ...
```
The following sections describe each source type, associated configuration and source definition
files, and any other requirements.
## Crustal Finite Fault Sources
Finite fault sources may either be defined as a single source (commonly with associated logic
trees of MFDs, slip rates, or dip variations) or a more complex logic tree of source model
variants. GeoJSON feature files define fault sections using a `LineString` representing the
surface trace of the section. The coordinate order of the trace must adhere to the U.S. structural
geology right-hand rule.
```text
fault-sources/
├─ fault-config.json (required, can override)
├─ mfd-config.json (required, can override)
├─ mfd-map.json (optional) Map of shared mfd-trees
│
├─ single-fault-sources/
│ ├─ source-1.geojson
│ ├─ source-2.geojson
│ └─ nested-sources/
│ └─ ...
│
└─ tree-based-fault-source/ Nested directories may have any name
├─ source-tree.json Source logic tree; when present, governs
│ subsequent processing; includes pointers
│ to branch directories below
│
├─ features/ (required) Directory of fault features
│ ├─ section-1.geojson
│ ├─ section-2.geojson
│ └─ ...
│
├─ branch-1/
│ └─ rupture-set.json Fault source logic tree branching always
│ ends at a 'rupture-set'
└─ branch-2/
├─ source-tree.json
├─ branch-3/
└─ branch-4/
```
See also: [Finite Fault Source Type](./Source-Types.md#fault-sources)
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
## Crustal Grid Sources
Grid sources are based on smoothed seismicity or other spatially varying rate model and may be
defined as either single source features, each within its own directory, or as more complex logic
trees of source model variants. Grid sources are modeled as point sources of varying complexity.
Multiple GeoJSON `Polygon`s may be used to accomodate spatial variations in source properties.
```text
grid-sources/
├─ grid-config.json (required, can override)
├─ mfd-map.json (optional) Map of shared mfd-trees
├─ features/ (required) Directory of grid feature bounds
├─ grid-data/ (required) Directory of all spatial PDFs
│
├─ single-grid-source/
│ ├─ grid-source.geojson
│ └─ rate-tree.json Optional tree of rates
│
└─ tree-based-grid-source/
├─ source-tree.json Source logic tree
│
├─ branch-1/
│ └─ grid-source.geojson Grid source logic tree branching always
├─ branch-2/ ends at a *.geojson file
│ └─ ...
└─ ...
```
See also: [Grid Source Type](./Source-Types.md#grid-sources)
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
## Crustal Zone (Area) Sources
Zone sources specify a single rate that is distributed over a GeoJSON `Polygon` using point source
rupture models. Presently, there is a 1:1 mapping of source zones to their associated rate files.
*__Note:__ The rate file approach will be discouraged and/or deprecated in the near future in favor
of dynamically computing rates over a zone from a single value or `rate-tree.json` when the loading
a model.*
```text
zone-sources/
├─ zone-config.json (required, can override)
├─ mfd-config.json (required)
├─ mfd-map.json (optional) Map of shared mfd-trees
│
├─ single-zone-source/
│ ├─ zone-source.geojson
│ ├─ zone-source.csv (required) File of rate data (current)
│ └─ [rate-tree.json] (optional) Tree of rates (future)
│
└─ tree-based-zone-source/
├─ source-tree.json Source logic tree
└─ branch-1/
├─ zone-source.geojson Grid source branching ends at a *.geojson file
├─ zone-source.csv (required) file of rate data (current)
└─ [rate-tree.json] (optional) tree of rates (future)
```
See also: [Zone Source Type](./Source-Types.md#zone-sources)
## Subduction Interface Sources
Subduction interface sources are modeled in a similar manner as crustal fault sources; they may
be a single source or a more complex logic tree of source model variants. GeoJSON feature files
define interface sections using a `MultiLineString` of multple traces at increasing depths. The
coordinate order of each trace must adhere to the U.S. structural geology right-hand rule.
```text
subduction-interface
├─ gmm-config.json (required)
├─ gmm-tree.json (required)
├─ interface-config.json (required)
├─ mfd-config.json (required)
└─ ...
```
See also: [Subduction Interface Source Type](./Source-Types.md#subduction-interface-sources)
## Subduction Intraslab Sources
Subduction intraslab sources are modeled in a similar manner as crustal grid sources. Slab sources
typically have spatially varying rates, but their depths also vary. In contrast to grid sources,
rate files (`*.csv`) are stored adjacent to their corresponding feature file (`*.geojson`);
_this may change in a future release_.
```text
subduction-slab
├─ gmm-config.json (required)
├─ gmm-tree.json (required)
├─ slab-config.json (required)
├─ mfd-config.json (required)
└─ ...
```
See also: [Subduction Intraslab Source Type](./Source-Types.md#subduction-intraslab-sources)

Altekruse, Jason Morgan
committed
---
## Related Pages
* [Hazard Model](./Hazard-Model.md#hazard-model)
* [Model Structure](./Model-Structure.md#model-structure)
* [Model Files](./Model-Files.md#model-files)
* [Source Types](./Source-Types.md#source-types)
* [Magnitude Frequency Distributions (MFDs)](./Magnitude-Frequency-Distributions.md#magnitude-frequency-distributions)
* [Rupture Scaling Relations](./Rupture-Scaling-Relations.md#rupture-scaling-relations)
* [Ground Motion Models (GMMs)](./Ground-Motion-Models.md#ground-motion-models)
* [**Documentation Index**](../README.md)

Altekruse, Jason Morgan
committed
---
 [U.S. Geological Survey](https://www.usgs.gov)

Altekruse, Jason Morgan
committed
National Seismic Hazard Mapping Project ([NSHMP](https://earthquake.usgs.gov/hazards/))