org.opensha.gem.GEM1.scratch
Class AtkBoo_2006_AttenRel

java.lang.Object
  extended by org.opensha.sha.imr.AbstractIMR
      extended by org.opensha.sha.imr.AttenuationRelationship
          extended by org.opensha.gem.GEM1.scratch.AtkBoo_2006_AttenRel
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<IntensityMeasureRelationship>, java.util.EventListener, Named, ShortNamed, XMLSaveable, ParameterChangeListener, IntensityMeasureRelationship, ScalarIMR

public class AtkBoo_2006_AttenRel
extends AttenuationRelationship
implements ScalarIMR, Named, ParameterChangeListener

Title: AtkBoo_2006_AttenRel

Description: This implements the Attenuation Relationship published by Atkinson & Boore (2006, "Earthquake ground-motion prediction equations for Eastern North America", BSSA, 96(2): 2181-2205).

Author:
Marco M. Pagani
See Also:
Serialized Form

Field Summary
protected static java.lang.Double DISTANCE_RUP_WARN_MAX
           
protected static java.lang.Double DISTANCE_RUP_WARN_MIN
           
protected static java.lang.Double MAG_WARN_MAX
           
protected static java.lang.Double MAG_WARN_MIN
           
static java.lang.String SHORT_NAME
           
protected static java.lang.Double STRESS_DROP_MAX
           
protected static java.lang.Double STRESS_DROP_MIN
           
protected static java.lang.Double VS30_WARN_MAX
           
protected static java.lang.Double VS30_WARN_MIN
           
 
Fields inherited from class org.opensha.sha.imr.AttenuationRelationship
aftershockParam, C, cavParam, componentParam, depthTo1pt0kmPerSecParam, depthTo2pt5kmPerSecParam, dipParam, distanceJBParam, distanceRupParam, distanceSeisParam, distRupMinusDistX_OverRupParam, distRupMinusJB_OverRupParam, ds575Param, ds595Param, ERR, exceedProbIndependentParams, fltTypeParam, focalDepthParam, hangingWallFlagParam, imlAtExceedProbIndependentParams, magParam, meanIndependentParams, pgaParam, pgdParam, pgvParam, rakeParam, rupTopDepthParam, rupWidthParam, saDampingParam, saParam, saPeriodParam, sigmaTruncLevelParam, sigmaTruncTypeParam, stdDevIndependentParams, stdDevTypeParam, tectonicRegionTypeParam, USER_MAX_DISTANCE, VERY_SMALL_MEAN, vs30_TypeParam, vs30Param
 
Fields inherited from class org.opensha.sha.imr.AbstractIMR
eqkRupture, eqkRuptureParams, EXCEED_PROB_DEFAULT, EXCEED_PROB_INFO, EXCEED_PROB_MAX, EXCEED_PROB_MIN, EXCEED_PROB_NAME, exceedProbParam, im, intensityMeasureChanged, listener, otherParams, propagationEffectParams, site, siteParams, supportedIMParams, url_info_string, XML_METADATA_IMT_NAME, XML_METADATA_NAME, XML_METADATA_SITE_PARAMETERS_NAME
 
Fields inherited from interface org.opensha.commons.metadata.XMLSaveable
XML_METADATA_NAME
 
Constructor Summary
AtkBoo_2006_AttenRel(ParameterChangeWarningListener warningListener)
           
 
Method Summary
 double getMean()
          This returns the mean ground motion value given Earthquake Rupture and Site
 double getMean(int iper, double vs30, double rrup, double mag, double stressDrop)
          This computes the mean ln(gm)
 java.lang.String getShortName()
          Returns a Short Name for the IMR
protected  double[] getSoilParameters(java.lang.Double period)
          This method computes the blin, b1 and b2 soil response coefficients.
 double getStdDev()
          This returns the standard deviation (stdDev) of the intensity-measure level for the current set of parameters.
 double getStdDev(double iper)
           
protected  double[] getStressDropParameters(java.lang.Double T)
           
protected  void initEqkRuptureParams()
          This initializes the parameter characterizing the earthquake rupture such as the magnitude and the stress drop.
protected  void initIndependentParamList()
           
protected  void initOtherParams()
          This creates the otherParams list.
protected  void initParameterEventListeners()
          Adds the parameter change listeners.
protected  void initPropagationEffectParams()
          This initializes the parameters characterizing the propagation path such as the source to site distance.
protected  void initSiteParams()
          This creates Site-related parameters, which are all associated parameters that the exceedance probability depends upon.
protected  void initSupportedIntensityMeasureParams()
          This initializes the supported IMT parameters.
 void parameterChange(ParameterChangeEvent e)
          This updates the value of a changed parameter
 void resetParameterEventListeners()
          Allows to reset the change listeners on the parameters
protected  void setCoeffIndex()
          This sets the coefficient index.
 void setEqkRupture(EqkRupture eqkRup)
          This sets the earthquake rupture parameters.
 void setEqkRupture(EqkRupture eqkRup, double stressDrop)
          This sets the earthquake rupture parameters.
 void setParamDefaults()
          This sets the defaults parameters
