[Shake-dev] regression distances and plotregr

Peter Lombard lombard at seismo.berkeley.edu
Sat Mar 3 23:45:17 GMT 2007


Bruce,

I have found a problem in plotregr that I really don't know how to solve. It
may also be a problem in grind; you will have to evaluate that!

When I wrote plotregr, I intended it to plot the data values so that they
could be directly compared with the regression for the event magnitude. That
means that the event data should be plotted at the distance that the
regression module uses when it computes the regression values.

Actual event data shows I have not achieved my goal. In NC, we use the
Small_Seg regression, which uses hypocentral distance for PGA and PGV. A
recent event here had a hypocentral depth of 16.6 Km. A regression plot
(attached) shows one station plotted at less than 4 km distance. That's not
what I want.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pga_regr.gif
Type: image/gif
Size: 41923 bytes
Desc: not available
Url : http://geohazards.usgs.gov/pipermail/shake-dev/attachments/20070303/056069c9/attachment.gif 
-------------- next part --------------

In plotregr, I try to use the distance function used by the regression, using
the following code (borrowed from grind):
    #-----------------------------------------------------------------------
    # Determine which regression to use, load it and create an object
    # Get functions for $DIST and $CUSTOM_SITECORR (custom distance and
    # site correction functions)
    #-----------------------------------------------------------------------
    my $regress = get_regression($src,$faultcoords);
    %amp_sd = $regress->sd();

    $DIST = \&dist_rjb;
    $CUSTOM_SITECORR = undef;

    if (defined $regress->{dist}) {
	print "Using custom distance formula\n";
	$DIST = $regress->{dist};
    }

The problem is that most regressions don't provide access to the function that
is used by the regression to compute distance. Some regression modules use
different distance measures for the different PGA, PGV, PSA values. Thus the
regressions' distance function needs an argument to specify for which
regression variable the distance is to be calculated.

For the plotregr program, this leads to misleading plots at near distances.

Is this a problem for grind? Does it mean that the "wrong" distance is being
used when comparing station data against the regression for the bias
computation? 

Or is am I mistaken in my understanding of how ShakeMap works?

Pete


More information about the Shake-dev mailing list