About Sphaera

Sphaera v4.x is a positional-astronomy application: it computes the full chain ICRF → GCRS → ITRS → topocentric (azimuth/altitude, right ascension/declination, ecliptic coordinates) from JPL/NAIF SPICE ephemerides and IAU time scales, and renders it through several interactive pages (Visible Sky, Star Atlas, Ephemeris, Time, Observer, Charts).

__________________
author:
Nicola Scarpel
nicola.scarpel@sphaeramundi.org
Rete di Eratostene
__________________

Sphaera 3.x was written in Python on top of the Skyfield library; version 4.x is a ground-up reimplementation in Julia with its own astronomy engine and a web interface.

Languages & stack

LayerTechnology
Computation engineJulia (astronomy library + dynamics)
Web server / APIJulia — HTTP.jl + JSON3.jl (JSON over HTTP)
FrontendJavaScript (vanilla, no framework), HTML5, CSS
GraphicsHand-drawn SVG (sky maps, charts, planetary disks & rings)

Three-layer architecture: sky.jl (engine, loaded once) → web/report.jl (computation reports) → web/server.jl (routing + JSON). All rendering happens client-side; the server sends numbers, not images.

Julia packages

Data

Frontend & external services

Astronomical models

Minor bodies (asteroids & comets)

Asteroids and comets are resolved on demand from JPL's Small-Body Database (SBDB): type a name, IAU number or designation — Eros, 433, Halley, C/1987 T1 — and when the name matches several objects (e.g. Levy) a list of choices appears. The position is computed by two-body Keplerian propagation of the osculating orbital elements (ecliptic J2000), through the same light-time and aberration chain as the planets — validated against JPL Horizons to sub-arcsecond. Brightness uses the H–G system for asteroids and the M1/K1 model for comets (best-effort, unreliable far from the Sun). A reliability flag reflects how far the requested date is from the epoch of the orbital elements. Minor bodies work on every page — Ephemeris, Visible Sky, Star Atlas, Tracks and Charts.

Validated against Skyfield, JPL Horizons and Sphaera (the author's earlier program).

Preset links (URL parameters)

Any page can carry its state in the address bar, so a link opens straight into a chosen configuration for whoever clicks it. The full reference of keys and aliases (core, time, sundials, 3D views, fullscreen) lives on a dedicated page:

→ Preset links (URL parameters) — full reference