protected  void setPropagationEffectParams()
          This set the propagation parameter i.e.
 void setSite(Site site)
          This sets the site parameters such as the Vs30 value
 
Methods inherited from class org.opensha.sha.imr.AttenuationRelationship
getAllParamMetadata, getEpsilon, getEpsilon, getExceedProbabilities, getExceedProbability, getExceedProbability, getExceedProbability, getExceedProbability, getExceedProbIndependentParams, getExceedProbIndependentParamsIterator, getIML_AtExceedProb, getIML_AtExceedProb, getIML_AtExceedProbIndependentParams, getIML_AtExceedProbIndependentParamsIterator, getMeanIndependentParams, getMeanIndependentParamsIterator, getSA_ExceedProbSpectrum, getSA_IML_AtExceedProbSpectrum, getStdDevIndependentParams, getStdDevIndependentParamsIterator, getTotExceedProbability, isTectonicRegionSupported, isTectonicRegionSupported, setIntensityMeasureLevel, setIntensityMeasureLevel, setSiteLocation, setUserMaxDistance
 
Methods inherited from class org.opensha.sha.imr.AbstractIMR
compareTo, fromXMLMetadata, getEqkRupture, getEqkRuptureParams, getEqkRuptureParamsIterator, getInfoURL, getIntensityMeasure, getIntensityMeasureLevel, getName, getOtherParams, getOtherParamsIterator, getParameter, getPropagationEffectParams, getPropagationEffectParamsIterator, getSite, getSiteParams, getSiteParamsIterator, getSupportedIntensityMeasures, getSupportedIntensityMeasuresIterator, isIntensityMeasureSupported, isIntensityMeasureSupported, setAll, setExceedProb, setIntensityMeasure, setIntensityMeasure, setWarningListener, toXMLMetadata
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opensha.sha.imr.ScalarIMR
getAllParamMetadata, getEpsilon, getEpsilon, getExceedProbabilities, getExceedProbability, getExceedProbIndependentParams, getExceedProbIndependentParamsIterator, getIML_AtExceedProb, getIML_AtExceedProb, getIML_AtExceedProbIndependentParams, getIML_AtExceedProbIndependentParamsIterator, getMeanIndependentParams, getMeanIndependentParamsIterator, getSA_ExceedProbSpectrum, getSA_IML_AtExceedProbSpectrum, getStdDevIndependentParams, getStdDevIndependentParamsIterator, isTectonicRegionSupported, isTectonicRegionSupported, setIntensityMeasureLevel, setSiteLocation, setUserMaxDistance
 
Methods inherited from interface org.opensha.sha.imr.IntensityMeasureRelationship
getEqkRupture, getEqkRuptureParams, getEqkRuptureParamsIterator, getExceedProbability, getInfoURL, getIntensityMeasure, getIntensityMeasureLevel, getName, getOtherParams, getOtherParamsIterator, getParameter, getPropagationEffectParams, getPropagationEffectParamsIterator, getSite, getSiteParams, getSiteParamsIterator, getSupportedIntensityMeasures, getSupportedIntensityMeasuresIterator, isIntensityMeasureSupported, isIntensityMeasureSupported, setAll, setExceedProb, setIntensityMeasure, setIntensityMeasure, setIntensityMeasureLevel, toXMLMetadata
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

SHORT_NAME

public static final java.lang.String SHORT_NAME
See Also:
Constant Field Values

MAG_WARN_MIN

protected static final java.lang.Double MAG_WARN_MIN

MAG_WARN_MAX

protected static final java.lang.Double MAG_WARN_MAX

DISTANCE_RUP_WARN_MIN

protected static final java.lang.Double DISTANCE_RUP_WARN_MIN

DISTANCE_RUP_WARN_MAX

protected static final java.lang.Double DISTANCE_RUP_WARN_MAX

VS30_WARN_MIN

protected static final java.lang.Double VS30_WARN_MIN

VS30_WARN_MAX

protected static final java.lang.Double VS30_WARN_MAX

STRESS_DROP_MIN

protected static final java.lang.Double STRESS_DROP_MIN

STRESS_DROP_MAX

protected static final java.lang.Double STRESS_DROP_MAX
Constructor Detail

AtkBoo_2006_AttenRel

public AtkBoo_2006_AttenRel(ParameterChangeWarningListener warningListener)
Parameters:
warningListener -
Method Detail

initEqkRuptureParams

protected void initEqkRuptureParams()
This initializes the parameter characterizing the earthquake rupture such as the magnitude and the stress drop.

Specified by:
initEqkRuptureParams in class AttenuationRelationship

initPropagationEffectParams

protected void initPropagationEffectParams()
This initializes the parameters characterizing the propagation path such as the source to site distance.

Specified by:
initPropagationEffectParams in class AttenuationRelationship

initSiteParams

