org.opensha.sha.gcim.imr.attenRelImpl.ASI_WrapperAttenRel
Class ASI_AttenRelWrapper

java.lang.Object
  extended by org.opensha.sha.imr.AbstractIMR
      extended by org.opensha.sha.imr.AttenuationRelationship
          extended by org.opensha.sha.gcim.imr.attenRelImpl.ASI_WrapperAttenRel.ASI_AttenRelWrapper
All Implemented Interfaces:
Serializable, Comparable<IntensityMeasureRelationship>, EventListener, Named, ShortNamed, XMLSaveable, ParameterChangeListener, IntensityMeasureRelationship, ScalarIMR
Direct Known Subclasses:
BA_2008_ASI_AttenRel

public class ASI_AttenRelWrapper
extends AttenuationRelationship
implements ScalarIMR, Named, ParameterChangeListener

Title: ASI_AttenRelWrapper

Description: Provides the wrapper that allows all ground motion prediction equations for Sa to be used to compute ASI, Acceleration Specturm Intensity Reference: Bradley, B.A., 2009. Site specific and spatially distributed prediction of acceleration spectrum intensity, Bulletin of the Seismological Society of America, 100 (2): 792-801. Supported Intensity-Measure Parameters:

Other Independent Parameters:

Verification - This model has been verified against the original Matlab code used in the above reference.

Version:
1.0
Author:
Brendon Bradley
See Also:
Serialized Form

Field Summary
static String NAME
           
static String SHORT_NAME
           
 
Fields inherited from class org.opensha.sha.imr.AttenuationRelationship
aftershockParam, 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
ASI_AttenRelWrapper()
           
ASI_AttenRelWrapper(ParameterChangeWarningListener warningListener, AttenuationRelationship attenRelToWrap)
          This initializes several ParameterList objects.
 
Method Summary
 URL getInfoURL()
          This provides a URL where more info on this model can be obtained
 double getMean()
          Calculates the mean of the exceedence probability distribution.
 String getName()
          get the name of this IMR
 String getShortName()
          Returns the Short Name of each AttenuationRelationship
 double getStdDev()
          This returns the standard deviation (stdDev) of the intensity-measure level for the current set of parameters.
protected  void initEqkRuptureParams()
          Creates the EqkRupture-related parameters, which are all associated parameters that the exceedance probability depends upon.
protected  void initIndependentParamLists()
          This sets the lists of independent parameters that the various dependent parameters (mean, standard deviation, exceedance probability, and IML at exceedance probability) depend upon.
protected  void initParameterEventListeners()
          Adds the parameter change listeners.
protected  void initPropagationEffectParams()
          Creates Propagation-Effect related parameters, which are all associated parameters that the exceedance probability depends upon.
protected  void initSiteParams()
          This creates Site-related parameters, which are all associated parameters that the exceedance probability depends upon.
protected  void initSupportedIntensityMeasureParams()
          Creates the supported IM parameter (asiParam), and adds this to the supportedIMParams list.
 void parameterChange(ParameterChangeEvent e)
          This listens for parameter changes and updates the primitive parameters accordingly
 void resetParameterEventListeners()
          Allows to reset the change listeners on the parameters
 void setDefaultImCorrRel()
          This method sets the default ImCorrelationRelationship to use for initialization
 void setEqkRupture(EqkRupture eqkRupture)
          This sets the eqkRupture related parameters based on the eqkRupture passed in.
 void setImCorrRel(ImCorrelationRelationship imCorrRel)
          This method sets the ImCorrRel to use (possibly different from default)
 void setParamDefaults()
          Allows the user to set the default parameter values for the selected Attenuation Relationship.
protected  void setPropagationEffectParams()
          This does nothing; is it needed?
 void setSite(Site site)
          This sets the site-related parameter (siteTypeParam) based on what is in the Site object passed in (the Site object must have a parameter with the same name as that in siteTypeParam).
 
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, initOtherParams, isTectonicRegionSupported, isTectonicRegionSupported, setIntensityMeasureLevel, setIntensityMeasureLevel, setSiteLocation, setUserMaxDistance
 
