← Back to all sparks
S

skylight

ANALYTICS
Velocity0.0

R package skylight by bluegreen-labs — release notes from GitHub.

A frozen astronomical model quietly became the inner loop of its sibling's optimizer.

astronomyilluminancecpp-portscientific-computingr-package
Current state
skylight returns sun and moon illuminance, azimuth and altitude for a given date, time and location, implemented as a near-verbatim transcription of a 1987 US Naval Observatory circular. The model formulation has not changed since the initial 2022 release and the author states so explicitly. Everything shipped since has been packaging, citation and speed: v1.3 moved the main routine from R to C++, and v1.4 removed a parameter check that was flooding the console with messages.
Where it's heading
This is a reference implementation of a published algorithm rather than a product accumulating features, and it is being maintained that way. The movement that does occur is driven from downstream: the C++ port was written for the inverse-modelling loop in the sibling skytrackr package, which calls skylight repeatedly during optimization. That reframes skylight from a standalone calculator into the compute kernel another package's fitting routine depends on.
Prediction
With the model formulation deliberately fixed and the C++ path already in place, the next release is most likely another small maintenance fix. The entries give no indication of planned new capability.

Recent moves

  1. 9mo ago

    Noisy parameter check removed from console output

    A one-line maintenance fix removing a parameter check that spammed the command line in some cases. Consistent with a package whose model is settled and whose remaining work is rough-edge removal.

    View source ↗
  2. 10mo ago

    Core routine moves from R to C++ for repeated-call speed

    The most consequential release in the package's history despite changing nothing about the model. Rewriting the main routine in C++ speeds up smaller datasets without cost on larger ones, and the author names the reason directly: the inverse-modelling loop in the sibling skytrackr package, which needs this code to be cheap to call thousands of times.

    View source ↗
  3. 2y ago

    Citation updated after the companion paper published

    Housekeeping tied to the publication of the swift flight-profile paper the package supports, plus a UTF-8 encoding declaration needed for the citation's special characters. No functional change.

    View source ↗
  4. 3y ago

    Skylight v1.1

    The stable version number, but the release body repeats the beta's package description verbatim with no notes of its own, so nothing about what changed at 1.1 can be read from the feed.

    View source ↗
  5. 3y ago

    First release: sun and moon illuminance from the 1987 USNO circular

    The initial beta that established what the package is and has remained: a faithful port of Janiczek and DeYoung's published method. Every release since has left this formulation untouched.

    View source ↗