Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development easyQuake #23

Open
wants to merge 27 commits into
base: development
Choose a base branch
from

Conversation

JLSanchezRoldan
Copy link

I added some modifications to easyQuake.py to include new functions for computing local and mblg magnitudes. Also, I created a function that merges all the picks into a single file to study the evolution of the detection.

There are some minor modifications in mseed_predictor.py for allowing to change between the "original" and the "conservative" versions of the EQTransformer model. Both .h5 files were taken from the EQTransformer GitHub repository, and are supposed to be the latest version.

Finally, the readme.md file includes some indications for installing this software on workstations with different versions of CUDA.

JLSanchezRoldan and others added 27 commits March 2, 2023 12:20
Added exception for stations whose channel_code == "1" or "2". Previous version only accounted for stations with channel_code == "E" or "N"
New quakeml_to_nlloc() that converts arrival times from detected earthquakes to NLLOC_OBS format to relocate the catalog using Nonlinloc.
Added EqT_model_conservative.h5 and EqT_original_model.h5 from EQTransformer update in its GitHub repository.
Added total_picks_catalog().
Now, magnitude_quakeml() filters the outliers by comparing them against the median and interquartile range (iqr)  of the list of local magnitudes.

New function added: mblg_ign_magnitude(). This function computed the mblg catalog according to the Spanish Seismic Network criteria (peak amplitude, period and hypocentral distance).
Copy link
Owner

@jakewalter jakewalter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you change the for both models here? Is that based on what worked best for you or based on original EQT documentation for original model?

@JLSanchezRoldan
Copy link
Author

Why did you change the for both models here? Is that based on what worked best for you or based on original EQT documentation for original model?

It's based on comments written by Mousavi on EQT repository:

Original model (the one in the paper) has been optimized to minimize the false negative rate (maximize the number of detected events). This is a good choice when high false positive rates is not an issue in your application. For instance, in event location workfolow most of the false positives will automatically be removed during the association, location, and - especially - relocation procedure. You can use the original model with higher threshold values (~ 0.3 for P and S and 0.5 for detection).

Conservative Model, on the other hand, has been optimized to minimize the false positive rate (maximum number of valid detections). This model is useful when your application can not tolerate a high false positive rate. For example, in travel time tomography or using the detected events by EqT as the templates for template matching. You should use this model with a much lower threshold levels (0.03 for P and S).

For the conservative model, I set slightly different values for the thresholds (0.05 instead of 0.03 for P, S, and 0.2 instead of 0.3 for detection), but they work well with my data. I also tested what results could I get by changing the overlapping to 0.6 (Mousavi recommends 0.9 here: smousavi05/EQTransformer#128, although it seemed too much for me), but the original model showed a poor performance. There were too many false positives when I ran the association with 3 stations*.

*I cared only for the earthquake detection and epicentral location, so 3 stations were OK to test every model. Later, I run a new association with 4 stations with fewer detections for every model.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants