org.opensha.sha.imr.attenRelImpl
Class ZhaoEtAl_2006_AttenRel

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

public class ZhaoEtAl_2006_AttenRel
extends AttenuationRelationship
implements ParameterChangeListener

See Also:
Serialized Form

Field Summary
protected static java.lang.Double DEPTH_HYPO_WARN_MAX
           
protected static java.lang.Double DEPTH_HYPO_WARN_MIN
           
protected static java.lang.Double DISTANCE_RUP_WARN_MAX
           
protected static java.lang.Double DISTANCE_RUP_WARN_MIN
           
static java.lang.String FLT_FOC_MECH_NORMAL
           
static java.lang.String FLT_FOC_MECH_REVERSE
           
static java.lang.String FLT_FOC_MECH_STRIKE_SLIP
           
static java.lang.String FLT_FOC_MECH_UNKNOWN
           
static java.lang.String FLT_TEC_ENV_CRUSTAL
           
static java.lang.String FLT_TEC_ENV_INTERFACE
           
static java.lang.String FLT_TEC_ENV_SLAB
           
protected static java.lang.Double MAG_WARN_MAX
           
protected static java.lang.Double MAG_WARN_MIN
           
static java.lang.String NAME
           
static java.lang.String SHORT_NAME
           
static java.lang.String SITE_TYPE_DEFAULT
           
static java.lang.String SITE_TYPE_HARD_ROCK
           
static java.lang.String SITE_TYPE_HARD_SOIL
           
static java.lang.String SITE_TYPE_INFO
           
static java.lang.String SITE_TYPE_MEDIUM_SOIL
           
static java.lang.String SITE_TYPE_NAME
           
static java.lang.String SITE_TYPE_ROCK
           
static java.lang.String SITE_TYPE_SOFT_SOIL
           
 
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
ZhaoEtAl_2006_AttenRel(ParameterChangeWarningListener listener)
          This initializes several ParameterList objects.
 
Method Summary
 java.net.URL getInfoURL()
          This provides a URL where more info on this model can be obtained
 double getMean()
          This returns the mean intensity-measure level for the current set of parameters.
 double getMean(int iper, double mag, double rRup)
           
 java.lang.String getName()
          get the name of this IMR
 java.lang.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.
 double getStdDev(int iper, java.lang.String stdDevType, java.lang.String tecRegType)
          This gets the standard deviation for specific parameter settings.
protected  void initEqkRuptureParams()
          Creates the two Potential Earthquake parameters (magParam and fltTypeParam) and adds them to the eqkRuptureParams list.
protected  void initIndependentParamLists()
          This creates the lists of independent parameters that the various dependent parameters (mean, standard deviation, exceedance probability, and IML at exceedance probability) depend upon.
protected  void initOtherParams()
          Creates other Parameters that the mean or stdDev depends upon, such as the Component or StdDevType parameters.
protected  void initParameterEventListeners()
          Adds the parameter change listeners.
protected  void initPropagationEffectParams()
          Creates the Propagation Effect parameters and adds them to the propagationEffectParams list.
protected  void initSiteParams()
          Creates the Site-Type parameter and adds it to the siteParams list.
protected  void initSupportedIntensityMeasureParams()
          Creates the two supported IM parameters (PGA and SA), as well as the independenParameters of SA (periodParam and dampingParam) and adds them 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
protected  void setCoeffIndex()
           
 void setEqkRupture(EqkRupture eqkRupture)
          This sets the eqkRupture related parameters (magParam and fltTypeParam) based on the eqkRupture passed in.
 void setParamDefaults()
          Allows the user to set the default parameter values for the selected Attenuation Relationship.
 void setPropagationEffectParams()
          This sets the site and eqkRupture, and the related parameters, from the propEffect object passed in.
 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, 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.IntensityMeasureRelationship
getEqkRupture, getEqkRuptureParams, getEqkRuptureParamsIterator, getIntensityMeasure, getIntensityMeasureLevel, getOtherParams, getOtherParamsIterator, getParameter, getPropagationEffectParams, getPropagationEffectParamsIterator, getSite, getSiteParams, getSiteParamsIterator, getSupportedIntensityMeasures, getSupportedIntensityMeasuresIterator, isIntensityMeasureSupported, isIntensityMeasureSupported, setAll, setExceedProb, setIntensityMeasure, setIntensityMeasure, 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

NAME

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

SITE_TYPE_INFO

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

SITE_TYPE_NAME

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

