def test_equality_methods():
    """
    Tests the (in)equality methods of source and receiver objects. They both
    inherit from the same base class thus they are tested here - but it
    would also be suitable for the receiver tests.
    """
    src1 = Source(latitude=1, longitude=2)
    src2 = Source(latitude=3, longitude=3)
    rec1 = Receiver(latitude=1, longitude=2)
    rec2 = Receiver(latitude=3, longitude=3)

    assert src1 == src1
    assert src2 == src2
    assert rec1 == rec1
    assert rec2 == rec2

    assert src1 != src2
    assert src1 != rec1
    assert src1 != rec2

    assert src2 != src1
    assert src2 != rec1
    assert src2 != rec2

    assert rec1 != rec2
    assert rec1 != src1
    assert rec1 != src2

    assert rec2 != src1
    assert rec2 != src1
    assert rec2 != src2
def test_invalid_lat_lng_values():
    """
    Tests invalid latitude/longitude values
    """
    Receiver(latitude=10, longitude=10)

    with pytest.raises(ValueError):
        Receiver(latitude=100, longitude=10)

    with pytest.raises(ValueError):
        Receiver(latitude=-100, longitude=10)

    with pytest.raises(ValueError):
        Receiver(latitude=10, longitude=200)

    with pytest.raises(ValueError):
        Receiver(latitude=10, longitude=-200)
def test_station_x_y_z():
    station = Receiver(latitude=42.6390, longitude=74.4940, depth_in_m=0.0)
    assert abs(station.x() - 1252949.21995) < 1E-5
    assert abs(station.y() - 4516152.38916) < 1E-5
    assert abs(station.z() - 4315567.96379) < 1E-5
    assert abs(station.colatitude - 47.3609999) < 1E-5
    assert station.depth_in_m == 0.0
    assert station.radius_in_m() == 6371000.0
Exemple #4
0
 def iterate(self):
     rec = Receiver(latitude=20, longitude=20)
     lat = random.random() * 0.5
     lat += 44
     lng = random.random() * 0.5
     lng += 44
     depth_in_m = random.random() * 50000
     src = Source(latitude=lat, longitude=lng, depth_in_m=depth_in_m)
     self.db.get_seismograms(source=src, receiver=rec)
Exemple #5
0
def test_str_method_of_receiver():
    """
    Tests the string method of the receiver class.
    """
    rec = Receiver(latitude=1.0, longitude=2.0, network="BW", station="ALTM")
    assert str(rec) == ("Instaseis Receiver:\n"
                        "\tLongitude :    2.0 deg\n"
                        "\tLatitude  :    1.0 deg\n"
                        "\tNetwork   : BW\n"
                        "\tStation   : ALTM\n"
                        "\tLocation  : \n")
Exemple #6
0
    def setup(self):
        self.db = open_db(self.path,
                          read_on_demand=False,
                          buffer_size_in_mb=250)
        self.counter = 0
        self.current_depth_counter = 0
        # Depth increases in 1 km steps up to a depth of 25 km.
        self.depths = range(0, 25001, 1000)
        self.depth_count = len(self.depths)

        # Fix Receiver
        self.rec = Receiver(latitude=45.0, longitude=45.0)
Exemple #7
0
    def iterate(self):
        # Random points on a sphere.
        lat = np.rad2deg(np.arcsin(2 * random.random() - 1))
        lng = random.random() * 360.0 - 180.0
        rec = Receiver(latitude=lat, longitude=lng)

        lat = np.rad2deg(np.arcsin(2 * random.random() - 1))
        lng = random.random() * 360.0 - 180.0
        depth_in_m = random.random() * self.max_depth
        src = Source(latitude=lat, longitude=lng, depth_in_m=depth_in_m)

        self.db.get_seismograms(source=src, receiver=rec)
Exemple #8
0
 def receiver(self):
     return Receiver(
         latitude=float(self.ui.receiver_latitude.value()),
         longitude=float(self.ui.receiver_longitude.value()),
     )
Exemple #9
0
 def iterate(self):
     src = Source(latitude=10, longitude=10)
     rec = Receiver(latitude=20, longitude=20)
     self.db.get_seismograms(source=src, receiver=rec)
Exemple #10
0
 def iterate(self):
     src = Source(latitude=10, longitude=10)
     rec = Receiver(latitude=20, longitude=20)
     self.db.get_seismograms(source=src,
                             receiver=rec,
                             return_obspy_stream=False)