Expand obs window to full dark+moon period; label with illumination%
moon_phase.py: add sun_altaz() to compute sun altitude for dark-sky check moon_phase_monthly.py: - Replace fixed 22:00-23:00 window with dynamic dark+moon intervals: sample every 10 min across ±24h of the phase moment, keep blocks where sun < DARK_SKY_SUN_ALT_DEG and moon > MIN_ALTITUDE — covers the full night the moon is actually visible in a dark sky regardless of month - First east frame with quality >= MIN_QUALITY in that window wins - Illumination% computed at the detection time and shown in the image caption and Mattermost message - Remove OBS_TIME_H/M; add DARK_SKY_SUN_ALT_DEG config var sky-cam.conf: replace MOON_OBS_TIME_LOCAL with MOON_DARK_SKY_SUN_ALT_DEG=-6 and explain the sun-altitude threshold options https://claude.ai/code/session_01HkTxpNSTWtViZzxbrbKytR
This commit is contained in:
+14
-12
@@ -491,19 +491,21 @@ MOON_TRACK_FPS=12 # output mp4 framerate
|
||||
MOON_TRACK_CRF=24 # output mp4 CRF
|
||||
MOON_TRACK_RETENTION_DAYS=90 # delete tracker mp4s older than this; 0 = forever
|
||||
|
||||
# Observation time ────────────────────────────────────────────────────────────
|
||||
# Local time that defines the observation window: MOON_OBS_TIME_LOCAL to
|
||||
# MOON_OBS_TIME_LOCAL+1h. East frames in this window are checked for a clear
|
||||
# moon detection (quality >= MOON_MIN_QUALITY). If any frame qualifies, the
|
||||
# NASA Dial-a-Moon image for MOON_OBS_TIME_LOCAL UTC is fetched and posted.
|
||||
# If no frame shows a clear moon, the month is skipped entirely.
|
||||
# Dark-sky observation window ─────────────────────────────────────────────────
|
||||
# The script searches ±24h around the exact phase moment for east frames where:
|
||||
# 1. The sun is below MOON_DARK_SKY_SUN_ALT_DEG (sky is dark)
|
||||
# 2. The moon is above MOON_MIN_ALTITUDE_DEG (moon is visible above trees)
|
||||
#
|
||||
# 22:00 aligns directly with NASA's hourly renders. Full moon and third
|
||||
# quarter both rise after dark and are visible at this hour. First quarter
|
||||
# is up only until ~midnight from a new-moon start, so it may not be visible
|
||||
# at 22:00 depending on the exact date — set MOON_FIRST_QUARTER_ENABLED=false
|
||||
# if first-quarter posts are consistently missed.
|
||||
MOON_OBS_TIME_LOCAL=22:00
|
||||
# Sun altitude thresholds:
|
||||
# -6 civil twilight — noticeably dark, bright stars visible (default)
|
||||
# -12 nautical — horizon barely visible
|
||||
# -18 astronomical — fully dark, no twilight glow
|
||||
#
|
||||
# The first east frame in that window with quality >= MOON_MIN_QUALITY is used.
|
||||
# Its exact timestamp drives the NASA Dial-a-Moon fetch (rounded to nearest hour)
|
||||
# and the parallactic angle rotation. The caption shows illumination% at that
|
||||
# moment. If no clear frame is found, the month is skipped entirely.
|
||||
MOON_DARK_SKY_SUN_ALT_DEG=-6
|
||||
|
||||
# Post delay ──────────────────────────────────────────────────────────────────
|
||||
# How many days after the exact phase to run the post. The post delay gives
|
||||
|
||||
Reference in New Issue
Block a user