Requesting events with attached Picks information with FDSN client

I’m trying to create a catalogue of waveforms with associated picks information (mainly the type, uncertainty and pick time). The goal is to obtain something similar to the STEAD dataset for Machine Learning.

I was parsing quakeQML files available here Italian Seismic Bulletin » INGV Osservatorio Nazionale Terremoti containing events and picks, and then using the info in the files to query the fdns database for waveforms of stations that detected the event.

The process has been … long and not always satisfactory.

I was thinking of changing my approach and downloading events automatically with this sort of script

events = client.get_events(minlatitude=minlatitude, maxlatitude=maxlatitude,
minlongitude=minlongitude, maxlongitude=maxlongitude,
minmagnitude=minmagnitude, maxmagnitude=maxmagnitude)

but the issue is that I do not get picks information with this. If I specify includearrivals=True then I get an error that says that I need to specify an eventID. In fact if I download a list of events and then use one of the event IDs as an argument for the get_events function, then I’m able to get the picks for that event too.

Being kind of new to the fdns service, this kind of confused me. Can I do this automatically or I should fall back to my old method of downloading bulletins, parsing qml files, and then querying for waveforms?

Kia ora, that sounds more like something to do with the FDSN client provider rather than ObsPy - get_events for other clients does return picks for all events. You might want to talk to the FDSN service provider to see how they recommend you get data from their service.

Thanks. I was able to get the picks for each event, but I had to do two queries (one to get the events Ids, one to request the picks using the Ids for each event). I guess it means that with that provider without the Id you cannot ask the picks for the event. Which is kind of strange :sweat_smile: I’ll try asking them

@ME890 yes you should contact them. I am pretty sure includearrivals is expected to work with bulk event requests by the FDSN definition.