Пример #1
0
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
Пример #2
0
 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()],
     )
Пример #3
0
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
Пример #4
0
 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
Пример #5
0
 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
Пример #6
0
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)
Пример #7
0
 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