Chile Earthquake Magnitudes#
Exploring the distribution of earthquake magnitudes in Chile using the relocated catalogue from the Centro Sismológico Nacional (CSN), 1982–mid-2020.
Potin et al. (2024), doi:10.1785/0220240047
Load the catalogue#
Data from Potin et al. (2024): a revised, relocated Chilean seismic catalogue covering 1982 to mid-2020. See chile/chilean_seismic_catalogue-1982-2020-publication_release/README.md for column definitions and citation details.
| # | year | month | day | hour | minute | seconds | longitude | latitude | depth | rms | magnitude | magnitude_type | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 1982 | 1 | 8 | 0 | 32 | 52.05 | -71.760237 | -32.218361 | 11.7341 | 0.95 | NaN | xx |
| 1 | 1 | 1982 | 1 | 9 | 1 | 6 | 18.81 | -73.147276 | -33.919849 | 5.3619 | 0.86 | NaN | xx |
| 2 | 2 | 1982 | 1 | 9 | 20 | 28 | 47.24 | -70.053573 | -32.952820 | 118.5877 | 0.27 | NaN | xx |
| 3 | 3 | 1982 | 1 | 12 | 15 | 4 | 33.20 | -70.431024 | -32.467427 | 89.8999 | 0.08 | NaN | xx |
| 4 | 4 | 1982 | 1 | 13 | 11 | 20 | 3.02 | -69.627611 | -31.559731 | 46.6019 | 1.49 | NaN | xx |
| # | year | month | day | hour | minute | seconds | longitude | latitude | depth | rms | magnitude | magnitude_type | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| count | 118004.00000 | 118004.000000 | 118004.000000 | 118004.000000 | 118004.000000 | 118004.000000 | 118004.000000 | 118004.000000 | 118004.000000 | 118004.000000 | 118004.000000 | 109310.000000 | 118004 |
| unique | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 7 |
| top | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | l |
| freq | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 89168 |
| mean | 59001.50000 | 2008.268915 | 6.537863 | 15.628521 | 11.320065 | 29.394961 | 30.028944 | -70.540887 | -29.325809 | 68.141672 | 0.357229 | 3.177608 | NaN |
| std | 34064.96492 | 9.381915 | 3.453024 | 8.782564 | 6.920552 | 17.304747 | 17.315109 | 1.531607 | 5.681583 | 56.104951 | 0.195222 | 0.792424 | NaN |
| min | 0.00000 | 1982.000000 | 1.000000 | 1.000000 | 0.000000 | 0.000000 | 0.000000 | -76.229448 | -45.979579 | -4.954000 | 0.010000 | 0.200000 | NaN |
| 25% | 29500.75000 | 2003.000000 | 4.000000 | 8.000000 | 5.000000 | 14.000000 | 15.050000 | -71.741079 | -33.416475 | 22.039650 | 0.230000 | 2.700000 | NaN |
| 50% | 59001.50000 | 2010.000000 | 6.000000 | 16.000000 | 11.000000 | 29.000000 | 30.070000 | -70.707791 | -31.664178 | 52.116300 | 0.310000 | 3.100000 | NaN |
| 75% | 88502.25000 | 2016.000000 | 10.000000 | 23.000000 | 17.000000 | 44.000000 | 45.010000 | -69.277223 | -23.024681 | 105.557100 | 0.440000 | 3.600000 | NaN |
| max | 118003.00000 | 2020.000000 | 12.000000 | 31.000000 | 23.000000 | 59.000000 | 59.990000 | -64.810972 | -17.817892 | 336.550300 | 2.430000 | 8.800000 | NaN |
Magnitude is reported on several scales (l local, c coda, w and ww moment magnitude). Many early events have no magnitude estimate.
Keep events with a valid magnitude for the distribution analysis.
| count | mean | std | min | 25% | 50% | 75% | max | |
|---|---|---|---|---|---|---|---|---|
| magnitude_type | ||||||||
| 1.0 | 4.000000 | NaN | 4.0 | 4.0 | 4.0 | 4.0 | 4.0 | |
| B | 9.0 | 4.811111 | 0.329562 | 4.4 | 4.6 | 4.8 | 5.1 | 5.3 |
| W | 265.0 | 5.167170 | 1.093272 | 2.1 | 4.7 | 5.2 | 5.8 | 8.8 |
| c | 18629.0 | 3.108449 | 1.172345 | 0.2 | 2.8 | 3.5 | 3.8 | 6.4 |
| l | 89168.0 | 3.163719 | 0.653422 | 0.6 | 2.7 | 3.1 | 3.5 | 6.8 |
| ww | 1238.0 | 4.780210 | 0.484259 | 3.1 | 4.5 | 4.7 | 5.0 | 7.6 |
The number of events per year has been increasing, which suggests better detection.
The distributions for the different kinds of magnitudes are substantially different. I’m not sure it’s valid to combine them, but for a first pass analysis, that’s what I’m going to do.
As expected, there are only a few very large magnitudes.
Here’s the tail distribution (fraction of values >= x for all x).
Fit a Student t#
Find the df parameter that best matches the tail, then the mu and sigma parameters that best match the percentiles.
Search for the value of df that best matches the tail behavior.
Given that value of df, find mu and sigma to best match percentiles.
Run the model out to magnitude 9.5
On a linear scale:
The model fits the data well above magnitude 3.
Now on a log-y scale:
And both together
The model fits the tail behavior well and makes plausible predictions for very large earthquakes.
Copyright 2026 Allen B. Downey
Example related to Chapter 8 from Probably Overthinking It.
License: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)