weewx-skyfield 1.18 is released.
weewx-skyfield has always supported the full Hipparcos star catalog: drop hip_main.dat into WeeWX's user directory and any of its 118,218 stars can be addressed by catalog number ($almanac.hip_57939). But the Sky page's dome only ever plotted the ~400 named stars, no matter what was installed — and bright-but-unnamed stars, like gamma Cassiopeiae in the middle of Cassiopeia's W, left holes in the constellations.
That changes in 1.18, thanks to an issue filed by Jacques Terrettaz. When the full catalog is installed, the dome now plots EVERY star down to a magnitude limit — automatically, nothing to configure. Two new report options set the cutoffs: star_mag_limit (how faint the dome plots, default 2.6) and star_label_mag (how faint the named stars are labeled, default 1.1). At star_mag_limit = 5.0 the dome draws roughly 800 stars, and the whole field is compute in one vectorized Skyfield call, so the page still renders in milliseconds. Without the full catalog, nothing changes: the dome draws the named stars exactly as before.
I liked Jacques's settings (star_mag_limit = 5.0, star_label_mag = 2.5) so much that PaloAltoWeather.com's sky maps now use them. The release notes below include a screenshot of that sky.
The release notes:
weewx-skyfield 1.18
The Sky page's dome becomes a full sky map: install the full Hipparcos
catalog and it plots every star down to a configurable magnitude
limit, not just the named stars — so the bright-but-unnamed stars, like
γ Cassiopeiae in the middle of Cassiopeia's W, no longer leave holes in
the constellations. The dome's magnitude cutoffs are now report
options, no more editing source. Drop-in upgrade from any 1.x —
install over it, no config changes; without a full catalog the dome
looks exactly as before. Thanks to Jacques Terrettaz for pointing out
the missing stars.
What's new
A true sky map with the full catalog. With hip_main.dat in
WeeWX's user directory — the same install that already enables
$almanac.hip_<number> tags (see
Serving every Hipparcos star)
— the dome plots every catalog star at least star_mag_limit
bright, automatically, nothing to configure. Labels stay on named
stars; an unnamed star's hover tooltip gives its Hipparcos number
("HIP 4427"). The whole field is computed in one vectorized
Skyfield observe, so the page stays cheap: a few milliseconds per
render once the catalog scan is cached. Without a full catalog the
dome draws from the 412 named stars, as it always has.
The solstice-night dome with the full catalog, star_mag_limit = 5.0
and star_label_mag = 2.5 — 781 stars:
![The sky dome with the full Hipparcos catalog, magnitude limit 5.0]()
The dome's magnitude cutoffs are now options. star_mag_limit
(default 2.6 — stars at least this bright are plotted) and
star_label_mag (default 1.1 — named stars at least this bright
are labeled) were constants in wxskyfield_sky.py, editable only by
patching the source. Set them in the report section (magnitudes run
backwards: 6.5 is the naked-eye limit, Sirius is −1.4):
[StdReport]
[[SkyfieldReport]]
star_mag_limit = 5.0
star_label_mag = 1.1
At star_mag_limit = 5.0 with the full catalog the dome draws
roughly 800 stars.
Misplaced options are called out. The [Skyfield] section of
weewx.conf has exactly two options, enable and stars; anything
else there — most plausibly a report option like star_mag_limit
landing next to stars = true — used to be silently ignored. The
service now logs a warning naming the unrecognized option and, for
the known report options, where they belong.
Known Skyfield Issues update — the README section and
manual page
now note that this extension's author has submitted
pull request #1140
upstream — the fix plus a regression test — for the rare, benign
RuntimeWarning from Skyfield's almanac.py line 339
(skyfield #1114).
Reports already render complete; no user action is needed.
Requirements
- Python 3.9 or later
- WeeWX 5.2 or later
- Skyfield (1.47 or later) and NumPy in WeeWX's Python environment (see the
README); PyEphem is NOT required
Installing/upgrading
Download weewx-skyfield.zip from this release, then:
weectl extension install weewx-skyfield.zip
Restart WeeWX. No weewx.conf changes are needed when upgrading from
1.x. Note that upgrading replaces the bundled skin (skins/Skyfield/,
including its lang/ files) — if you have edited an installed lang file,
save a copy or send the corrections upstream first; local additions such
as extra star names survive upgrades best as [[[Almanac]]] entries in
weewx.conf (see the manual).