コード例 #1
0
ファイル: test_sum_adjoint.py プロジェクト: mpbl/pytomo3d
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)
コード例 #2
0
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)
コード例 #3
0
ファイル: adjsrcDD.py プロジェクト: yanhuay/pytomo3d
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
コード例 #4
0
ファイル: adjsrcDD.py プロジェクト: yanhuay/pytomo3d
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