コード例 #1
0
# 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())
コード例 #2
0
ファイル: timeprog_fenton.py プロジェクト: enicolin/summer
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':
    '-',
コード例 #3
0
ファイル: diffusion_intime.py プロジェクト: enicolin/summer
                        '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]