def test_sum_adj_to_base(): array = np.array([1., 2., 3., 4., 5.]) adjbase = AdjointSource( "cc_traveltime_misfit", 2.0, 1.0, 17, 40, "BHZ", adjoint_source=array, network="II", station="AAK", location="", starttime=UTCDateTime(1990, 1, 1)) adj1 = deepcopy(adjbase) adj2 = deepcopy(adjbase) sa.sum_adj_to_base(adj1, adj2, 0.0) adjoint_equal(adj1, adjbase) adj2 = AdjointSource( "cc_traveltime_misfit", 2.0, 1.0, 40, 100, "BHZ", adjoint_source=array, network="II", station="AAK", location="00", starttime=UTCDateTime(1990, 1, 1)) sa.sum_adj_to_base(adj1, adj2, 1.0) adj2.component = "BHR" with pytest.raises(ValueError): sa.sum_adj_to_base(adj1, adj2, 1.0) adj1 = deepcopy(adjbase) adj2 = AdjointSource( "cc_traveltime_misfit", 10.0, 1.0, 40, 100, "BHZ", adjoint_source=array, network="II", station="AAK", location="", starttime=UTCDateTime(1990, 1, 1)) sa.sum_adj_to_base(adj1, adj2, 0.1) npt.assert_almost_equal(adj1.adjoint_source, adjbase.adjoint_source * 1.1) npt.assert_almost_equal(adj1.misfit, 3.0) npt.assert_almost_equal(adj1.min_period, 17) npt.assert_almost_equal(adj1.max_period, 100)
def test_sum_adj_to_base(): array = np.array([1., 2., 3., 4., 5.]) adjbase = AdjointSource("cc_traveltime_misfit", 2.0, 1.0, 17, 40, "BHZ", adjoint_source=array, network="II", station="AAK", location="", starttime=UTCDateTime(1990, 1, 1)) adj1 = deepcopy(adjbase) adj2 = deepcopy(adjbase) sa.sum_adj_to_base(adj1, adj2, 0.0) adjoint_equal(adj1, adjbase) adj2 = AdjointSource("cc_traveltime_misfit", 2.0, 1.0, 40, 100, "BHZ", adjoint_source=array, network="II", station="AAK", location="00", starttime=UTCDateTime(1990, 1, 1)) sa.sum_adj_to_base(adj1, adj2, 1.0) adj2.component = "BHR" with pytest.raises(ValueError): sa.sum_adj_to_base(adj1, adj2, 1.0) adj1 = deepcopy(adjbase) adj2 = AdjointSource("cc_traveltime_misfit", 10.0, 1.0, 40, 100, "BHZ", adjoint_source=array, network="II", station="AAK", location="", starttime=UTCDateTime(1990, 1, 1)) sa.sum_adj_to_base(adj1, adj2, 0.1) npt.assert_almost_equal(adj1.adjoint_source, adjbase.adjoint_source * 1.1) npt.assert_almost_equal(adj1.misfit, 3.0) npt.assert_almost_equal(adj1.min_period, 17) npt.assert_almost_equal(adj1.max_period, 100)
def _convert_trace_to_adj(tr, adj_src_type, minp, maxp): """ Convert Trace to AdjointSource, for internal use only """ adj = AdjointSource(adj_src_type, 0.0, 0.0, minp, maxp, "") adj.dt = tr.stats.delta adj.adjoint_source = tr.data adj.station = tr.stats.station adj.network = tr.stats.network adj.location = tr.stats.location adj.component = tr.stats.channel adj.starttime = tr.stats.starttime return adj
def _convert_trace_to_adj(tr, adj_src_type, minp, maxp): """ Convert Trace to AdjointSource, for internal use only """ adj = AdjointSource(adj_src_type, 0.0, 0.0, minp, maxp, "") adj.dt = tr.stats.delta adj.adjoint_source = tr.data adj.station = tr.stats.station adj.network = tr.stats.network adj.location = tr.stats.location adj.component = tr.stats.channel adj.starttime = tr.stats.starttime return adj