# ASTR 474 Reference and Provenance Log

## Provenance levels

- Level 1: fetched or extracted from an authoritative source during this session. None of the course datasets reached this level; the JPL API request returned HTTP 404 on 2026-09-25.
- Level 2: standard published/literature data or package-supplied constants not independently re-verified this session; human spot-check required before instructional use.
- Level 3: synthetic/instructor-generated numerical experiments, not observations.

## Dataset and constants records

- Level 2, `data/generated/jpl_earth_vectors.csv`: Earth center (target 399) relative to Sun center (500@10); requested epochs 2025-01-01 and 2025-01-02 00:00 TDB; J2000 reference system and ecliptic plane; state vectors, table 2; geometric correction `NONE`; position in AU and velocity in AU/day. The complete API parameters, encoded request URL, access-attempt date/result, and vector CSV SHA-256 are in `data/generated/jpl_earth_request.json`; the CSV digest is also in `data/generated/SHA256SUMS`. The endpoint returned HTTP 404, so the stored values are attributed to DE441 but were not freshly verified; no raw response is claimed. Sources: [JPL Horizons API](https://ssd-api.jpl.nasa.gov/api/horizons.api) and [API documentation](https://ssd-api.jpl.nasa.gov/doc/horizons.html). Human spot-check required.
- Level 2, Astropy constants: `GM_sun`, `M_sun`, `M_earth`, `GM_jup`, and `R_earth`, as supplied by pinned Astropy 8.0.1. Values were not independently re-verified this session. Source: [Astropy constants documentation](https://docs.astropy.org/en/stable/constants/).
- Level 3, `data/generated/computed_results.json`, `rebound_convergence.csv`, `nbody_conservation.csv`, `hydro_resolution.csv`, `hydro_profile_128.csv`, `monte_carlo_trials.csv`, and `radial_velocity_observations.csv`: deterministic or seeded teaching outputs generated by `src/astr474_computations.py`. The Sod tube uses dimensionless synthetic initial data; Monte Carlo base seed is 47409 (offset seeds are explicit in source); radial-velocity records are synthetic, not observed. Files and checksums are listed in `data/generated/SHA256SUMS`.

## Software and methods

- NumPy 2.5.3: array and random Generator APIs; https://numpy.org/doc/2.5/.
- SciPy 1.18.1: `solve_ivp`, `brentq`, and `least_squares`; https://docs.scipy.org/doc/scipy/.
- Astropy 8.0.1: units and constants; https://docs.astropy.org/en/stable/.
- REBOUND 5.2.0: WHFast and IAS15; https://rebound.hanno-rein.de/ and Rein & Liu (2012), A&A 537, A128, https://doi.org/10.1051/0004-6361/201118085.

Package versions were recorded from the configured CPython 3.14.6 environment on 2026-09-25. Documentation URLs are authoritative references but were not all independently fetched during the correction session. Exact dependency pins are in `requirements.txt`.
