Skip to content

predict_arrivals

Science

Predicted first arrivals at every requested station — picked or not — for a referenced origin. Two travel-time engines are on the menu.

nll_grid reads the same regional P and S travel-time grids the locator uses. A station without a grid is skipped and warned no_travel_time_grid. taup_iasp91 uses ObsPy TauP on the IASP91 spherically symmetric model and can name P, Pn, Pg, S, Sn, Sg. A requested P or S is the first arriving member of that family, so intermediate-depth origins still produce a time.

distance_km is a geodesic (haversine). NonLinLoc's internal distances are on its projected grid; a few kilometres of difference is not an error. residual_s is observed minus predicted against the referenced origin's picks.

Predictions carry the velocity model's error. Residuals of a few tenths of a second are normal. The pattern of residuals with azimuth and distance is the information, not their size. hypothesis is accepted as an unused optional string; the hypothesis rule does not apply here.

References

  • Lomax, A., Virieux, J., Volant, P. and Berge-Thierry, C. (2000). Probabilistic earthquake location in 3D and layered models. doi:10.1007/978-94-015-9536-0_5
  • Kennett, B. L. N. and Engdahl, E. R. (1991). Traveltimes for global earthquake location and phase identification. Geophysical Journal International. doi:10.1111/j.1365-246X.1991.tb06724.x
  • Crotwell, H. P., Owens, T. J. and Ritsema, J. (1999). The TauP Toolkit: Flexible seismic travel-time and ray-path utilities. Seismological Research Letters. doi:10.1785/gssrl.70.2.154

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 forward
Class 3
Tool version 1.1.0
Highest declared tier E
Timeout 10 s
Budget key none
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
phases array[string] no
arrival_model string ∈ {nll_grid, taup_iasp91} no default "nll_grid"
apply_station_corrections boolean no default false
hypothesis string | null no default null

Payload

Field Type Required Notes
origin object yes
origin.origin_time_utc string yes
origin.latitude_deg number yes
origin.longitude_deg number yes
origin.depth_km number yes
arrivals array[object] yes
arrivals[].station_id string yes
arrivals[].distance_km number yes
arrivals[].azimuth_deg number yes
arrivals[].back_azimuth_deg number yes
arrivals[].phase string yes
arrivals[].predicted_time_utc string yes
arrivals[].travel_time_s number yes
arrivals[].correction_s number | null no default null
arrivals[].has_pick boolean yes
arrivals[].pick_id integer | null no default null
arrivals[].residual_s number | null no default null
model string ∈ {nll_grid, taup_iasp91} yes

Example request

{
  "origin_ref": {
    "kind": "catalog",
    "event_id": 1001
  },
  "stations": [
    "XX.STA1"
  ],
  "phases": [
    "P",
    "S"
  ],
  "arrival_model": "nll_grid",
  "apply_station_corrections": false
}

Example payload

{
  "origin": {
    "origin_time_utc": "2024-06-15T08:12:03.417Z",
    "latitude_deg": 47.15,
    "longitude_deg": 24.5,
    "depth_km": 10.0
  },
  "arrivals": [
    {
      "station_id": "XX.STA1",
      "distance_km": 41.2,
      "azimuth_deg": 212.0,
      "back_azimuth_deg": 32.3,
      "phase": "P",
      "predicted_time_utc": "2024-06-15T08:12:10.727Z",
      "travel_time_s": 7.31,
      "correction_s": null,
      "has_pick": true,
      "pick_id": 20001,
      "residual_s": -0.12
    }
  ],
  "model": "nll_grid"
}

What this tool does not tell you

What this tool does not tell you: the truth. Predictions carry the velocity model's error; ± 0.3 s residuals are normal on a regional 1-D model. The pattern of residuals with azimuth and distance is the information, not their size.

Warnings named for this tool

Code When
no_travel_time_grid a requested station has no travel-time grid under nll_grid (skipped)