Exemplo n.º 1
0
 def compute(self, ctx: np.recarray, imts, mean, sig, tau, phi):
     """
     See :meth:`superclass method
     <.base.GroundShakingIntensityModel.compute>`
     for spec of input and result values.
     """
     ctx.vs30 = np.full_like(ctx.vs30, 600.)
     super().compute(ctx, imts, mean, sig, tau, phi)
     tau_ss = 'tau'
     log_phi_ss = np.log(10)
     for m, imt in enumerate(imts):
         _apply_adjustments(AkkarBommer2010.COEFFS,
                            self.COEFFS_FS_ROCK[imt], tau_ss, mean[m],
                            sig[m], tau[m], phi[m], ctx, ctx.rjb, imt,
                            log_phi_ss)
         sig[m] = np.log(10**sig[m])
Exemplo n.º 2
0
    def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):

        sites.vs30 = 620 * np.ones(len(sites.vs30))

        mean, stddevs = super(ChiouYoungs2008SWISS01, self).\
            get_mean_and_stddevs(sites, rup, dists, imt, stddev_types)

        log_phi_ss = 1
        tau = self.get_tau(ChiouYoungs2008.COEFFS[imt], rup)

        ln_y_ref = super(ChiouYoungs2008SWISS01, self).\
            _get_ln_y_ref(rup, dists, ChiouYoungs2008.COEFFS[imt])

        exp1 = np.exp(ChiouYoungs2008.COEFFS[imt]['phi3'] *
                      (sites.vs30.clip(-np.inf, 1130) - 360))

        exp2 = np.exp(ChiouYoungs2008.COEFFS[imt]['phi3'] * (1130 - 360))

        nl = self.get_nl(ChiouYoungs2008.COEFFS[imt], ln_y_ref, exp1, exp2)

        mean, stddevs = _apply_adjustments(
            ChiouYoungs2008.COEFFS, self.COEFFS_FS_ROCK[imt], 1,
            mean, stddevs, sites, rup, dists.rjb, imt, stddev_types,
            log_phi_ss, NL=nl, tau_value=tau)

        return mean, stddevs
    def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):

        sites.vs30 = 620 * np.ones(len(sites.vs30))

        mean, stddevs = super(ChiouYoungs2008SWISS01, self).\
            get_mean_and_stddevs(sites, rup, dists, imt, stddev_types)

        log_phi_ss = 1
        tau = self.get_tau(ChiouYoungs2008.COEFFS[imt], rup)

        ln_y_ref = super(ChiouYoungs2008SWISS01, self).\
            _get_ln_y_ref(rup, dists, ChiouYoungs2008.COEFFS[imt])

        exp1 = np.exp(ChiouYoungs2008.COEFFS[imt]['phi3'] *
                      (sites.vs30.clip(-np.inf, 1130) - 360))

        exp2 = np.exp(ChiouYoungs2008.COEFFS[imt]['phi3'] * (1130 - 360))

        nl = self.get_nl(ChiouYoungs2008.COEFFS[imt], ln_y_ref, exp1, exp2)

        mean, stddevs = _apply_adjustments(
            ChiouYoungs2008.COEFFS, self.COEFFS_FS_ROCK[imt], 1,
            mean, stddevs, sites, rup, dists.rjb, imt, stddev_types,
            log_phi_ss, NL=nl, tau_value=tau)

        return mean, stddevs
Exemplo n.º 4
0
 def compute(self, ctx, imts, mean, sig, tau, phi):
     """
     See :meth:`superclass method
     <.base.GroundShakingIntensityModel.compute>`
     for spec of input and result values.
     """
     ctx = copy.copy(ctx)
     ctx.vs30 = 700 * np.ones(len(ctx.vs30))
     super().compute(ctx, imts, mean, sig, tau, phi)
     tau_ss = 'tauC'
     log_phi_ss = 1.00
     C = ZhaoEtAl2006AscSWISS05.COEFFS_ASC
     for m, imt in enumerate(imts):
         _apply_adjustments(
             C, self.COEFFS_FS_ROCK[imt], tau_ss,
             mean[m], sig[m], tau[m], phi[m],
             ctx, ctx.rrup, imt, log_phi_ss)
