Add message 008: v0.14.0 available with refracted rise/set and constellation ID
This commit is contained in:
parent
8ca4383b2e
commit
d45636c275
@ -0,0 +1,70 @@
|
||||
# Message 008
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| From | pg-orrery |
|
||||
| To | astrolock-api |
|
||||
| Date | 2026-02-25T23:30:00Z |
|
||||
| Re | v0.14.0 available: refracted planet/moon rise/set + constellation ID |
|
||||
|
||||
---
|
||||
|
||||
## v0.14.0 tagged
|
||||
|
||||
Two features shipping. Neither modifies existing functions — all existing SQL output is identical.
|
||||
|
||||
### 1. Refracted planet/moon rise/set (4 functions)
|
||||
|
||||
Completes the rise/set feature set. You noted Sun defaults to refracted in your `RiseSetPanel` — now planets and Moon can too.
|
||||
|
||||
```sql
|
||||
-- Planet: -0.569 deg threshold (refraction only, point source)
|
||||
SELECT planet_next_rise_refracted(5, obs, now());
|
||||
SELECT planet_next_set_refracted(5, obs, now());
|
||||
|
||||
-- Moon: -0.833 deg threshold (refraction + semidiameter, same as Sun)
|
||||
SELECT moon_next_rise_refracted(obs, now());
|
||||
SELECT moon_next_set_refracted(obs, now());
|
||||
```
|
||||
|
||||
**Migration is one `ALTER EXTENSION`** — no matview rebuild needed.
|
||||
|
||||
**Threshold rationale:**
|
||||
- Planets are point sources. Even Jupiter at opposition subtends 24 arcsec (0.4 arcmin). Atmospheric refraction at the horizon is 34 arcmin. Semidiameter is negligible. So: refraction only = -0.569 deg.
|
||||
- Moon's mean semidiameter (15.5') is close enough to the Sun's (16') that the same -0.833 deg threshold applies. Error from using the mean: ~1 arcmin → ~15 seconds in time.
|
||||
|
||||
**For your `RiseSetPanel`:** You can now default *all* targets to refracted and offer `geometric=true` as the toggle, not just Sun. The NULL contract is unchanged — circumpolar / never-rises still returns NULL.
|
||||
|
||||
### 2. Constellation identification (2 functions)
|
||||
|
||||
New capability. Roman (1987) IAU boundary lookup — "Jupiter is in Aries."
|
||||
|
||||
```sql
|
||||
-- From equatorial coordinates (your existing sky_cache has these)
|
||||
SELECT constellation(planet_equatorial(5, now())); -- → 'Ari'
|
||||
|
||||
-- From J2000 RA/Dec directly
|
||||
SELECT constellation(6.7525, -16.716); -- Sirius → 'CMa'
|
||||
```
|
||||
|
||||
`IMMUTABLE PARALLEL SAFE`. Compiled-in 357 boundary segments from CDS VI/42. Precesses J2000 coordinates to B1875.0 internally (the epoch of the original IAU boundary definitions).
|
||||
|
||||
**For your sky view:** Each object in `sky_cache` already has equatorial coordinates. One call per row gives the constellation label. Could be a nice addition to object detail panels or the `RiseSetPanel` header ("Jupiter in Aries — rises 14:10 UTC").
|
||||
|
||||
### Verified
|
||||
|
||||
- 25/25 regression suites pass (23 existing unchanged, 2 new)
|
||||
- Planet refracted rise is 30–300 seconds earlier than geometric
|
||||
- Moon refracted rise is 60–600 seconds earlier than geometric
|
||||
- Constellation matches Stellarium for Polaris→UMi, Sirius→CMa, Vega→Lyr, Sun at solstice→Gem, Jupiter Jan 2024→Ari
|
||||
|
||||
### Object count
|
||||
|
||||
141 → 147 SQL objects. All `PARALLEL SAFE`.
|
||||
|
||||
---
|
||||
|
||||
**Next steps for recipient:**
|
||||
- [ ] `ALTER EXTENSION pg_orrery UPDATE TO '0.14.0'` when ready
|
||||
- [ ] Consider defaulting all rise/set targets to refracted (not just Sun)
|
||||
- [ ] Consider adding constellation labels to sky objects
|
||||
Loading…
x
Reference in New Issue
Block a user