def _parseRecordDc(self, line, focal_mechanism): """ Parses the 'source parameter data - comment' record Dc """ try: comment = focal_mechanism.comments[0] comment.text += line[2:60] except IndexError: comment = Comment() comment.resource_id = ResourceIdentifier(prefix=res_id_prefix) focal_mechanism.comments.append(comment) comment.text = line[2:60]
def _parse_record_dc(self, line, focal_mechanism): """ Parses the 'source parameter data - comment' record Dc """ try: comment = focal_mechanism.comments[0] comment.text += line[2:60] except IndexError: comment = Comment() comment.resource_id = ResourceIdentifier(prefix=res_id_prefix) focal_mechanism.comments.append(comment) comment.text = line[2:60]
def _parseRecordC(self, line, event): """ Parses the 'general comment' record C """ try: comment = event.comments[0] comment.text += line[2:60] except IndexError: comment = Comment() comment.resource_id = ResourceIdentifier(prefix=res_id_prefix) event.comments.append(comment) comment.text = line[2:60] # strip non printable-characters comment.text = "".join(x for x in comment.text if x in s.printable)
def _parseRecordC(self, line, event): """ Parses the 'general comment' record C """ try: comment = event.comments[0] comment.text += line[2:60] except IndexError: comment = Comment() comment.resource_id = ResourceIdentifier(prefix=res_id_prefix) event.comments.append(comment) comment.text = line[2:60] # strip non printable-characters comment.text =\ filter(lambda x: x in s.printable, comment.text)
def __read_single_fnetmt_entry(line, **kwargs): """ Reads a single F-net moment tensor solution to a :class:`~obspy.core.event.Event` object. :param line: String containing moment tensor information. :type line: str. """ a = line.split() try: ot = UTCDateTime().strptime(a[0], '%Y/%m/%d,%H:%M:%S.%f') except ValueError: ot = UTCDateTime().strptime(a[0], '%Y/%m/%d,%H:%M:%S') lat, lon, depjma, magjma = map(float, a[1:5]) depjma *= 1000 region = a[5] strike = tuple(map(int, a[6].split(';'))) dip = tuple(map(int, a[7].split(';'))) rake = tuple(map(int, a[8].split(';'))) mo = float(a[9]) depmt = float(a[10]) * 1000 magmt = float(a[11]) var_red = float(a[12]) mxx, mxy, mxz, myy, myz, mzz, unit = map(float, a[13:20]) event_name = util.gen_sc3_id(ot) e = Event(event_type="earthquake") e.resource_id = _get_resource_id(event_name, 'event') # Standard JMA solution o_jma = Origin(time=ot, latitude=lat, longitude=lon, depth=depjma, depth_type="from location", region=region) o_jma.resource_id = _get_resource_id(event_name, 'origin', 'JMA') m_jma = Magnitude(mag=magjma, magnitude_type='ML', origin_id=o_jma.resource_id) m_jma.resource_id = _get_resource_id(event_name, 'magnitude', 'JMA') # MT solution o_mt = Origin(time=ot, latitude=lat, longitude=lon, depth=depmt, region=region, depth_type="from moment tensor inversion") o_mt.resource_id = _get_resource_id(event_name, 'origin', 'MT') m_mt = Magnitude(mag=magmt, magnitude_type='Mw', origin_id=o_mt.resource_id) m_mt.resource_id = _get_resource_id(event_name, 'magnitude', 'MT') foc_mec = FocalMechanism(triggering_origin_id=o_jma.resource_id) foc_mec.resource_id = _get_resource_id(event_name, "focal_mechanism") nod1 = NodalPlane(strike=strike[0], dip=dip[0], rake=rake[0]) nod2 = NodalPlane(strike=strike[1], dip=dip[1], rake=rake[1]) nod = NodalPlanes(nodal_plane_1=nod1, nodal_plane_2=nod2) foc_mec.nodal_planes = nod tensor = Tensor(m_rr=mxx, m_tt=myy, m_pp=mzz, m_rt=mxy, m_rp=mxz, m_tp=myz) cm = Comment(text="Basis system: North,East,Down (Jost and \ Herrmann 1989") cm.resource_id = _get_resource_id(event_name, 'comment', 'mt') mt = MomentTensor(derived_origin_id=o_mt.resource_id, moment_magnitude_id=m_mt.resource_id, scalar_moment=mo, comments=[cm], tensor=tensor, variance_reduction=var_red) mt.resource_id = _get_resource_id(event_name, 'moment_tensor') foc_mec.moment_tensor = mt e.origins = [o_jma, o_mt] e.magnitudes = [m_jma, m_mt] e.focal_mechanisms = [foc_mec] e.preferred_magnitude_id = m_mt.resource_id.id e.preferred_origin_id = o_mt.resource_id.id e.preferred_focal_mechanism_id = foc_mec.resource_id.id return e
def _comment(self, text): comment = Comment() comment.text = text comment.resource_id = ResourceIdentifier(prefix=self.res_id_prefix) return comment