gem / oq-engine

OpenQuake's Engine for Seismic Hazard and Risk Analysis
https://github.com/gem/oq-engine/#openquake-engine
GNU Affero General Public License v3.0
373 stars 272 forks source link

Disaggregation by section #9816

Closed micheles closed 3 days ago

micheles commented 3 days ago

This is not yet what @kejohnso asked (disaggregation by fault) but it is what @mmpagani asked, which is simpler. It is now possible to determine which are the sections of multi fault sources contributing the most to the hazard. The calculator works in preprocessing, i.e. before preclassical, by splitting the multi fault sources in bunch of ruptures containing the same section, which is the closest to the site. NB: the splitting is done solely for single site calculations with use_rates=true, i.e. for AELO-like calculations. When applied to @kejohnso calculation job_dos.ini the results are as follows:

$ oq show source_info  # slow the splitting of the sources
| source_id            | grp_id | code | calc_time | num_sites | num_ruptures | weight   | mutex_weight | trti |
|----------------------+--------+------+-----------+-----------+--------------+----------+--------------+------|
| fault_0_example!1022 | 0      | P    | 0.6845    | 2         | 1            | 18.0000  | 0.0          | 0    |
| fault_0_example!1023 | 0      | P    | 0.6990    | 4         | 3            | 48.0000  | 0.0          | 0    |
| fault_0_example!1024 | 0      | P    | 0.6464    | 7         | 6            | 93.0000  | 0.0          | 0    |
| fault_0_example!1025 | 0      | P    | 12.8812   | 2_750     | 2_749        | 41_238   | 0.0          | 0    |
| fault_0_example!1026 | 0      | P    | 0.7845    | 16        | 15           | 228.0    | 0.0          | 0    |
...
| fault_0_example!1282 | 0      | P    | 0.5781    | 3         | 2            | 33.0000  | 0.0          | 0    |
| fault_0_example!1283 | 0      | P    | 0.6300    | 2         | 1            | 18.0000  | 0.0          | 0    |

Figure_1