def test_convert_stream_to_adjs(): array = np.array([1., 2., 3., 4., 5.]) starttime = UTCDateTime(1990, 1, 1) adjsrcs = get_sample_adjsrcs(array, starttime) st, meta = pa.convert_adjs_to_stream(adjsrcs) adjsrcs_new = pa.convert_stream_to_adjs(st, meta) for adj, adj_new in zip(adjsrcs, adjsrcs_new): assert_adj_same(adj, adj_new)
def rotate_one_station_adjsrcs(sta_adjs, slat, slon, elat, elon): adj_stream, meta_info = convert_adjs_to_stream(sta_adjs) add_missing_components(adj_stream) rotate_one_station_stream( adj_stream, elat, elon, station_latitude=slat, station_longitude=slon, mode="RT->NE") new_adjs = convert_stream_to_adjs(adj_stream, meta_info) adj_dict = {} for _adj in new_adjs: adj_id = "%s_%s_%s" % (_adj.network, _adj.station, _adj.component) adj_dict[adj_id] = _adj return adj_dict
def test_convert_adjs_to_stream(): array = np.array([1., 2., 3., 4., 5.]) starttime = UTCDateTime(1990, 1, 1) adjsrcs = get_sample_adjsrcs(array, starttime) true_keys = ["II.AAK..BHZ", "II.AAK..BHR", "II.AAK..BHT"] st, meta = pa.convert_adjs_to_stream(adjsrcs) assert len(meta) == 3 keys = meta.keys() assert set(keys) == set(true_keys) for m in meta.values(): assert m["adj_src_type"] == "cc_traveltime_misfit" npt.assert_almost_equal(m["misfit"], 0.0) npt.assert_almost_equal(m["min_period"], 17.0) npt.assert_almost_equal(m["max_period"], 40.0) for tr, trid in zip(st, true_keys): assert tr.id == trid npt.assert_allclose(tr.data, array) npt.assert_almost_equal(tr.stats.delta, 1.0) assert tr.stats.starttime == starttime
def test_convert_adjs_to_stream(): array = np.array([1., 2., 3., 4., 5.]) starttime = UTCDateTime(1990, 1, 1) adjsrcs = get_sample_adjsrcs(array, starttime) true_keys = ["II.AAK..BHZ", "II.AAK..BHR", "II.AAK..BHT"] st, meta = pa.convert_adjs_to_stream(adjsrcs) assert len(meta) == 3 keys = meta.keys() assert set(keys) == set(true_keys) for m in meta.itervalues(): assert m["adj_src_type"] == "cc_traveltime_misfit" npt.assert_almost_equal(m["misfit"], 0.0) npt.assert_almost_equal(m["min_period"], 17.0) npt.assert_almost_equal(m["max_period"], 40.0) for tr, trid in zip(st, true_keys): assert tr.id == trid npt.assert_allclose(tr.data, array) npt.assert_almost_equal(tr.stats.delta, 1.0) assert tr.stats.starttime == starttime
def test_add_missing_components(): array = np.array([1., 2., 3., 4., 5.]) starttime = UTCDateTime(1990, 1, 1) adjsrcs = get_sample_adjsrcs(array, starttime) st, _ = pa.convert_adjs_to_stream(adjsrcs) nadds = pa.add_missing_components(st) assert nadds == 0 st.remove(st.select(component="Z")[0]) nadds = pa.add_missing_components(st) assert nadds == 1 trz = st.select(component="Z")[0] assert trz.id == "II.AAK..BHZ" npt.assert_allclose(trz.data, np.zeros(5)) assert trz.stats.starttime == starttime st.remove(st.select(component="R")[0]) nadds = pa.add_missing_components(st) assert nadds == 1 trr = st.select(component="R")[0] assert trr.id == "II.AAK..BHR" npt.assert_allclose(trr.data, np.zeros(5)) assert trr.stats.starttime == starttime