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

MLh calculation for intermediate-depth earthquakes #15

Closed
kpapaza opened this issue Mar 15, 2023 · 13 comments
Closed

MLh calculation for intermediate-depth earthquakes #15

kpapaza opened this issue Mar 15, 2023 · 13 comments

Comments

@kpapaza
Copy link

kpapaza commented Mar 15, 2023

Dear friends from SED,

we (and of course alomost everybody in Seismology in Europe) are using Seiscomp, an as part of our standard process we would like to be able to calculate local magnitude (MLh) even for depths greater than 80 km. This issue is critical for countries like Greece, Italy, Spain, Romania, etc., that have intermediate-depth seismicity, with events with depths > 80km

Unfortunately, this limit (80km) is hard coded in a couple of files (Mlh.cpp, ml.cpp), which means that we have to modify them and recompile Seiscomp in order to solve the problem. With SC3 we used to follow this procedure, but now that we’ re migrating to SC5 we’d like to avoid it as much as possible. Re-compiling creates several problems, especially regarding patches (as well as other issues), that we would like to avoid. I have contacted several othe people (from NOA-Athens, NIEP-Romania) and they only solved the problem by a) Changing the code and, b) Recompiling Seiscomp. Jans Becker from Seiscomp has confirmed that this is the only option (currently)

Since MLh is part of the SED contributions and a plugin, we would like to ask you if it woul;d be possible to either relax this constraint (remove completelya depth limitation), or allow the user to modify a relevant parameter in a .cfg file, either for the existing Seiscomp5 (in a future update), or in the new Seiscomp6.

Thank you in advance for your help and understanding

Costas Papazachos from Aristotle Univ. Thessaloniki network (HT)

PS. I have not commented on the science issue of the validity and use of MLh for intermediate-depth events, this is a different story...

@luca-s
Copy link
Collaborator

luca-s commented Mar 15, 2023

Hi @kpapaza . I don't mind make the parameter configurable, but I need to double check with my colleagues, the experts of MLh, to verify if it makes sense at all to compute MLh at those depths. MLh was designed for Switzerland and so I would like to make sure it is scientifically sensible to allow such additional configuration.

@kpapaza
Copy link
Author

kpapaza commented Mar 15, 2023 via email

@luca-s
Copy link
Collaborator

luca-s commented Mar 16, 2023

Thank you for the detailed explanation @kpapaza . Knowing that you have a good understanding of the implications makes me more comfortable in allowing the configuration of this parameter. It would probably makes just sense to add a warning in the new parameter description stating something on the line "Change the default value of 80km only if you know what you are doing" ;)

Since you have already applied the changes on the code, would you like to provide a pull request? Or did you simply modified the hardcoded values?

@kpapaza
Copy link
Author

kpapaza commented Mar 16, 2023 via email

@luca-s
Copy link
Collaborator

luca-s commented Apr 13, 2023

Dear @kpapaza ,

to avoid that the next seiscomp release ships without this feature I moved on and implemented it myself. I thought it was easier for me to implement it since I always work on Seiscomp code.

I would like to ask you to double check that my changes work fine in your system and that you are getting the same MLh values as you currently do. You can find my change is in MLhmaxDepth branch. if you confirm it works fine I will merge it to master and it will be come available in the next SeisComP release.

The MLh magnitude bindings have now a maxDepth parameter.

Screenshot from 2023-04-13 13-17-33

However that is not enough, also the amplitude MLh bindings have to be configured with the desired maxDepth. This can be achieved by adding an "Amplitude type profile" with the name MLh (the name must be the same as the amplitude type). In there you'll find the maxDepth parameter for the amplitude.

Screenshot from 2023-04-13 13-17-55

Please let me know if everything works as expected .

Best
Luca

@gempa-jabe
Copy link
Collaborator

Generally you could also easily implement that in a locale (localization of magnitudes). Each locale receives a minimum depth and maximum depth and a region (and some more). If a locale is set, then use its values to compute the magnitude. Your changes will also work, no problem, locales might be a more elegant solution although pretty new to SeisComP and not widely known yet.

@luca-s
Copy link
Collaborator

luca-s commented Apr 13, 2023

@gempa-jabe your proposal seems much more elegant. As you said, "It is not widely known yet", and indeed I was not aware of it :)

@gempa-jabe
Copy link
Collaborator

The cool thing about locales is that you can also bind additional parameters for your particular magnitude and then customize the attenuation table as well. More fancy stuff with magnitudes to come ...

@kpapaza
Copy link
Author

kpapaza commented Apr 13, 2023

Dear @luca-s,
thank you for the code modification and the introduction of this new feature. We will test it and let you know if we face any issues or changes, in comparison to the previous version and its calculations.

Dear @gempa-jabe,
thank you for your input. I was really not aware that it is possible to use such a feature (locale) to introduce a custom magnitude with its own attenuation table. This is not only elegant but also extremely useful, if e.g. localized attenuation tables have been proposed fot an area, country, region, etc.

Costas

@kpapaza kpapaza closed this as completed Apr 13, 2023
@luca-s
Copy link
Collaborator

luca-s commented Apr 13, 2023

@kpapaza just to be clear, the changes are on a separate branch and until I merge them on the master branch of this code repository they will not appear in the next release. For this reason I would like to ask you to confirm that the changes in that branch work as expected for you. If you verify that I would then merge them to master to make them available in the next SeisComP release. Would you be able to do this test?

@luca-s luca-s reopened this Apr 13, 2023
@kpapaza
Copy link
Author

kpapaza commented Apr 13, 2023

@luca-s Thank you for the clarification, we will test this at our test Seiscomp installation, check how it performs using historical data (older deep events, with h > 80km) and get back to you when we have something solid...

@ogalanis
Copy link

ogalanis commented May 3, 2023

@luca-s I installed your branch and calculated some magnitudes, preserving the same configuration for everything else. The results are, as far as I can tell, and as expected, identical to our modified installation. I would recommend you merge it to the master branch.
Thanks again, on behalf of our network and other users with the same issue.

cc: @kpapaza

@luca-s
Copy link
Collaborator

luca-s commented May 3, 2023

Thank you for reporting back @ogalanis . I'll move on and merge this feature then. Unfortunately I see that SeicComP 5.4.0 has been already tagged so you'll see this feature on the next release.

@luca-s luca-s closed this as completed May 3, 2023
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

No branches or pull requests

4 participants