Event-Based PSHA#
The Event Based PSHA calculator computes and stores stochastic event sets and the corresponding ground motion fields. This calculator can also produce hazard curves and hazard maps, similar to the Classical PSHA calculator. The inset below shows an example of the list of results provided by the OpenQuake engine at the end of an event-based PSHA calculation:
user@ubuntu:~$ oq engine --lo <calc_id>
id | name
10 | Ground Motion Fields
11 | Hazard Curves
12 | Hazard Maps
13 | Realizations
14 | Earthquake Ruptures
15 | Events
16 | Uniform Hazard Spectra
Exporting the outputs from the ruptures will produce a CSV file with the following columns:
rup_id
: incremental number identifying the rupturemultiplicity
: how many times the rupture occurs in the effective investigation timemag
: float specifying the magnitude of the rupturecentroid_lon
: longitude of the centroid of the rupturecentroid_lat
: latitude of the centroid of the rupturecentroid_depth
: depth (in km) of the centroid of the rupturetrt
: string specifying the tectonic region typestrike
: strike angle of the rupture surfacedip
: dip angle of the rupture surfacerake
: rake angle of the rupture surface
The outputs from the Ground Motion Fields can be exported in the csv format. Exporting the outputs from the Ground Motion Fields in the csv format results in three csv files, where XXX is a placeholder for the calculation ID:
gmf_data_XXX.csv
sigma_epsilon_XXX.csv
sitemesh_XXX.csv
Here is an example of the gmf_data_XXX.csv
file for the EventBasedPSHA
demo:
site_id |
event_id |
gmv_PGA |
0 |
99 |
0.06888 |
0 |
125 |
0.06498 |
0 |
142 |
0.05881 |
0 |
151 |
0.05569 |
0 |
156 |
0.06918 |
0 |
161 |
0.06629 |
0 |
179 |
0.10528 |
0 |
184 |
0.05503 |
0 |
200 |
0.06455 |
… |
… |
… |
The sitemesh_XXX.csv
file provides the association between
the site ids in the Ground Motion Fields csv file with their latitude
and longitude coordinates, as in the following example:
site_id |
lon |
lat |
0 |
0.50000 |
-0.5 |
The sigma_epsilon_XXX.csv
file provides the inter event
residuals and inter event standard deviations for each event, as
in the following example:
event_id |
rlz_id |
sig_inter_PGA |
eps_inter_PGA |
0 |
1 |
2.600000E-01 |
0.84923 |
1 |
1 |
2.600000E-01 |
0.25794 |
2 |
2 |
NAN |
0.84894 |
3 |
2 |
NAN |
0.00495 |
4 |
2 |
NAN |
-0.8094396 |
5 |
2 |
NAN |
1.30782 |
6 |
3 |
NAN |
0.89407 |
7 |
0 |
2.600000E-01 |
-1.723876 |
8 |
2 |
NAN |
-0.4926568 |
… |
… |
… |
… |
Users wanting to know exactly how sigma
and epsilon
are computed
should look at the implementation in the file
openquake/hazardlib/calc/gmf.py
. For instance the event based
demo uses the GMPEs BooreAtkinson2008 and ToroEtAl2002, with the
latter being defined only for the total standard deviation, and that
explains the NAN in the sigmas for some events.
The Events
output produces a csv file with fields event_id
,
rup_id
, rlz_id
, year
and ses_id
. The event_id
is a
32 bit integer that identifies uniquely the event; the rup_id
is a
64 bit integer that identifies uniquely the rupture; the rlz_id
is
a 16 bit integer that identifies uniquely the realization. The
year
field is a random number from 0 to the effective
investigation time while the ses_id
field is a random number from
0 to ses_per_logic_tree_path
. Notice that in previous versions of
the engine (before engine-3.11) the semantic of those fields was
different. Here is an example:
event_id |
rup_id |
rlz_id |
year |
ses_id |
0 |
0 |
1 |
14_337 |
35 |
1 |
0 |
1 |
14_729 |
99 |
2 |
0 |
2 |
26_309 |
53 |
3 |
0 |
2 |
34_672 |
219 |
4 |
0 |
2 |
27_925 |
180 |
5 |
0 |
2 |
31_655 |
152 |
6 |
0 |
3 |
37_509 |
170 |
7 |
0 |
0 |
4_784 |
225 |
8 |
0 |
2 |
25_462 |
84 |
… |
… |
… |
… |
… |
The Realizations
output produces a csv file listing the source
model and the combination of ground shaking intensity models for each
path sampled from the logic tree. An example of such a file is shown
below in the table below:
rlz_id |
branch_path |
weight |
0 |
A~AA |
0.36000 |
1 |
A~AB |
0.24000 |
2 |
A~BA |
0.24000 |
3 |
A~BB |
0.16000 |
The branch_path
field is used to determine which GMPEs are
being used for each tectonic region type, as explained in
the logic tree section of the documentation.