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
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)
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")
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)
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)
def receiver(self): return Receiver( latitude=float(self.ui.receiver_latitude.value()), longitude=float(self.ui.receiver_longitude.value()), )
def iterate(self): src = Source(latitude=10, longitude=10) rec = Receiver(latitude=20, longitude=20) self.db.get_seismograms(source=src, receiver=rec)
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)