Draft for review. This page describes the current AIMS handling of Minor Planet Center observations, identity data, and AIMS/MPC cross-matching.
Source summary
The Minor Planet Center (MPC) is the international clearinghouse for small-body astrometry and object designations. The Small Bodies Node (SBN) provides database replication services for the MPC database, and the Asteroid Institute maintains a BigQuery MPC Database Replica made available through Google Cloud Analytics Hub.
The MPC BigQuery dataset documentation describes the main replica as a complete, real-time replica of the MPC database’s core tables. At the time that documentation was written, the primary observations table, public_obs_sbn, contained more than 479 million observations.
MPC source tables relevant to AIMS
AIMS detection provenance depends primarily on the MPC observation table and the MPC identification tables used to resolve the current object associated with each MPC observation.
| MPC replica table | AIMS relevance |
|---|---|
public_obs_sbn | Primary observation source. AIMS uses MPC observation id, station code, observation time, RA/Dec, magnitude, filter/band, exposure, RMS uncertainties, HEALPix, and status. |
public_primary_objects | Canonical primary-object anchor used to resolve current MPC object identity. |
public_current_identifications | Current primary/secondary provisional-designation relationships used to resolve aliases and linked designations. |
public_numbered_identifications | Permanent-number identifiers and their links back to primary provisional designations. |
public_mpc_orbits / orbit-related views | Orbit context is available in the replica, but AIMS/MPC detection matching is based on observation time, station, and astrometry rather than orbit propagation. |
How AIMS uses MPC data
AIMS uses MPC data in three related ways:
- MPC observations as reference observations. MPC observation rows are transformed into the same normalized AIMS observation shape used by survey detections. This lets AIMS compare survey detections and MPC observations with the same time, station, astrometry, photometry, and uncertainty vocabulary.
- AIMS/MPC attribution. Non-MPC AIMS detections are cross-matched to MPC observation rows. This tells consumers whether an AIMS detection appears to be the same reported observation as an MPC record and, through the matched MPC observation, which current MPC object identity is associated with it.
- ITF Linking. Unattributed observations in the MPC dataset can be potential candidates for object linking via ADAM::Precovery and ADAM::THOR.
AIMS keeps observation matching separate from object identity. A source detection row is not itself an object claim. The match answers “does this detection correspond to an MPC observation?” Current designation and object labels are resolved from MPC identity data after the observation match.
AIMS-derived and normalized MPC values
| AIMS field | MPC source or derivation |
|---|---|
observation_id | MPC public_obs_sbn.id converted to string. |
exposure_id | MPC public_obs_sbn.id converted to string. MPC observations are point observations for AIMS purposes, not native image-frame records. |
dataset_id | Constant mpc. |
observatory_code | MPC station code, public_obs_sbn.stn. |
| Observation time | MPC public_obs_sbn.obstime converted to UTC MJD/timestamp fields. For MPC point observations, AIMS treats the exposure midpoint as the observation time. |
exposure_duration_s | MPC public_obs_sbn.exp when present and parseable. |
ra_deg, dec_deg | MPC public_obs_sbn.ra, public_obs_sbn.dec in degrees. |
ra_sigma_deg, dec_sigma_deg | MPC public_obs_sbn.rmsra, public_obs_sbn.rmsdec converted from arcseconds to degrees when present. |
mag, mag_sigma | MPC public_obs_sbn.mag and public_obs_sbn.rmsmag when present. |
filter | MPC band/filter value, depending on source-table version. |
healpixel | MPC healpix at nside=32768 NESTED downsampled to AIMS nside=128 NESTED. |
MPC provid, permid, and status are preserved for identity interpretation rather than being used as the primary astrometric cross-match criteria.
Relationship to MPC near-duplicate checks
The MPC does not publish every internal ingest rule used to adjudicate duplicates, but its public Check Near-Duplicates (CND) API documents the public service MPC provides for this purpose. The CND service identifies published MPC observations with similar temporal and angular positions to submitted observations, and the January 2026 MPC newsletter describes near-duplicates as observations close in time or sky position that are often resubmissions or remeasurements.
The public CND API exposes two thresholds:
time_separation_s: temporal threshold, 0—60 seconds, default 60 seconds;angle_separation_arcsec: angular-radius threshold, 0—10 arcseconds, default 5 arcseconds.
AIMS uses the same kind of observation-level evidence: station, time, and angular position. It is not an exact implementation of the public CND service. In particular, AIMS uses a stricter 2 arcsecond final angular-radius threshold for high-confidence provenance matching, while using a wider 120 second time threshold for known timing-convention and timing-error cases described below.
AIMS/MPC cross-matching criteria
AIMS/MPC cross-matching is an observation-level equivalence test. It is designed to identify when an AIMS survey detection and an MPC observation are likely the same reported observation, not merely observations of the same asteroid.
AIMS first limits the candidate set to non-MPC AIMS detections and MPC observations with usable station, time, RA, and Dec values. It then applies these criteria:
| Criterion | Requirement |
|---|---|
| Dataset scope | The AIMS-side row must come from a non-MPC dataset. MPC observations are not self-matched. |
| Observatory | The AIMS detection and MPC observation must have the same MPC observatory code. |
| Time | Absolute time difference must be <= 120 seconds. This is intentionally wider than the public MPC CND default; see rationale below. |
| Spatial prefilter | Absolute Dec difference must be <= 2 arcsec, and RA difference multiplied by cos(mean Dec) must be <= 2 arcsec. |
| Final separation | Great-circle angular separation must be <= 2 arcsec. This is the accepted spatial match, using the same angular-radius style as MPC near-duplicate checks but a stricter radius. |
| Tie break | If multiple MPC observations satisfy the criteria for one AIMS detection, AIMS keeps the closest angular match, then the smallest absolute time delta, then the lowest MPC observation id. |
The match record keeps residuals needed for review: angular separation, signed and absolute time delta, RA residual, Dec residual, and the AIMS/MPC positions and times used for the comparison.
Implementation note: AIMS uses date partitions, 120-second time bins, and 2-arcsecond declination/coordinate buckets to keep the BigQuery search bounded. Those coordinate filters are a bounding box around the final 2-arcsecond angular-radius test; the final accepted match still has to satisfy the great-circle separation and time thresholds above.
Cross-match rationale
The AIMS/MPC match is intentionally conservative in angle and permissive enough in time to recover known same-observation cases:
- Same observatory code prevents a detection at one station from being treated as the same observation as a near-simultaneous report from another station. MPC’s
obs_sbnschema notes exact duplicate rows can occur with the same observation record and station code. - A 2-arcsecond spatial threshold is stricter than the public MPC CND default angular radius of 5 arcseconds but uses the same angular-radius concept. AIMS chooses the smaller radius to reduce false matches when exposing provenance and precovery interpretation.
- A 120-second time window is wider than MPC’s public CND range because AIMS is reconciling already-ingested survey detections with MPC records, including known timing-convention and timing-error cases. MPC reporting guidance says untrailed detections should be reported at mid-exposure and warns that incorrect observation times are a common, difficult-to-correct error. AIMS computes the expected survey exposure midpoint when the needed metadata are available; for example, AIMS ZTF ingest can compute the midpoint from alert start time and exposure duration. The wider window is for independently submitted MPC observations, including survey-associated submissions outside the AIMS candidate-ingest path, that may have used exposure start or another incorrect time. A start-vs-midpoint convention mismatch alone can produce a tens-of-seconds offset, and incorrect submitted times can be larger.
- Astrometry/time first, identity second avoids using mutable MPC designations to decide whether two observation rows are the same. Designations can change after linking or correction; the observation match should remain a reproducible geometric/time fact.
- Deterministic tie-breaking makes repeated runs stable even when dense fields or duplicate-like MPC rows produce more than one candidate within threshold.
Attribution interpretation
AIMS/MPC attribution answers questions such as:
- Does this AIMS detection match an MPC observation under the observation-level criteria above?
- Which current canonical MPC object is associated with the matched MPC observation?
- Is a precovery candidate already known, newly useful, or potentially conflicting with an existing assignment?
Consumers should interpret an attribution as a match fact with residuals and method version, not as a source-publisher claim that the survey detection was submitted to the MPC. Current object labels should be resolved from MPC identity data at read time because MPC identities and designations can change.
Known limitations and interpretation notes
- AIMS/MPC matching is not an orbit-linking or object-classification algorithm. It only links observations that are close in station, time, and sky position.
- The match is tie-broken per AIMS detection. It should not be read as a global proof that each MPC observation has only one possible AIMS counterpart.
- If an MPC observation is corrected, deleted, redesignated, or unassociated, AIMS match and identity interpretation may change after the downstream refresh.
- MPC observation ids cross a type boundary in AIMS: normalized observation rows use string ids in the shared AIMS observation shape, while MPC identity and matching logic use integer MPC observation ids.
- AIMS precovery workflows should not count an AIMS detection as a new precovery if it is already in the MPC dataset for the same object, unless product-specific rules identify it as assigned to another object or still in a provisional/ITF state.