GeoNet operates two FDNS wave servers
There are a few different ways this could be done.
In [1]:
from obspy.core import UTCDateTime
from obspy.clients.fdsn import Client
arc_client = 'http://service.geonet.org.nz'
# or arc_client = "GEONET"
nrt_client = 'http://service-nrt.geonet.org.nz'
In [2]:
t = UTCDateTime('2017-10-04')
#first try to get data from archive server
try:
client = Client(arc_client)
st = client.get_waveforms('NZ', 'KRVZ', '10', 'EHZ', t, t + 300)
print('arc client successful')
#if this raises an exception, try the near real-time server
except:
client = Client(nrt_client)
st = client.get_waveforms('NZ', 'KRVZ', '10', 'EHZ', t, t + 300)
print('nrt client successful')
print(st)
In [3]:
starttime = UTCDateTime.now()-518400 #6 days ago
endtime = starttime+300
days7 = UTCDateTime.now()-604800 #7 days ago
days8 = UTCDateTime.now()-691200 #8 days ago
if endtime < days7:
client = Client(arc_client)
print("Client is archive client")
elif starttime > days8:
client = Client(nrt_client)
print("Client is near real-time client")
else:
print("Time range requires both clients")
st = client.get_waveforms('NZ', 'WEL', '10', 'HHZ', starttime, endtime)
print(st)
In [4]:
#Define time period
t1 = UTCDateTime.now()-777600 #9 days ago
t2 = UTCDateTime.now()-518400 #6 days ago
#nrt client
try:
client = Client(nrt_client)
stnrt = client.get_waveforms('NZ', 'WEL', '10', 'HHZ', t1, t2)
print('nrt client successful')
except:
print('nrt client not successful')
#arc client
try:
client = Client(arc_client)
starc = client.get_waveforms('NZ', 'WEL', '10', 'HHZ', t1, t2)
print('arc client successful')
except:
print('arc client not successful')
print(stnrt,starc)
Now merge waveforms into a single stream object.
In [5]:
st = stnrt
st += starc
st.merge(fill_value = 'interpolate')
print(st)