Methods inherited from class org.opensha.sha.imr.AbstractIMR
compareTo, fromXMLMetadata, getEqkRupture, getEqkRuptureParams, getEqkRuptureParamsIterator, getIntensityMeasure, getIntensityMeasureLevel, 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, getIntensityMeasure, getIntensityMeasureLevel, 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 String SHORT_NAME
See Also:
Constant Field Values

NAME

public static final String NAME
See Also:
Constant Field Values
Constructor Detail

ASI_AttenRelWrapper

public ASI_AttenRelWrapper()

ASI_AttenRelWrapper

public ASI_AttenRelWrapper(ParameterChangeWarningListener warningListener,
                           AttenuationRelationship attenRelToWrap)
This initializes several ParameterList objects.

Method Detail

setEqkRupture

public void setEqkRupture(EqkRupture eqkRupture)
                   throws InvalidRangeException
This sets the eqkRupture related parameters based on the eqkRupture passed in. The internally held eqkRupture object is also set as that passed in. Warning constrains are ingored.

Specified by:
setEqkRupture in interface IntensityMeasureRelationship
Overrides:
setEqkRupture in class AbstractIMR
Parameters:
eqkRupture - The new eqkRupture value
Throws:
InvalidRangeException - thrown if rake is out of bounds

setSite

public void setSite(Site site)
             throws ParameterException
This sets the site-related parameter (siteTypeParam) based on what is in the Site object passed in (the Site object must have a parameter with the same name as that in siteTypeParam). This also sets the internally held Site object as that passed in.

Specified by:
setSite in interface IntensityMeasureRelationship
Overrides:
setSite in class AbstractIMR
Parameters:
site - The new site object
Throws:
ParameterException - Thrown if the Site object doesn't contain a Vs30 parameter

setPropagationEffectParams

protected void setPropagationEffectParams()
This does nothing; is it needed?

Specified by:
setPropagationEffectParams in class AttenuationRelationship

getMean

public double getMean()
Calculates the mean of the exceedence probability distribution.

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

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

setDefaultImCorrRel

public void setDefaultImCorrRel()
This method sets the default ImCorrelationRelationship to use for initialization


setImCorrRel

public void setImCorrRel(ImCorrelationRelationship imCorrRel)
This method sets the ImCorrRel to use (possibly different from default)


setParamDefaults

public void setParamDefaults()
Allows the user to set the default parameter values for the selected Attenuation Relationship.

Specified by:
setParamDefaults in interface IntensityMeasureRelationship

initIndependentParamLists

protected void initIndependentParamLists()
This sets the lists of independent parameters that the various dependent parameters (mean, standard deviation, exceedance probability, and IML at exceedance probability) depend upon. NOTE: these lists do not include anything about the intensity-measure parameters or any of their internal independentParamaters.


initSupportedIntensityMeasureParams

protected void initSupportedIntensityMeasureParams()
Creates the supported IM parameter (asiParam), and adds this to the supportedIMParams list. Makes the parameters noneditable.

Specified by:
initSupportedIntensityMeasureParams 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

initEqkRuptureParams

protected void initEqkRuptureParams()
Description copied from class: AttenuationRelationship
Creates the EqkRupture-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:
initEqkRuptureParams in class AttenuationRelationship

initPropagationEffectParams

protected void initPropagationEffectParams()
Description copied from class: AttenuationRelationship
Creates Propagation-Effect 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:
initPropagationEffectParams in class AttenuationRelationship

getName

public String getName()
get the name of this IMR

Specified by:
getName in interface Named
Specified by:
getName in interface IntensityMeasureRelationship
Overrides:
getName in class AbstractIMR
Returns:
the name of this IMR

getShortName

public String getShortName()
Returns the Short Name of each AttenuationRelationship

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

parameterChange

public void parameterChange(ParameterChangeEvent e)
This listens for parameter changes and updates the primitive parameters accordingly

Specified by:
parameterChange in interface ParameterChangeListener
Parameters:
e - ParameterChangeEvent

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

getInfoURL

public URL getInfoURL()
               throws MalformedURLException
This provides a URL where more info on this model can be obtained

Specified by:
getInfoURL in interface IntensityMeasureRelationship
Overrides:
getInfoURL in class AbstractIMR
Returns:
the URL to the AttenuationRelationship document on the Web.
Throws:
MalformedURLException - if returned URL is not a valid URL.