render_waveforms¶
Science¶
A record section: up to twelve stations around an origin, traces sorted
by distance, with catalogue and re-picked arrivals, predicted P and S,
and the noise/signal windows get_waveform_summary
uses. channel=all draws three rows per station and lowers the station
cap to four. An optional reduced-time axis aligns traces on predicted P.
The picture is not a measurement. filter_band is Tier D even at its
default 2-15; every call is catalogue_bearing: false with warning
tier_d_parameter. Predicted arrivals are computed in-process and are
not ledgered. Cite get_waveform_summary for SNR, frequency, or
amplitude numbers. A visual impression of onset character is not
evidence.
The payload repeats the stations drawn, distances, and predicted times so a reader can say what the figure contains without reading pixels.
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 | visual |
| Class | 3 |
| Tool version | 1.0.0 |
| Highest declared tier | D |
| Timeout | 30 s |
| Budget key | render |
readOnlyHint |
true |
idempotentHint |
true |
Input¶
| Field | Type | Required | Notes |
|---|---|---|---|
origin_ref |
object (kind catalog | solution | value) |
yes | discriminated on kind |
stations |
array[string] | null | no | default null |
channel |
string ∈ {Z, horizontals, all} |
no | default "Z" |
filter_band |
string | no | default "2-15" |
pre_s |
number | no | default 10.0; ≥ 0; ≤ 60.0 |
post_s |
number | no | default 60.0; ≥ 0; ≤ 120.0 |
time_axis |
string ∈ {absolute, reduced_p} |
no | default "absolute" |
picks_from |
array[string] | no | |
show_predicted |
boolean | no | default true |
show_windows |
boolean | no | default true |
normalize |
string ∈ {per_trace, common} |
no | default "per_trace" |
width_px |
integer ∈ {800, 1200, 1600} |
no | default 1200 |
Payload¶
| Field | Type | Required | Notes |
|---|---|---|---|
figure |
object | yes | payload.figure fragment every render tool returns (docs/12). |
figure.width_px |
integer | yes | |
figure.height_px |
integer | yes | |
figure.digest |
string | yes | |
figure.caption |
string | yes | |
figure.series |
array[string] | no | |
figure.url |
string | yes | |
stations_drawn |
array[object] | yes | |
stations_drawn[].station_id |
string | yes | |
stations_drawn[].distance_km |
number | yes | |
stations_drawn[].azimuth_deg |
number | yes | |
stations_drawn[].channels |
array[string] | yes | |
stations_drawn[].has_pick |
boolean | yes | |
stations_drawn[].state |
string | yes | |
stations_drawn[].predicted_p_utc |
string | null | no | default null |
stations_drawn[].predicted_s_utc |
string | null | no | default null |
channel |
string | yes |
Example request¶
{
"origin_ref": {
"kind": "catalog",
"event_id": 1001
},
"stations": [
"XX.STA1",
"YY.STA3"
],
"channel": "Z",
"filter_band": "2-15",
"pre_s": 5,
"post_s": 30,
"time_axis": "absolute",
"picks_from": [
"catalog"
],
"show_predicted": true,
"show_windows": true,
"normalize": "per_trace",
"width_px": 1200
}
Example payload¶
{
"figure": {
"width_px": 1200,
"height_px": 800,
"digest": "sha256:456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123",
"caption": "6 stations, 2–15 Hz, catalogue P picks (solid), predicted P/S (dotted)",
"series": [
"tc-0007",
"tc-0009"
],
"url": "/mcp/figures/tc-0021.png"
},
"stations_drawn": [
{
"station_id": "XX.STA1",
"distance_km": 41.2,
"azimuth_deg": 212.0,
"channels": [
"HHZ"
],
"has_pick": true,
"state": "delivering",
"predicted_p_utc": "2024-06-15T08:12:10.727Z",
"predicted_s_utc": "2024-06-15T08:12:16.400Z"
}
],
"channel": "Z"
}
What this tool does not tell you¶
What this tool does not tell you: the picture is not a measurement. Cite
get_waveform_summary for numbers; a visual impression of onset character,
SNR or frequency content is not evidence.
Warnings named for this tool¶
| Code | When |
|---|---|
tier_d_parameter |
always — filter_band is Tier D even at its default |