Exemplo n.º 5
0
    def compute(self, ctx, imts, mean, sig, tau, phi):
        ctx.vs30 = 620 * np.ones(len(ctx.vs30))
        log_phi_ss = 1
        super().compute(ctx, imts, mean, sig, tau, phi)

        for m, imt in enumerate(imts):
            t = get_tau(ChiouYoungs2008.COEFFS[imt], ctx)

            ln_y_ref = _get_ln_y_ref(ctx, ChiouYoungs2008.COEFFS[imt])

            exp1 = np.exp(ChiouYoungs2008.COEFFS[imt]['phi3'] *
                          (ctx.vs30.clip(-np.inf, 1130) - 360))

            exp2 = np.exp(ChiouYoungs2008.COEFFS[imt]['phi3'] * (1130 - 360))

            nl = get_nl(ChiouYoungs2008.COEFFS[imt], ln_y_ref, exp1, exp2)

            _apply_adjustments(
                ChiouYoungs2008.COEFFS, self.COEFFS_FS_ROCK[imt], 1,
                mean[m], sig[m], tau[m], phi[m], ctx, ctx.rjb, imt,
                log_phi_ss, NL=nl, tau_value=t)
    def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):
        """
        See :meth:`superclass method
        <.base.GroundShakingIntensityModel.get_mean_and_stddevs>`
        for spec of input and result values.
        """

        mean, stddevs = super(AkkarBommer2010SWISS01, self).\
            get_mean_and_stddevs(sites, rup, dists, imt, stddev_types)

        tau_ss = 'tau'
        log_phi_ss = np.log(10)
        mean, stddevs = _apply_adjustments(
            AkkarBommer2010.COEFFS, self.COEFFS_FS_ROCK[imt], tau_ss,
            mean, stddevs, sites, rup, dists.rjb, imt, stddev_types,
            log_phi_ss)

        return mean,  np.log(10 ** np.array(stddevs))
Exemplo n.º 7
0
    def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):
        """
        See :meth:`superclass method
        <.base.GroundShakingIntensityModel.get_mean_and_stddevs>`
        for spec of input and result values.
        """

        mean, stddevs = super(ZhaoEtAl2006AscSWISS05, self).\
            get_mean_and_stddevs(sites, rup, dists, imt, stddev_types)

        tau_ss = 'tauC'
        log_phi_ss = 1.00
        C = ZhaoEtAl2006AscSWISS05.COEFFS_ASC
        mean, stddevs = _apply_adjustments(
            C, self.COEFFS_FS_ROCK[imt], tau_ss,
            mean, stddevs, sites, rup, dists.rrup, imt, stddev_types,
            log_phi_ss)

        return mean, stddevs
Exemplo n.º 8
0
    def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):
        """
        See :meth:`superclass method
        <.base.GroundShakingIntensityModel.get_mean_and_stddevs>`
        for spec of input and result values.
        """

        sites.vs30 = 600 * np.ones(len(sites.vs30))

        mean, stddevs = super(AkkarBommer2010SWISS01, self).\
            get_mean_and_stddevs(sites, rup, dists, imt, stddev_types)

        tau_ss = 'tau'
        log_phi_ss = np.log(10)
        mean, stddevs = _apply_adjustments(
            AkkarBommer2010.COEFFS, self.COEFFS_FS_ROCK[imt], tau_ss,
            mean, stddevs, sites, rup, dists.rjb, imt, stddev_types,
            log_phi_ss)

        return mean,  np.log(10 ** np.array(stddevs))
Exemplo n.º 9
0
    def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):
        """
        See :meth:`superclass method
        <.base.GroundShakingIntensityModel.get_mean_and_stddevs>`
        for spec of input and result values.
        """

        sites.vs30 = 700 * np.ones(len(sites.vs30))

        mean, stddevs = super(ZhaoEtAl2006AscSWISS05, self).\
            get_mean_and_stddevs(sites, rup, dists, imt, stddev_types)

        tau_ss = 'tauC'
        log_phi_ss = 1.00
        C = ZhaoEtAl2006AscSWISS05.COEFFS_ASC
        mean, stddevs = _apply_adjustments(C, self.COEFFS_FS_ROCK[imt], tau_ss,
                                           mean, stddevs, sites, rup,
                                           dists.rrup, imt, stddev_types,
                                           log_phi_ss)

        return mean, stddevs