Add Bayless and Somerville (2024) GMM for Australia#11461
Conversation
New GSIM classes: - BaylessSomerville2024Cratonic - BaylessSomerville2024NonCratonic Implementation by T.Costa de Lima, Geoscience Australia (May 2026). Verified against Fortran reference subroutine (J. Bayless, AECOM): - 14256/14256 test cases pass (100%) - Max difference: 0.000006 ln units on mean SA - Max difference: 0.000005 ln units on sigma Coefficients updated to Rev2 (May 2026) following personal communication with Jeff Bayless: revised depth scaling Z = min(Ztor-10, 5), d4=0, updated a1/d1/d2/d3 coefficients.
There was a problem hiding this comment.
Many thanks for submitting this implementation. I have left some minor comments to address (mostly formatting, and one or two things about the class organisation), but it looks good to me.
Once you have made these small fixes, please update the changelog (https://github.com/gem/oq-engine/blob/master/debian/changelog) and the contributors list (https://github.com/gem/oq-engine/blob/master/CONTRIBUTORS.txt).
Thanks,
Christopher
|
Hi @CB-quakemodel, thank you for the detailed review! I have addressed all your comments. Please let me know if anything else needs attention. Thanks. |
Thanks for thoroughly addressing the comments @thuanycostadelima. I think the expected results CSVs have not been updated however (at least based on a quick visual inspection of the versions in the most recent commit). Also, please not that there appears to be a merge conflict in the changelog (I think most likely you first need to pull from master for the most recent version of the changelog and then update it). Thanks, Christopher |
Hi @CB-quakemodel, I have now also fixed the unit conversion issue: np.log(980.665) is subtracted in compute() to convert from ln(cm/s²) to ln(g). The CSVs were regenerated from the Fortran reference code using the same conversion. Thanks! |
Hi @thuanycostadelima, thanks for making these fixes. The unit tests using the latest commit still show a mismatch however. Please check the regenerated CSVs because we still see the unit tests failing on remote. I share the information here in case not visible to yourself:
Also, I forgot to mention that you will need to also add the GSIM module to https://github.com/amirxdbx/oq-engine/blob/master/doc/api-reference/openquake.hazardlib.gsim.rst Thanks, Christopher |
There was a problem hiding this comment.
@thuanycostadelima the tests are now green! Thanks for your continued work on resolving the unit test issue and providing an implementation of this GMM in OpenQuake.
Once you have updated the latest version of the changelog (the current version in this PR's changed files is missing a couple of recent edits to this file), the PR can be merged following approval by @micheles
Hi @CB-quakemodel, thank you so much for your patience and thorough review throughout this process. I have just updated the changelog to reflect all the fixes we did during review:
The PR should now be ready for @micheles to review and merge. Thanks again, |
@thuanycostadelima just one last thing, the changelog should only contain the addition of the GMMs to the OQ GSIM library, the fixes made during the review are not needed here thanks |

Summary
Adding Bayless and Somerville (2024) ground motion model (BS24) for Australia to OpenQuake hazardlib.
New classes
BaylessSomerville2024Cratonic— for Yilgarn, Gawler, Pilbara, Kimberleyand Northern Australian Cratons (NSHA23 Precambrian classification)
BaylessSomerville2024NonCratonic— for Eastern Australian PhanerozoicAccretionary Terranes and extended crust (NSHA23 Phanerozoic classification)
Note: Coefficients updated (May 2026) following personal communication with Jeff Bayless: revised depth scaling Z = min(Ztor-10, 5), d4=0, updated a1/d1/d2/d3 coefficients.
Reference
Bayless J. and P. Somerville (2024). An Updated Ground Motion Model for Australia Developed Using Broadband Ground Motion Simulations. Proc. AEES 2024 National Conference, Adelaide, South Australia.