Skip to content

get_station_status

Science

Negative evidence starts with a fact about the archive, not about the event: did this station have data in the window? The tool reads a precomputed daily availability table (never a live scan of the archive) and classifies each requested station — defaulting to the QC list — as one of three frozen states.

State Rule Evidential weight
delivering Coverage ≥ 90 % of the window If there is no pick, the station was genuinely recording. That silence can be evidence
silent Coverage < 90 %, but data exist within ± 7 days A telemetry or archive gap. No weight as “the earth was quiet”
absent No data within ± 7 days of the window Not installed or not archived. Must never be counted as quiet

An optional origin_ref adds epicentral distance and azimuth so the same rows can be read as a geometry. Warnings fire for explicitly requested stations that are absent or silent, and availability_stale when the table has no row for the requested UTC day — zero delivering may then mean a missing day, not a quiet network.

Delivering is not the same as detectable. Noise and distance are predict_detectability and explain_silence.

Contract

Generated from the live registry (ToolSpec). Field names, types and defaults come from the input and payload models; they are not hand-typed.

Group inventory
Class 2
Tool version 1.1.0
Highest declared tier F
Timeout 5 s
Budget key none
readOnlyHint true
idempotentHint true

Input

Field Type Required Notes
t_from_utc string yes
t_to_utc string yes
stations array[string] | null no default null
origin_ref object (kind catalog | solution | value) | null no default null

Payload

Field Type Required Notes
window object yes
window.from_utc string yes
window.to_utc string yes
stations array[object] yes
stations[].station_id string yes
stations[].state string ∈ {delivering, silent, absent} yes
stations[].coverage_pct number yes
stations[].gaps array[object] yes
stations[].gaps[].from_utc string yes
stations[].gaps[].to_utc string yes
stations[].sample_rate_hz number | null no default null
stations[].distance_km number | null no default null
stations[].azimuth_deg number | null no default null
counts object yes
counts.delivering integer yes
counts.silent integer yes
counts.absent integer yes
table_version string yes

Example request

{
  "t_from_utc": "2024-06-15T08:00:00.000Z",
  "t_to_utc": "2024-06-15T09:00:00.000Z",
  "stations": [
    "XX.STA1"
  ],
  "origin_ref": {
    "kind": "catalog",
    "event_id": 1001
  }
}

Example payload

{
  "window": {
    "from_utc": "2024-06-15T08:00:00.000Z",
    "to_utc": "2024-06-15T09:00:00.000Z"
  },
  "stations": [
    {
      "station_id": "XX.STA1",
      "state": "delivering",
      "coverage_pct": 100.0,
      "gaps": [],
      "sample_rate_hz": 100.0,
      "distance_km": 41.2,
      "azimuth_deg": 212.0
    }
  ],
  "counts": {
    "delivering": 26,
    "silent": 2,
    "absent": 4
  },
  "table_version": "2024-06-01"
}

What this tool does not tell you

What this tool does not tell you: whether a delivering station could have detected anything — that depends on noise and distance (predict_detectability, explain_silence).

Warnings named for this tool

Code When
station_absent an explicitly requested station is absent
station_silent an explicitly requested station is silent
availability_stale the availability table has no row for the requested UTC day