SITE_TYPE_HARD_ROCK

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

SITE_TYPE_ROCK

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

SITE_TYPE_HARD_SOIL

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

SITE_TYPE_MEDIUM_SOIL

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

SITE_TYPE_SOFT_SOIL

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

SITE_TYPE_DEFAULT

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

FLT_TEC_ENV_CRUSTAL

public static final java.lang.String FLT_TEC_ENV_CRUSTAL

FLT_TEC_ENV_INTERFACE

public static final java.lang.String FLT_TEC_ENV_INTERFACE

FLT_TEC_ENV_SLAB

public static final java.lang.String FLT_TEC_ENV_SLAB

FLT_FOC_MECH_REVERSE

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

FLT_FOC_MECH_NORMAL

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

FLT_FOC_MECH_STRIKE_SLIP

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

FLT_FOC_MECH_UNKNOWN

public static final java.lang.String FLT_FOC_MECH_UNKNOWN
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

DEPTH_HYPO_WARN_MIN

protected static final java.lang.Double DEPTH_HYPO_WARN_MIN

DEPTH_HYPO_WARN_MAX

protected static final java.lang.Double DEPTH_HYPO_WARN_MAX
Constructor Detail

ZhaoEtAl_2006_AttenRel

public ZhaoEtAl_2006_AttenRel(ParameterChangeWarningListener listener)
This initializes several ParameterList objects.

Method Detail

setEqkRupture

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

Specified by:
setEqkRupture in interface IntensityMeasureRelationship
Overrides:
setEqkRupture in class AbstractIMR
Parameters:
eqkRupture - The new eqkRupture value
Throws:
InvalidRangeException - If not valid rake angle

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

public void setPropagationEffectParams()
This sets the site and eqkRupture, and the related parameters, from the propEffect object passed in. Warning constrains are ignored.

Specified by:
setPropagationEffectParams in class AttenuationRelationship
Parameters:
propEffect -
Throws:
ParameterException
InvalidRangeException - If not valid distance, depth??? to check!!!

setCoeffIndex

protected void setCoeffIndex()
                      throws ParameterException
Throws:
ParameterException

getMean

public double getMean()
Description copied from interface: ScalarIMR
This returns the mean intensity-measure level for the current set of parameters.

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

setParamDefaults

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

Specified by:
setParamDefaults in interface IntensityMeasureRelationship

initEqkRuptureParams

protected void initEqkRuptureParams()
Creates the two Potential Earthquake parameters (magParam and fltTypeParam) and adds them to the eqkRuptureParams list. Makes the parameters non-editable.

Specified by:
initEqkRuptureParams in class AttenuationRelationship

initSiteParams

protected void initSiteParams()
Creates the Site-Type parameter and adds it to the siteParams list. Makes the parameters non-edit-able.

Specified by:
initSiteParams in class AttenuationRelationship

initPropagationEffectParams

protected void initPropagationEffectParams()
Creates the Propagation Effect parameters and adds them to the propagationEffectParams list. Makes the parameters non-editable.

Specified by:
initPropagationEffectParams in class AttenuationRelationship

initOtherParams

protected void initOtherParams()
Creates other Parameters that the mean or stdDev depends upon, such as the Component or StdDevType parameters.

Overrides:
initOtherParams in class AttenuationRelationship

initIndependentParamLists

protected void initIndependentParamLists()
This creates 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 two supported IM parameters (PGA and SA), as well as the independenParameters of SA (periodParam and dampingParam) and adds them to the supportedIMParams list. Makes the parameters non-editable.

Specified by:
initSupportedIntensityMeasureParams in class AttenuationRelationship

getName

public java.lang.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 java.lang.String getShortName()
Returns the Short Name of each AttenuationRelationship

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

getMean

public double getMean(int iper,
                      double mag,
                      double rRup)
Parameters:
iper -
mag -
rRup -
Returns:

getStdDev

public double getStdDev(int iper,
                        java.lang.String stdDevType,
                        java.lang.String tecRegType)
This gets the standard deviation for specific parameter settings. We might want another version that takes the actual SA period rather than the period index.

Parameters:
iper -
vs30 -
f_rv -
f_nm -
rRup -
distRupMinusJB_OverRup -
distRupMinusDistX_OverRup -
f_hw -
dip -
mag -
depthTop -
aftershock -
stdDevType -
f_meas -
Returns:

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 java.net.URL getInfoURL()
                        throws java.net.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:
java.net.MalformedURLException - if returned URL is not a valid URL.