Skip to Content

Conjunction

POST/conjunction/screen

This is a design-stage screening filter, not an operational conjunction assessment service. Do not use its output to decide whether to execute an avoidance maneuver. Operational decisions require current, high-accuracy state estimates with maintained covariance from an authoritative source.

Its legitimate use is architectural: does this constellation geometry create conjunction pressure, and how does that change if the design changes? See accuracy and limitations.

Purpose

Propagates every object over a window, finds close approaches under a distance threshold, and reports time of closest approach and miss distance. With a hard-body radius supplied it also computes collision probability.

Request

ParameterTypeUnitDefaultRequiredDescription
constellation_idstringn/a—YesIdentifier of an existing constellation.
startstringRFC 3339 UTC2026-01-01T00:00:00ZNoScreening window start epoch.
duration_hoursnumberh72NoWindow length.
threshold_kmnumberkm10NoReport approaches closer than this.
step_secondsnumbers60NoCoarse scan step. Candidate approaches are refined.
catalogstringn/a—NoTLE catalog. Screens constellation against catalog instead of against itself.
hard_body_mnumberm—NoCombined hard-body radius. Enables Foster 2D collision probability.

Example

Screening a 60-satellite Walker shell against itself over 24 hours:

curl -s -X POST http://127.0.0.1:8080/conjunction/screen \ -H 'content-type: application/json' \ -d '{ "constellation_id": "demo", "duration_hours": 24.0, "threshold_km": 10.0 }'
{ "status": "ok", "object_count": 60, "catalog_count": 0, "event_count": 0, "events": [] }

Zero events is the expected result

For a well-phased Walker pattern, an empty events array is what should happen. Satellites within a plane are evenly spaced along track, and the phasing offset staggers adjacent planes so that plane crossings do not coincide with satellites arriving at the crossing point.

A non-zero intra-constellation count is a design finding, not an operations problem. It usually means the phasing factor is wrong for the plane count, and it is fixed by changing the design rather than by planning maneuvers.

catalog_count: 0 confirms this was an intra-constellation screen. Supplying catalog screens against external objects instead, and a non-zero count there means something entirely different.

Collision probability

Supplying hard_body_m enables a probability calculation on each event, using per-object position uncertainty in the radial, in-track, and cross-track directions. In-track uncertainty is conventionally the largest, because along-track error grows fastest under almost every error source.

The probability is only as meaningful as the covariance supplied. Default sigmas are placeholders, and substituting real covariance from an orbit determination solution changes the answer by orders of magnitude.

A probability computed from placeholder sigmas must never be quoted as a risk figure.

Step size and missed events

The coarse scan samples at step_seconds. Two objects in low Earth orbit can close at several kilometers per second, so a 60-second step advances the relative position by hundreds of kilometers. Candidates found by the coarse scan are refined to locate the true closest approach.

The practical consequence: a threshold much smaller than the distance traveled per step relies entirely on refinement. Verify convergence by halving the step and confirming the event list is unchanged.

See also

Question? Give us feedbackDocuments Varaha Constellation Designer main (pre-release)
Last updated on