Skip to content

miili/FDSN-rush

Repository files navigation

FDSN Rush

Fast and modern FDSN Download

uv Ruff Pre-commit

FDSN Rush allows to download seismic waveform data from FDSN servers in a fast, reproducible and reliable way.

Installation

Installation using Python's pip

pip install git+https://github.com/miili/fdsn-rush

The 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.                           │
╰──────────────────────────────────────────────────────────────────────────────────────╯

Download data

Create a new config file and write it out to config.json with the following command:

fdsn-rush init > config.json

In this config file configure:

  1. FDSN servers to fetch data from, in this example https://geofon.gfz.de.
  2. Timerange to download, here substitutes today and yesterday are allowed.
  3. Stations NSL codes (SEED convention <network>.<station>.<location>) to download.
  4. The channel priority. In the default config HH channels 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 Download

Start the asynchronous download with:

fdsn-rush download config.json

Converting existing MiniSeed data to SDS Archive

This can be useful to convert unstructured MiniSeed data to an SDS archive structure.

fdsn-rush convert in-folder/ out-sds-folder/

About

Fast and modern FDSNWS Downloader

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages