I would like to use MassDownloader class for my local database structure (where waveform and stationxml data are stored in a specific order). However, this class is only available for FDSN Clients. Do you know any fast way to make my local FDSN web server (as SeisComP does here)?
You say database structure but it sounds a bit like you are referring to having data in a directory tree on local storage? If that is the case you might be able to use obspy SDS client with a custom filename pattern as FMTSTR. If your naming scheme is sloppy you could also use wildcards but then it gets a bit slower, depending how many more files that aren’t what you need have to get read.
Yes, I have data in a directory tree on local storage. I can access through the SDS client as you mentioned. However, I want to use massdownloader class to build a new database controlled by the parameters of the MassDownloader.download function (such as domain and restrictions).
With SDS Client I can’t use MassDownloader class. I am wondering if there is a way to build a local FDSN web server in order to be able to use MassDownloader class.
Gotcha. You could also look at this IRIS FDSN server maybe, I’ve never tried it but Chad knows what he’s doing and it looks like its slimmer than Jane (which I use for various things).
Another thought, if you are already using an SDS client for fetching waveforms and have station data in one big StationXML file, you could also subclass the FDSN obspy client, in get_waveforms() internally use your SDS Client to load data and in get_stations() use station data from your StationXML and feed that subclassed FDSN custom Client to MassDownloader. Not sure if there’s more methods you’d have to reimplement though, but might be a pretty short rewrite of things if you dont want to setup an FDSN server with database