# get longitudes and latitudes lats = [float(event.split()[7]) for event in flines] longs = [float(event.split()[8]) for event in flines] lat_mean = np.mean(lats) long_mean = np.mean(longs) r = 6.3781e6 # earth radius in m # store events in list # NOTES: # latitude and longitude are converted to rectangular coordinates by # projecting the sines of the lat. and long. on to the plane tangent to the point of mean lat. and long. # distances between points and the origin (mean lat,lon) are determined by great circle distances between origin and the points events_all = [ eq.Event( float(event.split()[10]), '-', r * np.sin(np.pi / 180 * (float(event.split()[8]) - long_mean)), r * np.sin(np.pi / 180 * (float(event.split()[7]) - lat_mean)), '-', eq.gcdist(r, float(event.split()[7]), lat_mean, float(event.split()[8]), long_mean), 0) for event in flines ] # take bootstrap samples and plot data K = 20 N = int(len(events_all)) # prepare meshgrid npoints = 100j npoint_real = int(np.linalg.norm(npoints)) Z = np.zeros((npoint_real, npoint_real)) print("EVENT POSITIONS AND DENSITY FOR {}".format( fname.split(sep='.')[0]).upper())
from datetime import datetime import numpy as np import random import matplotlib.pyplot as plt np.random.seed(1756) random.seed(1756) # read in fenton hill data and store event objects in list f = open("FentonHillExpt2032-MHF-goodlocs.txt", 'r') flines = f.readlines() flines = flines[0::2] time_init = datetime(1983, 12, 6, hour=22, minute=4, second=36) events = [eq.Event(float(line.split()[11]),\ (datetime(int('19'+line.split()[1][:2]), int(line.split()[1][2:]),int(line.split()[2][:2]),hour=int(line.split()[2][2:]),minute=int(line.split()[3][:2]),second=int(line.split()[3][2:]))-time_init).total_seconds()\ , float(line.split()[6]), float(line.split()[5]), '-', 0, '-') for line in flines] f.close() start = datetime.now() # reduce events to a random sample of k elements #k = 650 #events = random.sample(events, k) # format events in the pd dataframe format defined by generate_catalog etc. catalog = pd.DataFrame({ 'Magnitude': [2.3] * len(events), 'Events': '-',
'q_lwr':[10,16.8,10], 'q_upr':[1000,883.2,1000], 'rc_lwr':[40,320,50], 'rc_upr':[100,450,300]}, index = ['newberry.txt','raft_river.txt','bradys.txt']) r = 6371e3 # earth radius in m lat0, long0, t0 = metrics.loc[fname].lat0, metrics.loc[fname].long0, metrics.loc[fname].t0 #43.725820, -121.310371 OG # newberry # 42.088047, -113.385184# raft river # x0 = eq.gnom_x(lat0,long0,lat0,long0) y0 = eq.gnom_y(lat0,long0,lat0,long0) # store events in list # latitudes and longitudes are projected to a plane using a gnomonic projection # distances between points and the origin (mean lat,lon) are determined by great circle distances between origin and the points events_all = [eq.Event(float(event.split()[10]), \ (datetime(int(event.split()[0]),int(event.split()[2]),int(event.split()[3]),hour=int(event.split()[4]),minute=int(event.split()[5]),second=int(float(event.split()[6])))-t0).total_seconds(), \ r*eq.gnom_x(float(event.split()[7]),float(event.split()[8]),lat0,long0, deg = True),\ r*eq.gnom_y(float(event.split()[7]),float(event.split()[8]),lat0,long0, deg = True),\ '-', eq.gcdist(r,float(event.split()[7]),lat0,float(event.split()[8]),long0, deg = True), 0) for event in flines]# if event.split()[0] in year] # format events in the pd dataframe format defined by generate_catalog etc. catalog0 = pd.DataFrame({'Magnitude': [event.magnitude for event in events_all], 'Time':[event.time for event in events_all], 'x':[event.x for event in events_all], 'y':[event.y for event in events_all], 'Generation':[0] * len(events_all), 'Distance_from_origin': [event.distance_from_origin for event in events_all], 'Date':[datetime(int(event.split()[0]),int(event.split()[2]),int(event.split()[3]),hour=int(event.split()[4]),minute=int(event.split()[5]),second=int(float(event.split()[6]))) for event in flines]}) cols = ['Magnitude','Generation','x','y','Time','Distance_from_origin','Date'] catalog0 = catalog0.reindex(columns = cols) catalog0 = catalog0[metrics.loc[fname].range] # get events from time period of interest #catalog0 = catalog0[0:2000]