Skip to content

Add Bayless and Somerville (2024) GMM for Australia#11461

Open
thuanycostadelima wants to merge 9 commits into
gem:masterfrom
thuanycostadelima:add-bayless-somerville-2024
Open

Add Bayless and Somerville (2024) GMM for Australia#11461
thuanycostadelima wants to merge 9 commits into
gem:masterfrom
thuanycostadelima:add-bayless-somerville-2024

Conversation

@thuanycostadelima
Copy link
Copy Markdown

Summary

Adding Bayless and Somerville (2024) ground motion model (BS24) for Australia to OpenQuake hazardlib.

New classes

  • BaylessSomerville2024Cratonic — for Yilgarn, Gawler, Pilbara, Kimberley
    and Northern Australian Cratons (NSHA23 Precambrian classification)
  • BaylessSomerville2024NonCratonic — for Eastern Australian Phanerozoic
    Accretionary 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.

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.
@micheles micheles requested a review from CB-quakemodel May 14, 2026 05:00
@micheles micheles added this to the Engine 3.26.0 milestone May 14, 2026
Copy link
Copy Markdown
Contributor

@CB-quakemodel CB-quakemodel left a comment

Choose a reason for hiding this comment

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

Hi @thuanycostadelima,

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

Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
Comment thread openquake/hazardlib/gsim/bayless_somerville_2024.py Outdated
@CB-quakemodel CB-quakemodel requested a review from micheles May 14, 2026 06:19
Comment thread openquake/hazardlib/tests/gsim/data/BS24/BS24_NONCRATONIC.csv
@thuanycostadelima
Copy link
Copy Markdown
Author

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.

@CB-quakemodel
Copy link
Copy Markdown
Contributor

CB-quakemodel commented May 14, 2026

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

@thuanycostadelima
Copy link
Copy Markdown
Author

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!

@CB-quakemodel
Copy link
Copy Markdown
Contributor

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:

{3F7EC00B-A0C5-4D3E-A902-CB10554AB63D}

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants