Fast and modern FDSN Download
FDSN Rush allows to download seismic waveform data from FDSN servers in a fast, reproducible and reliable way.
Installation using Python's pip
pip install git+https://github.com/miili/fdsn-rushThe user CLI is exposed as fdsn-rush command.
$> fdsn-rush
Usage: fdsn-rush [OPTIONS] COMMAND [ARGS]...
FDSN Download to SDS Archive
╭─ Options ────────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────╮
│ init Print the configuration. │
│ download Download data from FDSN to local SDS archive. │
│ convert Convert existing MiniSEED files to SDS archive. │
╰──────────────────────────────────────────────────────────────────────────────────────╯Create a new config file and write it out to config.json with the following command:
fdsn-rush init > config.jsonIn this config file configure:
- FDSN servers to fetch data from, in this example https://geofon.gfz.de.
- Timerange to download, here substitutes
todayandyesterdayare allowed. - Stations NSL codes (SEED convention
<network>.<station>.<location>) to download. - The channel priority. In the default config
HHchannels would have the highest priority.
If you have an EIDA key to access restricted waveform data, put the path into Client.eida_key.
The MiniSeed data will be writen out into an SDS directory structure located at data/. All metadata will be saved in a metadata/ folder.
"writer": {
"sds_archive": "data/",
"steim_compression": 1,
"record_length": 4096,
"min_length_seconds": "PT1M",
"squirrel_environment": null
},
"clients": [
{
"url": "https://geofon.gfz.de/",
"timeout": 30.0,
"n_workers": 8,
"n_connections": 24,
"chunk_size": "4.0MiB",
"rate_limit": 20,
"eida_key": null
}
],
"metadata_path": "metadata",
"time_range": [
"2025-11-03",
"today"
],
"station_selection": [
"2D.."
],
"channel_priority": [
"HH[ZNE12]",
"EH[ZNE12]",
"HN[ZNE12]"
],
"station_blacklist": [],
"min_channels_per_station": 3,
"min_sampling_rate": 100.0,
"max_sampling_rate": 200.0
}
Start the asynchronous download with:
fdsn-rush download config.jsonThis can be useful to convert unstructured MiniSeed data to an SDS archive structure.
fdsn-rush convert in-folder/ out-sds-folder/