GNS-Science / nzshm-opensha

renamed successor to old nshm-nz-opensha , all python history removed to new nzshm-runzi repo
MIT License
0 stars 2 forks source link

Try out Kevin's suggestion of filtering ruptures with small magnitudes #303

Closed voj closed 4 months ago

voj commented 5 months ago

We want to be able to remove the special code in our opensha branch fix/rup-normalization.

One of the problems is that we fill some MFD bins with 1e-20 and then have special misfit values of -1 that we ignore, using special code.

Kevin suggested we could simply filter out ruptures below 6.8 in order to reduce the size of our MFDs.

voj commented 5 months ago

They easiest way to filter out low magnitude ruptures was to create a new rupset and then filter out ruptures below 6.8 before the rupture set is written to file.

Running a 4 minute inversion on this filtered rupture set with unmodified inversion code: Screenshot 2024-03-22 104811

Comparing this to the NZSHM22 version it looks very similar, but the solution is a bit lower around 6.9.

All inversions I have run for this investigation use the same parameters as this NZSHM22 inversion. They also all use the filtered rupture set.

Next, I modified the inversion code to see if we could have MFDs start at 6.8.

Trying to set the global minMag to 6.8 lead to strange MFDs, for example: Screenshot 2024-03-22 100507

Only setting the minMag for targetOnFaultSupraSeisMFDs to 6.8 and leave all other MFDs as before lead to a result that visually looks identical to the result with unmodified code. This is the MFD that required us to set bin values to 1e-20 and to set misfits to -1. I have confirmed that we don't set bin values to 1e-20, and the MFD misfits are no longer -1.

Screenshot 2024-03-22 132952

voj commented 5 months ago

This is a part of #300

voj commented 5 months ago

Write-up merged into main. Code remains on chore/303-global-minmag for when we need it