Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow spatial correlation for GMPEs defining only total standard deviation #5837

Closed
g-weatherill opened this issue May 15, 2020 · 5 comments
Closed

Comments

@g-weatherill
Copy link
Collaborator

When the ground motion field calculators were first introduced in OpenQuake (waaay back in 2012) the generation of ground motion fields with spatial correlation generally followed the approach and philosophy outlined in papers such as Park et al., (2007), Stafford et al., (2008) etc., in which the spatial correlation was only applied to the intra-event residual. As such, when GMPEs defined only for total standard deviations were used a particular error was raised (CorrelationButNoInterIntraStdDevs - https://github.com/gem/oq-engine/blob/master/openquake/hazardlib/calc/gmf.py#L235) if the user opted to run the GMFs with spatial correlation. Whilst this makes sense from a theoretical perspective, in practice this restriction is both unnecessary, limiting and, in some cases, inaccurate. I propose removing the CorrelationButNoInterIntraStdDevs error altogether and allow the user to apply the spatial correlation to the total standard deviation if the GMPE is defined only for this standard deviation type.

The reasons for doing so are as follows:

  1. In the case of a single intensity measure type the inter-event residual is usually a constant (the exception will be addressed below) for the whole field such that the spatial correlation within the field is the same for the intra-event residuals as it is for the total residuals. Indeed, Jayaram & Baker (2009) derive their spatial correlation model from the total residual based on this assumption.

  2. The exception to case 1 is when the GMPE authors propagate uncertainty in the nonlinear amplification term through the entire aleatory variability model such that inter-event residual becomes site dependent (e.g. Chiou & Youngs, 2014; Abrahamson et al., 2014). Here it can not be assumed that the inter-event residual is constant and this that the spatial correlation is the same for the intra-event residual and total residual. However, in such cases the simple partition of the sampling for the GMFs into inter- and intra-event components, as is done currently, actually creates an inconsistency between the total standard deviation of the GMPE when running the classical PSHA (this propagates the nonlinear term into the total stddev) and the implied total standard deviation from the two separately sampled inter- and intra-event residuals used for risk. In this case, it is more correct for the spatial correlation to be applied to the total residual rather than separately for the inter- and intra-event residual as is currently done.

  3. There is a long-standing intention at some point to include spatial cross-correlation as a feature of the ground motion fields (this is done in part in the shakemap features) (Spatial Cross-Correlation in GMFs and Related Issues #3607). In this case the inter-event residual cannot be assumed constant either as it is period-dependent. However, of the few models for this that are available in the literature, several model their spatial correlation only on the total residual (e.g. Loth & Baker, 2013; Wang & Du, 2013) rather than separate them out in the manner described in Goda & Hong (2008) and Weatherill et al., (2015). Right or wrong, the inclusion of spatial cross-correlation can be applied to the total standard deviation anyway as the cross-correlation in the inter-event residuals is implicit in these cases.

  4. Recent trends in ground motion modelling have meant that for classical PSHA there is a need to define only the total standard deviation, or else to apply scaling factors or adjustments only to the total standard deviation (e.g. mixture models, error propagation, AvgSa etc.). In such cases, trying to estimate how the adjustments would be partitioned into the inter- and intra-event terms is fraught with error, and so simply applying spatial correlations to the total standard deviation is preferable.

  5. The raising of the error is just a nuisance to many users not intimately familiar with the details of ground motion modelling and who just want to run GMFs with spatial correlation for some GMPEs already selected for their region of interest. Again, right or wrong, raising the error creates an unnecessary obstacle for the users as opposed to simply running the GMFs with spatial correlation applied to the total standard deviation.

@mmpagani
Copy link
Member

Thanks, Graeme for sharing this. Before providing my opinion, I kindly ask you to clarify the way in which you think GMFs should be computed in this case.

@g-weatherill
Copy link
Collaborator Author

I would simply suggest to generate the residual for the total standard deviation in the same way as you are currently doing for the within-event standard deviation. So, for example:

mean, [stddev_total] = gsim.get_mean_and_stddevs(
    self.sctx, self.rctx, dctx, imt, [StdDev.TOTAL])
stddev_total = stddev_total.reshape(stddev_total.shape + (1, ))
mean = mean.reshape(mean.shape + (1, ))
epsilons =  rvs(distribution, num_sids, num_events)
# Personally I would place this next line after the application of the 
# correlation model, but given that you do it this way for the
# intra-event residual then I guess it is better to retain consistency
total_residual = stddev_total * epsilons
if self.correlation_model:
    total_residual = self.correlation_model.apply_correlation(
        self.sites, imt, total_residual, stddev_total)
    sh = total_residual.shape
    if len(sh) == 1:  # a vector
        total_residual = total_residual.reshape(sh + (1,))
gmf = to_imt_unit_values(mean + total_residual, imt)

@mmpagani
Copy link
Member

Sorry for taking so long to answer but I’ve been asking a bit around to get a broader understanding of what you propose. Here you find some notes.

As a starting point, I did a quick search on the OQ engine mailing list and I did not find a request similar to your one.

From a more personal perspective, I find hard from a physical point of view to accept that all the uncertainty is spatially correlated. I haven’t been able to find a publication supporting your suggestion.

If we compute correlated GMFs using the total residuals because it’s better than nothing of because of new trends, then I think it would be better to compute them assuming a partitioning of the total residual into a within- and between-component.

What you suggest - i.e. use total residual for spatial correlation - from what I understand will generate a more peaked distribution of losses because if you do not split uncertainty, you will not cover properly the tails.

In the engine, we have a modifiable GMPE that allows the use of GMM with just the total std for the calculation of correlated GMFs (please consider it experimental and subjected to further tests) https://github.com/gem/oq-engine/blob/master/openquake/hazardlib/gsim/mgmpe/split_sigma_gmpe.py. Since this splitting is largely affected by epistemic uncertainty, a logic tree branch set might be built on top of it.

Nonetheless, if you still think this is a feature you want to add to the engine, I recommend to include in the .ini file a flag that explicitly admits the use of the total std for the calculation of GMFs so that the user must accept it expressly (hopefully understanding the consequences of this).

@pheresi
Copy link
Contributor

pheresi commented Mar 28, 2021

I'm not sure if this feature has been added or not yet (sorry for taking so long). However, I don't think it's a good idea to use intra-event correlation models for total residuals. This is mainly because, given that the inter-event residual is the same for all the sites (let's assume this), then there's an inherent correlation between the total residuals, even at very large separation distances (i.e., when intra-event residuals are totally independent, thus the intra-event correlation decays to 0). In fact, it is demonstrated that this correlation of total residuals at very large distances is equal to , where is the inter-event standard deviation, and is the total standard deviation. Therefore, as Marco correctly points out, if you use intra-event correlations (which decay to 0 for long separation distances), the total uncertainty will be underestimated, and thus, the probabilities of large losses (i.e., tail of the distribution) will be underestimated.

As Marco says, one way of incorporating intra-event correlation models for GMPEs that only provide the total standard deviation is to either (1) assume a ratio , or (2) ask the user to input a , or (3) use a logic tree for this ratio, maybe?. After that, the spatial correlation of total residuals, , can be computed as:

where:
is the spatial correlation of total residuals;
is the spatial correlation of intra-event residuals (common models);
is the inter-event standard deviation;
is the intra-event standard deviation;
is the total standard deviation

Then, total residuals can be sampled and correlated using .

@micheles
Copy link
Contributor

No activity on this issue for one year, so I am closing it. Please reopen it if it is still relevant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants