Skip to content

jackknife_location

Science

Leave-one-station-out relocation. The tool locates the full referenced phase set, then relocates again with each station's phases held out in turn, on the same grid × depth_mode menu as relocate. The spread of those trials is a sensitivity measure, not a confidence interval around the truth.

max_shift_km is the largest epicentral jump relative to the reference. most_influential_station is the station whose removal moved the epicentre farthest. A trial that does not converge or that times out is kept with converged: false and the envelope warns partial_result. Jackknife already skips a set with fewer than four stations; that is a station floor, distinct from relocate's four-phase floor.

A large shift when one station is removed means the location leans on that station (often a close-in P, or the only station closing a gap). It does not mean the catalogue origin is a given number of kilometres from the true hypocentre.

References

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 solution
Class 3
Tool version 1.1.0
Highest declared tier E
Timeout 90 s
Budget key jackknife_location
readOnlyHint true
idempotentHint false

Input

Field Type Required Notes
picks object yes The phase set a solution tool works on.
picks.base object (kind catalog | none | solution) yes discriminated on kind
picks.phase_set string ∈ {all, p_only} yes
picks.exclude_pick_ids array[integer] no
picks.add_picks array[object] no
picks.add_picks[].tool_call_id string yes
picks.add_picks[].pick_index integer yes
grid string ∈ {shallow, deep} no default "deep"
depth_mode string ∈ {free, fixed_5, fixed_10, fixed_15} no default "free"
hypothesis string | null no default null

Payload

Field Type Required Notes
reference object yes
reference.origin_time_utc string yes
reference.latitude_deg number yes
reference.longitude_deg number yes
reference.depth_km number yes
reference.depth_fixed boolean yes
reference.rms_s number | null yes
reference.gap_deg number | null yes
reference.num_phases integer yes
reference.num_stations integer yes
reference.min_distance_km number | null yes
reference.uncertainty object | null yes
reference.uncertainty.horizontal_km number | null yes
reference.uncertainty.min_horizontal_km number | null yes
reference.uncertainty.max_horizontal_km number | null yes
reference.uncertainty.azimuth_max_horizontal_deg number | null yes
reference.uncertainty.depth_km number | null yes
reference.uncertainty.ellipsoid object | null yes
reference.uncertainty.ellipsoid.len1_km number | null yes
reference.uncertainty.ellipsoid.az1_deg number | null yes
reference.uncertainty.ellipsoid.dip1_deg number | null yes
reference.uncertainty.ellipsoid.len2_km number | null yes
reference.uncertainty.ellipsoid.az2_deg number | null yes
reference.uncertainty.ellipsoid.dip2_deg number | null yes
reference.uncertainty.ellipsoid.len3_km number | null yes
reference.quality object yes
reference.quality.converged boolean yes
reference.quality.grid_boundary_hit boolean yes
reference.quality.grid string yes
reference.quality.grid_floor_km number yes
trials array[object] yes
trials[] object no
max_shift_km number | null yes
most_influential_station string | null yes
n_trials integer yes
n_failed integer yes
config object | null no default null
config.grid string yes
config.depth_mode string yes
config.phase_set string yes
config.template_digest string | null no default null

Example request

{
  "picks": {
    "base": {
      "kind": "catalog",
      "event_id": 1001
    },
    "phase_set": "all"
  },
  "grid": "deep",
  "depth_mode": "free"
}

Example payload

{
  "reference": {
    "origin_time_utc": "2024-06-15T08:12:03.410Z",
    "latitude_deg": 47.152,
    "longitude_deg": 24.497,
    "depth_km": 12.4,
    "depth_fixed": false,
    "rms_s": 0.24,
    "gap_deg": 108.0,
    "num_phases": 9,
    "num_stations": 6,
    "min_distance_km": 18.3,
    "uncertainty": null,
    "quality": {
      "converged": true,
      "grid_boundary_hit": false,
      "grid": "deep",
      "grid_floor_km": 250.0
    }
  },
  "trials": [
    {
      "station_removed": "XX.STA1",
      "n_phases": 8,
      "latitude_deg": 47.161,
      "longitude_deg": 24.51,
      "depth_km": 12.0,
      "rms_s": 0.27,
      "shift_km": 1.4,
      "depth_shift_km": -0.4,
      "converged": true
    }
  ],
  "max_shift_km": 6.2,
  "most_influential_station": "YY.STA3",
  "n_trials": 6,
  "n_failed": 0,
  "config": {
    "grid": "deep",
    "depth_mode": "free",
    "phase_set": "all",
    "template_digest": "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
  }
}

What this tool does not tell you

What this tool does not tell you: absolute accuracy. Spread measures sensitivity to individual stations, not distance from the truth.

Warnings named for this tool

Code When
partial_result an individual trial timed out (converged: false on that trial)