def make_amplitudes(scnls=None, picks=None): """Create amplitudes for testing.""" counter = 1 amps = [] scnls = scnls or [] params = { "type": "A", "unit": "dimensionless", "method_id": "mag_calculator", "filter_id": ev.ResourceIdentifier("Wood-Anderson"), "magnitude_hint": "M", "category": "point", "evaluation_mode": "manual", "evaluation_status": "confirmed", } for scnl in scnls: a = ev.Amplitude( generic_amplitude=counter, generic_amplitude_errors=ev.QuantityError( uncertainty=counter * 0.1, confidence_level=95 ), period=counter * 2, snr=counter * 5, time_window=ev.TimeWindow(0, 0.1, UTCDateTime()), waveform_id=ev.WaveformStreamID(seed_string=scnl), scaling_time=UTCDateTime(), scaling_time_errors=ev.QuantityError( uncertainty=counter * 0.001, confidence_level=95 ), creation_info=ev.CreationInfo( agency_id="dummy_agency", author="dummy", creation_time=UTCDateTime() ), **params, ) amps.append(a) counter += 1 picks = picks or [] for pick in picks: a = ev.Amplitude( generic_amplitude=counter, generic_amplitude_errors=ev.QuantityError( uncertainty=counter * 0.1, confidence_level=95 ), period=counter * 2, snr=counter * 5, time_window=ev.TimeWindow(0, 0.1, UTCDateTime()), pick_id=pick.resource_id, scaling_time=UTCDateTime(), scaling_time_errors=ev.QuantityError( uncertainty=counter * 0.001, confidence_level=95 ), creation_info=ev.CreationInfo( agency_id="dummy_agency", author="dummy", creation_time=UTCDateTime() ), **params, ) amps.append(a) counter += 1 return amps
def mag_generator(mag_types): """Function to create magnitudes for testing.""" params = { "origin_id": ev.ResourceIdentifier(), "method_id": ev.ResourceIdentifier("mag_calculator"), "station_count": 2, "azimuthal_gap": 30, "evaluation_mode": "manual", "evaluation_status": "reviewed", } mags = [] counter = 1 for mt in mag_types: m = ev.Magnitude( mag=counter, magnitude_type=mt, mag_errors=ev.QuantityError(uncertainty=counter * 0.1, confidence_level=95), creation_info=ev.CreationInfo(agency_id="dummy_agency", author="dummy", creation_time=UTCDateTime()), **params, ) mags.append(m) return mags
def _get_amplitudes(): return ev.Amplitude( generic_amplitude=.0012, type='A', unit='m', period=1, time_window=_get_timewindow(), pick_id=state['pick_id'], scalling_time=state['time'], mangitude_hint='ML', scaling_time_errors=ev.QuantityError(uncertainty=42.0), )
def sm_generator(scnls=None, amplitudes=None): """Function to create station magntiudes for testing.""" counter = 1 sms = [] scnls = scnls or [] params = { "origin_id": ev.ResourceIdentifier(), "station_magnitude_type": "M", "method_id": "mag_calculator", } for scnl in scnls: sm = ev.StationMagnitude( mag=counter, mag_errors=ev.QuantityError(uncertainty=counter * 0.1, confidence_level=95), waveform_id=ev.WaveformStreamID(seed_string=scnl), creation_info=ev.CreationInfo(agency_id="dummy_agency", author="dummy", creation_time=UTCDateTime()), **params, ) sms.append(sm) counter += 1 amplitudes = amplitudes or [] for amp in amplitudes: sm = ev.StationMagnitude( mag=counter, mag_errors=ev.QuantityError(uncertainty=counter * 0.1, confidence_level=95), amplitude_id=amp.resource_id, creation_info=ev.CreationInfo(agency_id="dummy_agency", author="dummy", creation_time=UTCDateTime()), **params, ) sms.append(sm) counter += 1 return sms
def test_read_uncertainty(self): """ tests that uncertainties in time_errors attribute are read. See #55. """ kwargs = dict(lower_uncertainty=1, upper_uncertainty=2, uncertainty=12) time_error = ev.QuantityError(**kwargs) waveform_id = ev.WaveformStreamID(station_code="A") pick = ev.Pick( time=UTCDateTime(), time_errors=time_error, waveform_id=waveform_id ) df = picks_to_dataframe(pick) assert set(kwargs).issubset(df.columns) assert len(df) == 1 ser = df.iloc[0] assert all([ser[i] == kwargs[i] for i in kwargs])
def _create_magnitude(ser): """ create magnitude objects """ event = get_object(ser.evid) creation_info = oe.CreationInfo( creation_time=timestamp(ser.lddate), agency_id=ser.auth, ) errors = oe.QuantityError(uncertainty=ser.uncertainty, ) magnitude = oe.Magnitude( origin_id=str(ser.orid), mag=ser.magnitude, magnitude_type=ser.magtype, station_count=ser.nsta, creation_info=creation_info, mag_errors=errors, ) event.magnitudes.append(magnitude)