Example #1
0
    def test_diffracted_phases(self):
        """
        Test of exotic diffracted phases.
        """
        model = TauPyModel('iasp91')
        phs = [
            "SedPdiffKP", "PdiffPdiff", "PedPdiffKKP", "PdiffKKPdiff",
            "PPdiff", "SKdiffP"
        ]
        dists = [155.0, 210.0, 310.0, 300.0, 220.0, 200.0]
        times = [1464.97, 1697.88, 2052.42, 2008.03, 1742.27, 1431.53]

        for ph, dist, time in zip(phs, dists, times):
            phase = SeismicPhase(ph, model.model)
            arrivals = phase.calc_time(dist)
            arrival = arrivals[0]
            phase.calc_pierce_from_arrival(arrival)
            phase.calc_path_from_arrival(arrival)

            tol = 1e-2
            assert abs(arrival.time - time) < tol
            assert abs(arrival.pierce["time"][-1] - time) < tol
            assert abs(arrival.path["time"][-1] - time) < tol