Skip to content

Release v1.16

Latest

Choose a tag to compare

@chaunceygardiner chaunceygardiner released this 31 Jul 18:31

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's ha is 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,
      beside azimuth, altitude and hlongitude.
    • $almanac.<body>.hlon — PyEphem's own spelling of hlong, 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 of colong
      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 (exactly phase/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, transit and 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.conf is 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 = es
    

    Beta 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.

    The Sky page in Spanish

    And single-column, as a tablet or phone sees it:

    The Sky page in Spanish, single column

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).