Hello, I’m trying to build a database of waveforms with associated pick times using Obspy. I’m using qml files to get picks associated to events and related information. Then I download 1 minute waveforms centered around the pick time by making queries with the picks information.
I have been able to build a database with this method, but I noticed that tremoving the responses I obtain what I think are some artifacts in some traces, possibly given by the “deconvolution” process. It looks like the signal is modulated.
My goal is to obtain the signal expressed in m/s^2 instead of counts. Should I use the remove_sensitivity method instead of remove_response to avoid these issues?
I remove the response like this
for i, tr in enumerate(st):
#print(tr.stats.response)
tr.remove_response(output='ACC')
#tr.plot()
where st is the stream where I saved the waveforms queried from the database.
The following code is how I got the waveforms. I think it’s quite standard and it shouldn’t have mistakes in how I get the responses.
for index, row in query_data.iterrows():
t=UTCDateTime(row['pick_time'])
n=row['network']
s=row['station']
ch=str(row['channel'][0:1]+'N?')#get all three directions using UNIX wildcard and ask only for accelerometric traces
print(index)
if (n=='IV'): #check if you're getting traces from the Italian network
try:
buffer=client.get_waveforms(n, s, "", str(ch[0:2])+'?', t-60, t+60, attach_response=True)
for trace in buffer: #associate a pick time to every received waveform for all axes
st+=trace
pick_times.append(t)
except:
print ("Accelerometer data for "+n+"/"+s+"/"+ch+" unavailable")
Am I misunderstanding how to use the remove_response method? Or should I look into the responses or possible bad data from the stations to check for possible mistakes?