diff --git a/README.md b/README.md index f2c378f..f1842fe 100644 --- a/README.md +++ b/README.md @@ -296,14 +296,22 @@ Replace the date list with whatever range you need. Each run produces one `*-fi python3 moon_detect.py BASE_DIR/east/2026-04-29/21-07-00.jpg --debug /tmp/dbg.png python3 moon_phase.py info 2026-04-29T21:07:00Z -# Smoke-test moon ephemeris + sunrise/sunset almanac against the last full moon +# End-to-end test: fetch NASA render + produce composite for the last full moon python3 test_last_full_moon.py +# Output: test_last_full_moon_out.jpg ``` -`test_last_full_moon.py` finds the most recent full moon, prints illumination, phase angle, -altitude/azimuth, and parallactic angle, then lists the sunrise and sunset for that day. -It exercises the full skyfield stack including the `sun_events_in_range()` almanac call — -useful after updating skyfield or changing observer config. +`test_last_full_moon.py` runs the same pipeline as `moon-phase-monthly.sh --phase full` but +skips the east-frame witness step, so it works any time without captured frames. It: + +1. Finds the most recent full moon (within 35 days) +2. Prints illumination, phase angle, alt/az, and parallactic angle +3. Lists sunrise/sunset for that day via `sun_events_in_range()` — regression check for the bare-topos fix +4. Fetches the NASA SVS Dial-a-Moon render for that hour (cached under `moon-ref/dialamoon/`) +5. Renders a 1920×1080 composite with the phase label, % lit, local time, and NASA attribution +6. Writes `test_last_full_moon_out.jpg` to the sky-cam directory + +Useful after updating skyfield, changing `LATITUDE`/`LONGITUDE`, or touching the compositing code. **Posting schedule**: