weewx-skyfield 1.16
Two things in this release: a concerted effort to compute everything
natively in Skyfield — after 1.16, everything astronomical the built-in
PyEphem almanac ever answered is computed natively, and what remains in
the fallback is bookkeeping and deprecated names — and a complete
Spanish translation (Beta, awaiting native-speaker review — corrections
and reviewers very welcome). Drop-in upgrade from any 1.x — install
over it, no config changes; nothing on the page changes. The one
caveat: a template that read ha or hlon through the PyEphem
fallback now gets decimal degrees, not radians — drop any
math.degrees() conversion.
What's new
-
Everything astronomical, natively. PyEphem is now needed for
nothing of substance. Added in 1.16:$almanac.<body>.ha— the local apparent hour angle, for every
body and named star ($almanac.rigel.ha). A plain float in
signed decimal degrees like the almanac's other coordinates: 0° at
transit, negative east of the meridian — the standard convention.
(PyEphem'shais radians, usually wrapped to 0–2π — hence the
caveat above.)$almanac.<body>.hour_angle— its unit-aware sibling: a
ValueHelper honoring the report's unit settings and formatting,
besideazimuth,altitudeandhlongitude.$almanac.<body>.hlon— PyEphem's own spelling ofhlong, in
decimal degrees, the XEphem sun-reports-Earth convention included.$almanac.moon.subsolar_lat— the selenographic latitude of the
point where the sun is overhead, the natural partner ofcolong
and computed from the same Meeus ch. 53 machinery. Like the
librations it is a radians float matching PyEphem's scale, and
carries the same answer in decimal degrees as
$almanac.moon.subsolar_lat.degrees.$almanac.moon.moon_phase— PyEphem's raw 0–1 illuminated
fraction (exactlyphase/100; the top-level$almanac.moon_phase
— the phase name — is unchanged).
What still falls through to PyEphem, deliberately:
a_epoch— the epoch stamp of PyEphem's astrometric coordinates;
data plumbing, not astronomy.rise_time,rise_az,transit_time,transit_alt,set_time,
set_az— PyEphem's own deprecated Body attributes;rise,
set,transitand friends are the supported, native vocabulary.
With PyEphem installed these still work through the fallback; without
it they are per-tag errors, never a broken report. -
Spanish ships (Beta).
lang/es.confis a complete translation:
the page prose, every panel string, the body names and all 88
constellation names, which follow the Spanish Wikipedia's
Anexo:Constelaciones
(the IAU standardizes only the Latin names). The moon phases and
compass points are as in WeeWX's own Spanish lang file, so a Spanish
station reads consistently across skins — west is O, the SSW compass
point SSO. One line turns it on:[StdReport] [[SkyfieldReport]] lang = esBeta until a native speaker has reviewed it — corrections are very
welcome as issues or pull requests. Tests keep the Spanish complete
the same way they keep the German, French and Dutch: new strings
cannot ship untranslated.And single-column, as a tablet or phone sees it:
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
(trying out corrections, say), 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).

