NeocpObject
NeocpObject Schema
Description: An unconfirmed NEO Confirmation Page object, backed by a stored
JPL Scout ephemeris rather than orbital elements (it has none yet).
One shared row per designation: many observations reference it via
``CatalogPosition`` and the alert listener refreshes the ephemeris
centrally, so a Scout refinement is one row-write, never a fan-out.
System-managed by the ``jpl_scout`` alert connector (upserted at
ingest) — deliberately no Create/Update API schemas. When the object
is designated it *graduates* to an ``MpcOrbit`` (Mode 2).
Design: docs/internal/design/alerts/neocp-recovery-alert/01-data-model.md.
Properties
| Name |
Type |
Description |
| id |
Integer |
No description |
| designation |
String(16) |
NEOCP temporary designation, e.g. 'P10vY9r'. Stays the natural key across re-listings (the alert event_group_key is salted with the listing epoch instead). |
| v_mag |
Float (Optional) |
Apparent V magnitude now |
| h_mag |
Float (Optional) |
Absolute magnitude H |
| rate_arcsec_per_min |
Float (Optional) |
Plane-of-sky motion rate now |
| pos_uncertainty_arcmin |
Float (Optional) |
1-sigma plane-of-sky positional uncertainty now (Scout sigma-pos) |
| neo_score |
Float (Optional) |
Scout neoScore (0-100): likelihood the object is a real NEO |
| rating |
Float (Optional) |
Scout rating |
| n_obs |
Integer (Optional) |
Astrometric observation count |
| arc_hours |
Float (Optional) |
Observed arc length (Scout reports 'arc' in hours) |
| provider |
String(32) |
No description |
| last_scout_run_on |
DateTime (Optional) |
Scout 'lastRun' of the current orbit computation |
| ephemeris_updated_on |
DateTime (Optional) |
No description |
| retired_on |
DateTime (Optional) |
Object left the NEOCP (designated or rejected). Cleared if it re-appears; the row itself is kept forever — observations reference it. |
| listed_on |
DateTime (Optional) |
When this listing epoch started (first seen, or re-listed after retirement). Salts the alert event_group_key so a re-listed object can fire subscriptions again (03 §3.2). |
| missed_poll_count |
Integer |
Consecutive successful Scout polls this object was absent from. A retraction is synthesized only at the configured threshold — the mass-retraction guard's memory, DB-backed so a listener restart can only delay a retraction, never fabricate one. |
| uid |
UUID |
No description |
| catalog_object_type |
Enum(major, planetary_satellite, mpc_comet, mpc_orbit, norad_satellite, neocp) |
No description |
Relationships