It would help to replace obspy client code if there was the full set of methods available. I have two suggestions to make that feasible:
- For methods not supported by the AWS system (e.g.
get_stations and get_stations_bulk) these could be a simple redirect to the obspy FDSN method, e.g.:
...
def get_stations(*args, **kwargs):
from obspy.clients.fdsn import Client
obspy_client = Client(self.config.fdsn_url) # Note, would need change to the config file
return obspy_client.get_stations(*args, **kwargs)
- Refactor
get_waveforms into two functions, one that makes the set of all possible network, station, location and channel combinations, and one that takes those and downloads the data. This second function would then be referenced by a get_waveforms_bulk method. Doing this would make the most of threading, rather than making repeated calls to get_waveforms for different combinations of network, station, location and channel.
It would help to replace obspy client code if there was the full set of methods available. I have two suggestions to make that feasible:
get_stationsandget_stations_bulk) these could be a simple redirect to the obspy FDSN method, e.g.:... def get_stations(*args, **kwargs): from obspy.clients.fdsn import Client obspy_client = Client(self.config.fdsn_url) # Note, would need change to the config file return obspy_client.get_stations(*args, **kwargs)get_waveformsinto two functions, one that makes the set of all possible network, station, location and channel combinations, and one that takes those and downloads the data. This second function would then be referenced by aget_waveforms_bulkmethod. Doing this would make the most of threading, rather than making repeated calls toget_waveformsfor different combinations of network, station, location and channel.