Add a capability to ModifiableGMPE to apply IMT-dependent delta to total, tau or phi#11328
Add a capability to ModifiableGMPE to apply IMT-dependent delta to total, tau or phi#11328CB-quakemodel wants to merge 30 commits intomasterfrom
Conversation
| @@ -4,31 +4,64 @@ | |||
| <logicTreeBranchSet uncertaintyType="gmpeModel" branchSetID="bs1" | |||
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
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.