[Shake-dev] Re: [Fwd: Re: Solution: regression distances and plotregr?]

Peter Lombard lombard at seismo.berkeley.edu
Wed Mar 7 21:58:33 GMT 2007


Peggy and Bruce,

Bruce's fix should help us for events with M < 5.5. For larger events, we use
Large_Seg.pm, another of Jack's regressions. Large_seg has similar problems:
it uses hypocentral distance for PGA and PGV, distance to the projection of
the hypocenter to the seismogenic(?) depth for PSA. And the depth is different
for each of the three PSA periods.

The more I look at ShakeMap codes, the more confused I get about distances
used by regressions. 

Take the Small.pm regression for example. The comments at the top of the file
say:

# Regression form:
# (same as  Boore, Joyner and Fumal, 1997, SRL, Volume 68, p. 128.
#    log_10 (PGA,PSV) = B1 + B2(M-6) + B3(M-6)**2 - B5*ln(R) - Bv*ln(Vs/Va),
#
#    where R = sqrt(Rjb**2 + h**2)

What does that tell me about which distance measure is used here?

Then in the maximum() function there is this line:

  my $Rjb = (defined $dist) ? $dist : dist_rjb($lat,$lon,$this);

In other words, it uses Joiner-Boore distance unless it is given any other
distance as an argument.

But then it recomputes Rjb into some other distance measure in _psa_formula():

  $R = sqrt($Rjb**2 + $c{h}**2);

Here $c{h} = 6.0 for PGA, PGV, PSA. At least this is consistent with the
comment at the top of the file. But it is really not clear to me that this is
much better that the case of Small_Seg.pm.

---

It looks like I have opened a horrible can of worms, for which I
apologise. Hopefully the exports, Bruce and Dave, can correct my confusion.

Pete



Peggy Hellweg writes:
 > Hi Bruce, Pete
 > 
 > your suggestion for fixing it sounds good to me.
 > 
 > Pete, may this help plotregr?
 > 
 > Peggy
 > 
 > -------- Original Message --------
 > Subject: Re: Solution: regression distances and plotregr?
 > Date: Wed, 7 Mar 2007 13:05:41 -0700
 > From: Jack Boatwright <boat at usgs.gov>
 > To: peggy at seismo.berkeley.edu, Peter Lombard <lombard at seismo.berkeley.edu>
 > 
 > Fine.  NB- it works now.
 > 
 > 
 > At 12:03 PM -0800 3/7/07, Peggy Hellweg wrote:
 > >Hi Jack,
 > >
 > >is this an OK way to deal with the "regression distance problem" for
 > >Small_Seg?
 > >
 > >Peggy
 > >
 > >-------- Original Message --------
 > >Subject: Re: regression distances and plotregr
 > >Date: Wed, 7 Mar 2007 10:47:58 -0800
 > >From: Bruce Worden <bruce at gps.caltech.edu>
 > >To: Pete Lombard <lombard at seismo.berkeley.edu>,        Howard G Bundock
 > ><bundock at usgs.gov>
 > >CC: shake_dev at seismo.berkeley.edu, Peggy Hellweg <peggy at seismo.berkeley.edu>
 > >References: <17898.2102.936430.691029 at gargle.gargle.HOWL>
 > >
 > >Pete/Howard,
 > >
 > >I think I can fix Small_Seg to work for PGA and PGV (which means MMI,
 > >too) without much trouble.  The PSAs are the issue, but since this is
 > >a regression for small events, you probably don't need those.  For
 > >any event you wanted to run with -psa, you could use HazusPGV.
 > >
 > >Would that work for you?
 > >
 > >Bruce
 > >
 > >On Mar 3, 2007, at 3:43 PM, Peter Lombard wrote:
 > >
 > >> 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.
 > >>
 > >> <pga_regr.gif>
 > >>
 > >> 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
 > >
 > >
 > >--
 > >
 > >------------------------------------------------------------------
 > >Dr. Peggy Hellweg		University of California, Berkeley
 > >peggy at seismo.berkeley.edu 	Berkeley Seismological Laboratory
 > >Phone: 510-643-9449		213 McCone Hall # 4760
 > >Fax:   510-643-5811		Berkeley, CA  94720-4760
 > >
 > >There is no problem so great or grave that it cannot be much
 > >        diminished by a nice cup of tea. -- Bernard-Paul Heroux
 > 
 > 
 > 
 > 
 > -- 
 > 
 > ------------------------------------------------------------------
 > Dr. Peggy Hellweg		University of California, Berkeley
 > peggy at seismo.berkeley.edu 	Berkeley Seismological Laboratory
 > Phone: 510-643-9449		213 McCone Hall # 4760
 > Fax:   510-643-5811		Berkeley, CA  94720-4760
 > 
 > There is no problem so great or grave that it cannot be much
 >         diminished by a nice cup of tea. -- Bernard-Paul Heroux
 > 



More information about the Shake-dev mailing list