예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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
예제 #6
0
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
예제 #7
0
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
예제 #8
0
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