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 _create_magnitudes(): return ev.Magnitude( resource_id=ev.ResourceIdentifier(), mag=5.5, mag_errors={'uncertainty': .01}, magnitude_type='Mw', origin_id=state['origin_id'], station_count=1, station_magnitude_contributions=[_get_station_mag_contrib()], )
def create_magnitude(originID, cinfo): ''' create_magnitude - function to create an ObsPy Magnitude object :param originID: :type originID: :param cinfo: :type cinfo: :return: ''' magnitude = ope.Magnitude() magnitude.creation_info = cinfo magnitude.origin_id = originID return magnitude
def dummy_mag(self): scnls = ["UK.STA1..HHZ", "UK.STA2..HHZ"] eve = ev.Event() sms = sm_generator(scnls=scnls) smcs = [] for sm in sms: smcs.append( ev.StationMagnitudeContribution( station_magnitude_id=sm.resource_id)) mag = ev.Magnitude(mag=1, station_magnitude_contributions=smcs) eve.magnitudes = [mag] eve.station_magnitudes = sms return eve
def net_magnitude(self, magscaling=None): if self: if magscaling is not None and str(magscaling) is not '[0.0, 0.0]': # scaling necessary print("Scaling network magnitude ...") mag = ope.Magnitude( mag=np.median([M.mag for M in self.magnitudes.values()]) * \ magscaling[0] + magscaling[1], magnitude_type=self.type, origin_id=self.origin_id, station_count=len(self.magnitudes), azimuthal_gap=self.origin_id.get_referred_object().quality.azimuthal_gap) else: # no saling necessary mag = ope.Magnitude( mag=np.median([M.mag for M in self.magnitudes.values()]), magnitude_type=self.type, origin_id=self.origin_id, station_count=len(self.magnitudes), azimuthal_gap=self.origin_id.get_referred_object( ).quality.azimuthal_gap) return mag return None
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)
def event_magnitudes(self, event_station_mags): """Add a focal mechanism to the event""" event_station_mags.magnitudes.append(ev.Magnitude()) return event_station_mags