In writephases: export of phase information for focmec. Still under construction.
This commit is contained in:
		
							parent
							
								
									2fc1c7031d
								
							
						
					
					
						commit
						a95120ba5e
					
				@ -1,6 +1,7 @@
 | 
				
			|||||||
#!/usr/bin/env python
 | 
					#!/usr/bin/env python
 | 
				
			||||||
# -*- coding: utf-8 -*-
 | 
					# -*- coding: utf-8 -*-
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import pdb
 | 
				
			||||||
import glob
 | 
					import glob
 | 
				
			||||||
import obspy.core.event as ope
 | 
					import obspy.core.event as ope
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
@ -406,8 +407,9 @@ def writephases(arrivals, fformat, filename, parameter, eventinfo=None):
 | 
				
			|||||||
    :param: parameter, all input information
 | 
					    :param: parameter, all input information
 | 
				
			||||||
    :type:  object
 | 
					    :type:  object
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    :param: eventinfo, optional, source time needed for VELEST-cnv format
 | 
					    :param: eventinfo, optional, needed for VELEST-cnv file 
 | 
				
			||||||
    :type:  list object
 | 
					            and focmec- and HASH-input files 
 | 
				
			||||||
 | 
					    :type:  `obspy.core.event.Event` object
 | 
				
			||||||
    """ 
 | 
					    """ 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if fformat == 'NLLoc':
 | 
					    if fformat == 'NLLoc':
 | 
				
			||||||
@ -683,6 +685,42 @@ def writephases(arrivals, fformat, filename, parameter, eventinfo=None):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        fid.close()
 | 
					        fid.close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    elif fformat == 'focmec':
 | 
				
			||||||
 | 
					        print ("Writing phases to %s for focmec" % filename)
 | 
				
			||||||
 | 
					        fid = open("%s" % filename, 'w')
 | 
				
			||||||
 | 
					        # get event information needed for focmec-input file
 | 
				
			||||||
 | 
					        eventsource = eventinfo.origins[0]
 | 
				
			||||||
 | 
					        stime = eventsource['time']
 | 
				
			||||||
 | 
					        # write header line including event information
 | 
				
			||||||
 | 
					        fid.write('%s %d%02d%02d%02d%02d%02.0f %7.4f %6.4f %3.1f %3.1f\n' % (parameter.get('eventID'),
 | 
				
			||||||
 | 
					                   stime.year, stime.month, stime.day, stime.hour, stime.minute, stime.second,
 | 
				
			||||||
 | 
					                   eventsource['latitude'], eventsource['longitude'], eventsource['depth'] / 1000,
 | 
				
			||||||
 | 
					                   eventinfo.magnitudes[0]['mag']))
 | 
				
			||||||
 | 
					        picks = eventinfo.picks
 | 
				
			||||||
 | 
					        for key in arrivals:
 | 
				
			||||||
 | 
					            if arrivals[key].has_key('P'):
 | 
				
			||||||
 | 
					                if arrivals[key]['P']['weight'] < 4:
 | 
				
			||||||
 | 
					                    stat = key
 | 
				
			||||||
 | 
					                    for i in range(len(picks)):
 | 
				
			||||||
 | 
					                         wf = picks[i].get('waveform_id')
 | 
				
			||||||
 | 
					                         station = wf.get('station_code')
 | 
				
			||||||
 | 
					                         if station == stat:
 | 
				
			||||||
 | 
					                             # get resource ID
 | 
				
			||||||
 | 
					                             resid_picks = picks[i].get('resource_id')
 | 
				
			||||||
 | 
					                             print resid_picks
 | 
				
			||||||
 | 
					                             # find this resource ID in eventinfo
 | 
				
			||||||
 | 
					                             for j in range(len(eventinfo.origins[0].arrivals)):
 | 
				
			||||||
 | 
					                                 resid_eventinfo = eventinfo.origins[0].arrivals[j].get('resource_id')
 | 
				
			||||||
 | 
					                                 print resid_eventinfo
 | 
				
			||||||
 | 
					                                 if resid_eventinfo == resid_picks:
 | 
				
			||||||
 | 
					                                     az = eventinfo.origins[0].arrivals[j].get('azimuth')
 | 
				
			||||||
 | 
					                                     inz = eventinfo.origins[0].arrivals[j].get('takeoff_angle')
 | 
				
			||||||
 | 
					                                     fid.write('%s  %6.2f  %6.2f%s \n' % (stat,
 | 
				
			||||||
 | 
					                                                                        az,
 | 
				
			||||||
 | 
					                                                                        inz,
 | 
				
			||||||
 | 
					                                                    arrivals[key]['P']['fm']))
 | 
				
			||||||
 | 
					        fid.close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def merge_picks(event, picks):
 | 
					def merge_picks(event, picks):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
    takes an event object and a list of picks and searches for matching
 | 
					    takes an event object and a list of picks and searches for matching
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user