protected void initSiteParams()
Description copied from class: AttenuationRelationship
This creates Site-related parameters, which are all associated parameters that the exceedance probability depends upon. All implementation is in the subclass (it's defined here as a reminder/suggestions).

Specified by:
initSiteParams in class AttenuationRelationship

initOtherParams

protected void initOtherParams()
Description copied from class: AttenuationRelationship
This creates the otherParams list. These are any parameters that the exceedance probability depends upon that is not a supported IMT (or one of their independent parameters) and is not contained in, or computed from, the site or eqkRutpure objects. Note that this does not include the exceedProbParam (which exceedance probability does not depend on). sigmaTruncTypeParam and sigmaTruncLevelParam are instantiated here and added to the otherParams list (others should be implemented as desired in subclasses). The tectonicRegionTypeParam is also instantiated here with default options (TYPE_ACTIVE_SHALLOW); this should be overridden in subclass if other options are desired (and you'll need use the replaceParameter method to change the one in the otherParams list).

Overrides:
initOtherParams in class AttenuationRelationship

initIndependentParamList

protected void initIndependentParamList()

initSupportedIntensityMeasureParams

protected void initSupportedIntensityMeasureParams()
This initializes the supported IMT parameters.

Specified by:
initSupportedIntensityMeasureParams in class AttenuationRelationship

setEqkRupture

public void setEqkRupture(EqkRupture eqkRup)
This sets the earthquake rupture parameters.

Specified by:
setEqkRupture in interface IntensityMeasureRelationship
Overrides:
setEqkRupture in class AbstractIMR
Parameters:
eqkRup -

setEqkRupture

public void setEqkRupture(EqkRupture eqkRup,
                          double stressDrop)
This sets the earthquake rupture parameters.

Parameters:
eqkRup - Earthquake rupture
stressDrop - Value of static stress drop [in bars -- note: 1 bar = 100 kPa]

setSite

public void setSite(Site site)
This sets the site parameters such as the Vs30 value

Specified by:
setSite in interface IntensityMeasureRelationship
Overrides:
setSite in class AbstractIMR
Parameters:
site -

setPropagationEffectParams

protected void setPropagationEffectParams()
This set the propagation parameter i.e. the source to site distance using the Site

Specified by:
setPropagationEffectParams in class AttenuationRelationship

setCoeffIndex

protected void setCoeffIndex()
                      throws ParameterException
This sets the coefficient index. This index is used to get from the arrays initialized at the beginning of this class the parameters necessary to calculate the

Throws:
ParameterException

getMean

public double getMean()
This returns the mean ground motion value given Earthquake Rupture and Site

Specified by:
getMean in interface ScalarIMR
Returns:
The mean value

getMean

public double getMean(int iper,
                      double vs30,
                      double rrup,
                      double mag,
                      double stressDrop)
This computes the mean ln(gm)

Parameters:
iper -
vs30 -
rrup -
mag -
Returns:

getStdDev

public double getStdDev()
Description copied from interface: ScalarIMR
This returns the standard deviation (stdDev) of the intensity-measure level for the current set of parameters.

Specified by:
getStdDev in interface ScalarIMR
Returns:
The stdDev value

getStdDev

public double getStdDev(double iper)
Parameters:
iper -
Returns:

getShortName

public java.lang.String getShortName()
Description copied from interface: IntensityMeasureRelationship
Returns a Short Name for the IMR

Specified by:
getShortName in interface ShortNamed
Specified by:
getShortName in interface IntensityMeasureRelationship
Returns:
String

setParamDefaults

public void setParamDefaults()
This sets the defaults parameters

Specified by:
setParamDefaults in interface IntensityMeasureRelationship

parameterChange

public void parameterChange(ParameterChangeEvent e)
This updates the value of a changed parameter

Specified by:
parameterChange in interface ParameterChangeListener
Parameters:
e - The Event which triggered this function call

resetParameterEventListeners

public void resetParameterEventListeners()
Allows to reset the change listeners on the parameters

Specified by:
resetParameterEventListeners in interface ScalarIMR
Overrides:
resetParameterEventListeners in class AttenuationRelationship

initParameterEventListeners

protected void initParameterEventListeners()
Adds the parameter change listeners. This allows to listen to when-ever the parameter is changed.

Overrides:
initParameterEventListeners in class AttenuationRelationship

getSoilParameters

protected double[] getSoilParameters(java.lang.Double period)
This method computes the blin, b1 and b2 soil response coefficients. The values of the period (i.e frequency) provided by Atkinson and Boore do not correspond to the ones available for computing the GM on hard rock or BC soil conditions (vs30=760m/s) - see also Tables 6 and 9 of Atkinson and Boore (2006) for a comprehensive list of periods. For the missing periods, we calculate the values using a simple interpolation procedure. 2010.02.02 - Checked the computed coefficients: values are in agreement with the numbers contained in Table 8 of Atkinson and Boore (2006).

Parameters:
period -
Returns:

getStressDropParameters

protected double[] getStressDropParameters(java.lang.Double T)
Parameters:
period -
Returns: