gem / oq-engine

OpenQuake's Engine for Seismic Hazard and Risk Analysis
https://github.com/gem/oq-engine/#openquake-engine
GNU Affero General Public License v3.0
373 stars 272 forks source link

Adding new CAV and AI models #9533

Open emthompson-usgs opened 3 months ago

emthompson-usgs commented 3 months ago

Campbell and Bozorgnia (2019) give new models for CAV and IA. I noticed that the previous model for CAV (Cambel and Bozorgnia, 2010) is included in the CampbellBozorgnia2008 class as separate coefficients. We are interested in contributing implementations of the new 2019 models for CAV and IA, but unsure how to structure it. Should we make a new module with separate classes for CAV and IA? This would deviate from how the 2010 model is implemented. Any guidance on this would be great. Thanks.

mmpagani commented 3 months ago

Dear Eric, many thanks for your message. If I am not mistaken Campbell and Bozorgnia 2019 use the same functional form of CB14 and add coefficients for these two additional IMTs. If this is correct, I would follow the same approach used for CB08. It's not the cleanest but it facilitates the use of this GMM for computing various metrics simultaneously.

emthompson-usgs commented 3 months ago

Sounds good. That's what we will do.

emthompson-usgs commented 3 months ago

Hi @mmpagani,

In doing this, we realized that the horizontal component for the 2019 metrics is different than those in 2014. So, I think what we should do is add the IA and CAV coefficients to the CampbellBozorgnia2014 table, and then create a CampbellBozorgnia2019 subclass that changes the following class attributes:

DEFINED_FOR_INTENSITY_MEASURE_COMPONENT=const.IMC.GEOMETRIC_MEAN
DEFINED_FOR_INTENSITY_MEASURE_TYPES={CAV, IA}

Let us know if this makes sense to you. Thanks.