Skip to content

Add a capability to ModifiableGMPE to apply IMT-dependent delta to total, tau or phi#11328

Open
CB-quakemodel wants to merge 30 commits intomasterfrom
sig_vec
Open

Add a capability to ModifiableGMPE to apply IMT-dependent delta to total, tau or phi#11328
CB-quakemodel wants to merge 30 commits intomasterfrom
sig_vec

Conversation

@CB-quakemodel
Copy link
Contributor

@CB-quakemodel CB-quakemodel commented Mar 23, 2026

We already had the ability to specify an IMT-constant scalar to any of these GMM sigma components. This PR adds the ability to specify this on an IMT-dependent basis similar to the existing capabilities for scaling the median or specifying a fixed total sigma per IMT.

Classical/case_94 is expanded to test these capabilities. Also a unit test added.

Also added a test for tabular GMM and a non-tabular GMM both with extra parameters within a mixture model (classical/case_81) for documentation purposes.

@CB-quakemodel CB-quakemodel requested review from micheles and mmpagani and removed request for mmpagani March 23, 2026 16:51
@@ -4,31 +4,64 @@
<logicTreeBranchSet uncertaintyType="gmpeModel" branchSetID="bs1"
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't see why you have an extra dictionary. I mean, instead of passing a dictionary {'delta': {imt: value}} you could just pass {imt: value}, then instead of the syntax add_delta_to_total_std_scalar.delta = you would just have add_delta_to_total_std_scalar =. There is no need to repeat the delta, right?

Copy link
Contributor Author

@CB-quakemodel CB-quakemodel Mar 24, 2026

Choose a reason for hiding this comment

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

I think this dictionary structure is currently necessary to how ModifiableGMPE works given it needs to read add_delta_to_total_std_vector as the adjustment/method to apply, and then delta and everything within this key is the dictionary of IMT-dependent adjustments to use within add_delta_to_total_std_vector.

The approach is consistent with other IMT-dependent adjustments e.g. https://github.com/gem/oq-engine/blob/master/openquake/qa_tests_data/classical/case_54/gsim_logic_tree_modifiable_vector.xml#L13

@CB-quakemodel CB-quakemodel changed the title Add a capability to ModifiableGMPE to apply IMT-dependent vector of delta to total, tau or phi Add a capability to ModifiableGMPE to apply IMT-dependent delta to total, tau or phi Mar 24, 2026
Copy link
Member

@mmpagani mmpagani left a comment

Choose a reason for hiding this comment

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

Grazie Chris!

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