From d8bf01f86fc2089f335b3bc36524699fd7cbd598 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 2 May 2026 12:52:21 +0000 Subject: [PATCH] docs: update test_last_full_moon.py entry to match full image pipeline Describes all six steps the script now performs: full moon lookup, moon stats, sun events regression check, NASA fetch, composite render, and output path. https://claude.ai/code/session_01JieSeNQZ3X6fhsb11YyJrK --- README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) 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**: