adam_core.observations.obs80 module¶
Typed MPC 80-column optical observations.
The parser intentionally supports only self-contained optical astrometry rows. Radar, satellite, and roving-observer records require companion lines and are rejected rather than partially interpreted.
- exception adam_core.observations.obs80.Obs80ParseError[source]¶
Bases:
ValueErrorAn MPC 80-column record is malformed or unsupported.
- class adam_core.observations.obs80.OpticalObs80(table: Table, **kwargs: int | float | str)[source]¶
Bases:
TableSelf-contained optical observations parsed from MPC 80-column rows.
- raw_line¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- designation¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- discovery¶
A column for storing booleans.
- note1¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- note2¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- observatory_code¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- time¶
A column which represents an embedded quivr table.
- Parameters:
table_type – The type of the table to embed.
nullable – Whether the column can contain null values.
metadata – A dictionary of metadata to attach to the column.
- ra_deg¶
A column for storing 64-bit floating point numbers.
- dec_deg¶
A column for storing 64-bit floating point numbers.
- mag¶
A column for storing 64-bit floating point numbers.
- band¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- astrometric_catalog¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- reference¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- schema: ClassVar[pa.Schema] = raw_line: large_string not null designation: large_string not null discovery: bool not null note1: large_string note2: large_string observatory_code: large_string not null time: struct<days: int64, nanos: int64> child 0, days: int64 child 1, nanos: int64 ra_deg: double not null dec_deg: double not null mag: double band: large_string astrometric_catalog: large_string reference: large_string¶
- table: pa.Table¶
- class adam_core.observations.obs80.ScoutObservations(table: Table, **kwargs: int | float | str)[source]¶
Bases:
TableOne or more authoritative JPL Scout
file=mpcsnapshots.Snapshot metadata is repeated per observation so filtered/sliced tables retain their source hash, API signature, and ordering without side data.
declared_n_obsis Scout’s summary metadata; membership is exclusively defined bysnapshot_observation_countand the nested observations.- object_id¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- solution_date_utc¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- declared_n_obs¶
A column for storing 64-bit integers.
- snapshot_sha256¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- snapshot_observation_count¶
A column for storing 64-bit integers.
- signature_version¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- signature_source¶
A column for storing large strings (over 231 bytes long). Large string data is stored in variable-length chunks.
- observation_index¶
A column for storing 64-bit integers.
- observation¶
A column which represents an embedded quivr table.
- Parameters:
table_type – The type of the table to embed.
nullable – Whether the column can contain null values.
metadata – A dictionary of metadata to attach to the column.
- schema: ClassVar[pa.Schema] = object_id: large_string not null solution_date_utc: large_string declared_n_obs: int64 snapshot_sha256: large_string not null snapshot_observation_count: int64 not null signature_version: large_string signature_source: large_string observation_index: int64 not null observation: struct<raw_line: large_string, designation: large_string, discovery: bool, note1: large_string, note (... 215 chars omitted) child 0, raw_line: large_string child 1, designation: large_string child 2, discovery: bool child 3, note1: large_string child 4, note2: large_string child 5, observatory_code: large_string child 6, time: struct<days: int64, nanos: int64> child 0, days: int64 child 1, nanos: int64 child 7, ra_deg: double child 8, dec_deg: double child 9, mag: double child 10, band: large_string child 11, astrometric_catalog: large_string child 12, reference: large_string¶
- table: pa.Table¶
- adam_core.observations.obs80.parse_optical_obs80(raw: str) OpticalObs80[source]¶
Parse one self-contained optical MPC 80-column record.
- adam_core.observations.obs80.parse_optical_obs80_file(raw: str, *, strict: bool = True) OpticalObs80[source]¶
Parse every nonblank optical row in an MPC-format text file.
- Parameters:
raw – MPC-format file contents.
strict – Raise on the first malformed/unsupported row. If false, omit invalid rows. Scout snapshot ingestion uses the strict default so it can never expose a partial fitted observation set.