Skip to content

03 · Orrery — Data Catalog

April 2026 · v1.0 · Part of the Orrery Concept Package (00 through 05)


Purpose

This document catalogs every data source, constant, schema, and API that Orrery uses. It is the primary reference for anyone adding a mission, correcting a number, or building on the codebase. Every value in the product traces back to something in this document.


1. Orbital mechanics

1.1 Physical constants

ConstantValueSource
Gravitational parameter (Sun) μ4π² AU³/yr²Keplerian simplification; GM☉ = 1.327×10²⁰ m³/s²
AU to km149,597,870.7 kmIAU 2012
AU to light-minutes8.3167 minDerived from c = 299,792.458 km/s
AU/yr to km/s4.7404 km/sDerived
Earth radius6,371 kmIAU
Moon radius1,737.4 kmIAU
Earth–Moon mean distance384,400 kmIAU
Earth–Sun mean distance1.000 AU (definition)IAU

1.2 Epoch

All orbital elements use the J2000.0 epoch (January 1.5, 2000, 12:00 TT = JD 2451545.0). Day offsets from J2000 are used throughout the mission trajectory computation.

1.3 Planetary orbital elements

Mean orbital radii and angular velocity used in Orrery's Keplerian model. These are mean values — Orrery does not model orbital eccentricity for planets in the explorer view, trading precision for visual clarity and performance. The mission configurator uses a Lambert solver for trajectory accuracy.

PlanetSemi-major axisPeriodMean angular velocityJ2000 mean longitude L₀Inclination to ecliptic
Mercury0.387 AU87.97 d2π / 87.97 dVaries7.00°
Venus0.723 AU224.70 d2π / 224.70 dVaries3.39°
Earth1.000 AU365.25 d2π / 365.25 d1.753 rad0.00° (reference)
Mars1.524 AU686.97 d2π / 686.97 d6.203 rad1.85°
Jupiter5.203 AU4332.59 d2π / 4332.59 d1.30°
Saturn9.537 AU10759.22 d2π / 10759.22 d2.49°
Uranus19.19 AU30688.50 d2π / 30688.50 d0.77°
Neptune30.07 AU60182.00 d2π / 60182.00 d1.77°

Source: JPL Planetary Fact Sheets — https://nssdc.gsfc.nasa.gov/planetary/factsheet/

1.4 Mission orbital position computation

For the porkchop plot and mission arc, planetary positions are computed using:

angle(t) = L₀ + ω × t
x = r × cos(angle)
y = r × sin(angle) × cos(inclination)
z = r × sin(angle) × sin(inclination)

Where t is days from J2000, ω is angular velocity in rad/day, and r is the mean orbital radius in AU.

1.5 Lambert solver

The porkchop plot is computed using a bisection-based Lambert solver:

  • Method: Lagrange-Gauss short-way formulation
  • Iterations: 52 per cell (convergence to ≤10⁻⁸ tolerance)
  • Grid: 140 × 80 = 11,200 trajectory solutions computed at startup
  • X axis: Departure date (days from reference)
  • Y axis: Time of flight (days)
  • Z / colour: C3 launch energy (km²/s²), rendered as delta-v approximation
  • Reference: Bate, Mueller & White, Fundamentals of Astrodynamics (1971), Chapter 5

1.6 Transfer orbit — Hohmann approximation

For the mission arc fly screen, spacecraft position is interpolated along a quadratic Bézier curve between Earth's departure position and Mars's arrival position. This is a visual approximation of the true Keplerian transfer ellipse, used for rendering only. Telemetry (velocity, distance) is computed from the vis-viva equation applied to the actual transfer orbit elements.

Vis-viva: v = √(μ × (2/r − 1/a))

Where:

  • μ = 4π² AU³/yr² (solar gravitational parameter)
  • r = current heliocentric distance (AU)
  • a = semi-major axis of transfer orbit = (R_Earth + R_Mars) / 2 = 1.262 AU

1.7 Visual scale — solar system explorer

Planets are not shown at true scale — they would be invisible. The visual orbital radii used in the 2D and 3D explorer are:

BodyTrue semi-major axisVisual orbital radius (px)Scale factor
Mercury0.387 AU52 px
Venus0.723 AU83 px
Earth1.000 AU113 pxReference
Mars1.524 AU155 px
Asteroid belt2.2–3.2 AU192–237 px
Jupiter5.203 AU248 px
Saturn9.537 AU320 px
Uranus19.19 AU378 px
Neptune30.07 AU430 px
Kuiper Belt30–50 AU438–470 px

The scale is manually compressed (not a pure power law) to keep all planets visible on a single screen while preserving relative ordering. The auToPx() function in P01 implements a linear interpolation between these anchor points.

1.8 Visual scale — Earth orbit viewer

The Earth orbit viewer uses a logarithmic scale to accommodate the ISS-to-JWST range of 3,750×:

visual_r = EARTH_VIS_R + LOG_K × log₁₀(1 + alt_km / 100)

Where EARTH_VIS_R = 38 px (visual Earth radius) and LOG_K = 54 px (scale factor per decade of altitude). This maps ISS (408 km) to ~70 px and JWST (1,500,000 km) to ~244 px.


2. Mission data schema

Every mission in Orrery is defined by a JavaScript object conforming to this schema. This schema covers both Mars and Moon missions.

2.1 Required fields

FieldTypeDescription
idstringUnique identifier, kebab-case. e.g. "curiosity", "apollo11m"
namestringDisplay name. e.g. "Curiosity", "Apollo 11"
agencystringPrimary agency key. Must match LOGOS dict. e.g. "NASA", "CNSA"
agency_fullstringFull display name. e.g. "NASA / JPL"
sectorstring"gov", "private", or "mine"
deststring"MARS" or "MOON"
colorstringHex colour for agency. e.g. "#0B3D91"
yearnumber or stringLaunch year. Use string for ranges: "2026–28"
typestringMission type description. e.g. "ROVER · ACTIVE"
statusstring"FLOWN", "ACTIVE", "PLANNED", or "MINE"
depstringDeparture date, human-readable. e.g. "Nov 26, 2011"
arrstringArrival date, human-readable. e.g. "Aug 6, 2012"
tofnumber or nullTransit time in days. null for TBD planned missions
vehiclestringLaunch vehicle name
descriptionstringEditorial description, 2–4 sentences, Crimson Pro italic in UI
data_qualitystring"good", "partial", "reconstructed", or "planned"
creditstringFull image/data credit line
linksarrayArray of {l, u, t} educational link objects (see 2.3)
missionablebooleantrue only for Mars — shows "Plan a mission" CTA

2.2 Optional fields

FieldTypeDescription
j2000number or nullDays from J2000 epoch at departure. Used for trajectory preview drawing. null for Moon missions and TBD planned missions
collabsarrayArray of collaborating agency keys. e.g. ["ESA", "CNES"]
firststringThe mission's "first" — shown as a coloured badge in the card
payloadstringPayload mass description. e.g. "899 kg"
dvstringDelta-v figure. e.g. "~6.1 km/s"
data_notestringExplanation for non-"good" data quality. Shown as a left-border note in the panel
gallery_querystringSearch query string for NASA Images API. NASA missions only
gallery_imgsarrayArray of direct image URLs. For non-NASA missions. See section 4
javascript
{ l: "Link label", u: "https://...", t: "intro" }

t (tier) must be one of:

  • "intro" — Wikipedia, NASA fact pages, agency overview pages
  • "core" — MIT OCW, detailed technical pages, mission science overviews
  • "deep" — Peer-reviewed papers, JPL technical reports, primary sources

3. Data quality system

Every mission carries a data_quality field that is displayed honestly in the UI.

ValueBadgeMeaning
"good"(none)Primary sources available. Orbital elements from published data. Images from official agency archives
"partial"⚠ PARTIAL DATASome data gaps. Orbital elements good; imagery sparse or selectively released. Must be explained in data_note
"reconstructed"◈ RECONSTRUCTEDOrbital elements computed from published launch parameters. No primary science data available. Surface imagery absent or unusable. Must be explained in data_note
"planned"◌ PLANNEDMission not yet flown. Parameters from published mission design documents

Known reconstructed missions

MissionWhat is reconstructedSource used
Mars 3Orbital elements computed from Proton-K launch date and published trajectory parametersSiddiqi, Beyond Earth (NASA SP-4251, 2018)
Soviet Luna missions (pre-1970)Partial orbital elementsSiddiqi, op. cit.

Known partial-data missions

MissionWhat is partialNote
MangalyaanImagery selectively released; telemetry reconstructedMission lost contact April 2022
Tianwen-1 / ZhurongSelected data via CNSA official channels onlyZhurong status uncertain as of 2023

4. Image sources

4.1 NASA Image and Video Library

API: https://images-api.nasa.gov/search

Parameters:

q=[search query]
media_type=image
page_size=9

License: U.S. Government works — not subject to copyright in the United States. Free for educational use. Must credit NASA and the relevant centre (JPL, GSFC, JSC, etc.).

Credit format: © NASA/JPL-Caltech — U.S. Government work · Public domain

Used for: All NASA mission gallery panels. Query strings are defined per mission in gallery_query field.

Rate limiting: No authentication required for basic search. No formal rate limit documented; use conservatively.

4.2 ESA Multimedia Archive

URL: https://www.esa.int/ESA_Multimedia/

License: CC BY-SA 3.0 IGO. May be used freely with attribution and share-alike. The IGO (Intergovernmental Organisation) variant is specifically designed for use by Wikipedia and similar projects.

Credit format: © ESA — CC BY-SA 3.0 IGO — esa.int

Mars Express images: 1,430+ images available. HRSC stereo camera images released under CC BY-SA IGO.

Used for: Mars Express gallery. ESA mission panels.

Reference: https://www.esa.int/About_Us/Digital_Agenda/Open_Access_and_Creative_Commons

4.3 ISRO

URL: https://www.isro.gov.in

License: Available for educational and informational use. No explicit CC license. Do not use for commercial purposes.

Credit format: © ISRO — Educational use — isro.gov.in

Mangalyaan (MOM) images: Mars Colour Camera (MCC) images released publicly. Mars Atlas (2015, 120 pages) available as PDF.

Chandrayaan-3: Post-landing images released publicly.

Used for: Mangalyaan and Chandrayaan gallery panels.

4.4 CNSA

URL: https://www.cnsa.gov.cn

License: Official releases. No explicit CC license. Use with attribution for educational context.

Credit format: © CNSA/CLEP — Official release — cnsa.gov.cn

Tianwen-1 / Zhurong: Selected images released through CNSA and CLEP (China Lunar Exploration Program). Some available via Wikimedia Commons.

Chang'e missions: Official surface imagery released post-landing.

Used for: CNSA mission gallery panels.

4.5 Wikimedia Commons — curated static images

For missions where a live API fetch is not available, gallery images are served from Wikimedia Commons via direct URL. These are stable thumbnail URLs following the pattern:

https://upload.wikimedia.org/wikipedia/commons/thumb/[a]/[ab]/[filename]/[width]px-[filename]

All Wikimedia Commons images carry their own license per file. Before adding an image, verify:

  1. The image page license tag (must be compatible with educational use)
  2. The original source (prefer agency-released over third-party photographs)
  3. The attribution requirements

Research task (03 phase): Curate and verify 3–5 Wikimedia Commons URLs per non-NASA mission for the gallery panels. Document source, license, and attribution per image.

4.6 Soviet/Russian archive — special case

Soviet-era imagery (Luna programme, Lunokhod) is patchy. Known accessible sources:

SourceContentNotes
Roscosmos press archiveModern releases onlyLimited Soviet-era content
TASS photo archiveHistorical mission team photosMay require licensing for some uses
Wikimedia Commons — Soviet spaceCommunity-uploaded, varies by fileCheck each image individually
Siddiqi, Beyond Earth (NASA SP-4251)Comprehensive mission referencePublic domain NASA publication

Strategy for sparse missions: For missions where no usable imagery exists (e.g. Mars 3 surface transmission), the gallery panel shows an honest placeholder with a link to the best available secondary source, and the data_quality badge accurately reflects this.


5. Agency logos

All agency logos are used under nominative use — for identification and attribution purposes only, in a non-commercial educational context. Orrery does not claim endorsement by any agency.

AgencyWikimedia Commons URLBackground colourLicense status
NASAhttps://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/NASA_logo.svg/200px-NASA_logo.svg.png#0B3D91Trademark — nominative use
ESAhttps://upload.wikimedia.org/wikipedia/commons/thumb/7/76/ESA_logo_simple.svg/200px-ESA_logo_simple.svg.png#1C3C8ACC BY-SA 3.0 IGO
CNSAhttps://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/CNSA_logo.svg/200px-CNSA_logo.svg.png#DE2910Trademark — nominative use
ISROhttps://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Indian_Space_Research_Organisation_Logo.svg/200px-Indian_Space_Research_Organisation_Logo.svg.png#1a1a2eTrademark — nominative use
Roscosmoshttps://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/Roscosmos_logo_en.svg/200px-Roscosmos_logo_en.svg.png#0d0d1aTrademark — nominative use
UAE/MBRSChttps://upload.wikimedia.org/wikipedia/en/thumb/e/e0/Mohammed_Bin_Rashid_Space_Centre_Logo.png/200px-Mohammed_Bin_Rashid_Space_Centre_Logo.png#ffffffTrademark — nominative use
JAXAhttps://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/JAXA_logo_2020.svg/200px-JAXA_logo_2020.svg.png#0062ACTrademark — nominative use
SpaceXhttps://upload.wikimedia.org/wikipedia/commons/thumb/d/de/SpaceX-Logo.svg/200px-SpaceX-Logo.svg.png#000000Trademark — nominative use

Implementation: The logoHTML() function renders the real logo image on top of an always-visible text abbreviation fallback. If the image fails to load (offline use, URL change), the fallback renders correctly. In production, logos should be hosted locally from official media kits.

Trademark notices: Every panel footer includes: "Logos are trademarks of their respective agencies · used for educational identification only."


6. Orbital data for small solar system bodies

6.1 Asteroid belt notable objects

BodySemi-major axisPeriodInclinationSource
Ceres2.769 AU4.61 yr10.59°JPL Small-Body Database
Vesta2.361 AU3.63 yr7.14°JPL Small-Body Database

JPL Small-Body Database: https://ssd.jpl.nasa.gov/sbdb.cgi

6.2 Kuiper Belt objects

BodySemi-major axisPeriodInclinationNote
Pluto39.48 AU248.0 yr17.14°IAU dwarf planet
Eris67.86 AU (mean)559 yr44.04°Scattered disc object
Makemake45.79 AU309.9 yr28.96°Classical KBO
Haumea43.13 AU284.1 yr28.19°Classical KBO

6.3 Notable comets

BodyPerihelion qAphelion QPeriodInclinationNote
Halley's Comet0.586 AU35.1 AU75.3 yr162.3°Retrograde orbit
67P/C-G1.21 AU5.68 AU6.44 yr7.04°Rosetta mission target
ʻOumuamua0.255 AU122.7°Hyperbolic — interstellar

Source: JPL Horizons — https://ssd.jpl.nasa.gov/horizons/


7. Earth orbit data

7.1 Orbital objects in P05

All data from publicly available sources. Altitudes are mean values; actual orbits vary.

ObjectRegimeAltitudePeriodInclinationAgencySource
ISSLEO408 km92.9 min51.6°Multi-agencyNASA
TiangongLEO389 km91.5 min41.5°CNSACNSA
HubbleLEO547 km95.4 min28.5°NASA/ESANASA
GPS constellationMEO20,200 km717.9 min55.0°USAFGPS.gov
Galileo constellationMEO23,222 km844.8 min56.0°EU/ESAESA
GLONASSMEO19,100 km675.7 min64.8°RoscosmosRoscosmos
BeiDou (MEO)MEO21,528 km760 min55.0°CNSACNSA
GOES (GEO)GEO35,786 km1436 min0.0°NOAA/NASANOAA
ChandraHEO9,942–133,000 km3808 min76.7°NASACXC
XMM-NewtonHEO7,365–113,946 km3168 min40.0°ESAESA
LROLunar orbit50 km (Moon)118 min90.0°NASANASA
JWSTL21,500,000 kmNASA/ESA/CSANASA
GaiaL21,500,000 kmESAESA

8. Mission trajectory data for the library panel

For the 2D trajectory preview in the mission library, trajectories are drawn using each mission's J2000 departure day and transit time. Planetary positions are computed at departure and arrival using the formulas in section 1.4.

Moon missions use a separate Earth-Moon diagram (not solar-system scale). The dest field controls which renderer is used.

8.1 Mars mission J2000 day offsets

MissionJ2000 departureComputed from
Mariner 4−12,820Nov 28, 1964
Mars 3−10,445May 28, 1971
Viking 1−8,899Aug 20, 1975
Mars Pathfinder−1,123Dec 4, 1996
Mars Express1,248Jun 2, 2003
Curiosity4,347Nov 26, 2011
MAVEN4,969Nov 18, 2013
Mangalyaan4,962Nov 5, 2013
InSight6,699May 5, 2018
Hope Probe7,500Jul 19, 2020
Tianwen-17,508Jul 23, 2020
Perseverance7,511Jul 30, 2020

Orrery uses a three-tier educational link system, colour-coded consistently across all screens:

TierColourPurposeExamples
INTROTeal #4ecdc4Wikipedia, NASA fact pages, agency mission pagesWikipedia articles, nasa.gov/mission/
COREBlue #7b9cffTechnical explainers, MIT OCW, deeper mission scienceMIT OpenCourseWare, JPL education pages
DEEPRed #ff9090Peer-reviewed papers, JPL technical reports, primary sourcesScience, Nature, AJ, NTRS
LinkTierURL
Hohmann transfer orbitINTROhttps://en.wikipedia.org/wiki/Hohmann_transfer_orbit
Tsiolkovsky rocket equationINTROhttps://en.wikipedia.org/wiki/Tsiolkovsky_rocket_equation
Porkchop plotCOREhttps://en.wikipedia.org/wiki/Porkchop_plot
JPL launch windows lessonCOREhttps://www.jpl.nasa.gov/edu/resources/lesson-plan/lets-go-to-mars-calculating-launch-windows/
NASA Glenn rocket equationCOREhttps://www1.grc.nasa.gov/beginners-guide-to-aeronautics/ideal-rocket-equation/
Lagrange pointCOREhttps://en.wikipedia.org/wiki/Lagrange_point
Lunar water ice (Science 2018)DEEPhttps://www.science.org/doi/10.1126/science.aap8637
Batygin & Brown — Planet Nine (AJ 2016)DEEPhttps://iopscience.iop.org/article/10.3847/0004-6256/151/2/22

10. One-off research plan for sparse missions

The following missions require dedicated research sessions to fill gaps before 02 (formal project concept) is finalised. Each session produces: curated image URLs, verified orbital data, and updated data_note text.

MissionGapResearch approachPriority
Mars 3No usable surface imagery; team photos onlyWikimedia Commons excavation; TASS historical archive; Siddiqi NASA SP-4251HIGH
Luna programme (1966–1976)Variable data quality across 24 missionsSiddiqi; Soviet Space Encyclopaedia; Wikimedia CommonsMEDIUM
MangalyaanFull imagery catalogue not publicly indexedISRO image gallery manual curation; Indian news archivesMEDIUM
Chang'e 4 / ZhurongCurrent status uncertain 2023+CNSA official announcements; CLEP press releasesMEDIUM
Soviet Lunokhod missionsRoutes and images partially documentedLROC spotting images (NASA); Wikimedia CommonsLOW
Beresheet (Israel, 2019)Crashed — limited official imagerySpaceIL press archive; Wikimedia CommonsLOW

11. Credit format reference

Every image, logo, and data source in Orrery uses one of the following credit formats:

NASA imagery:© NASA/[Centre] — U.S. Government work · Public domain

ESA imagery:© ESA — CC BY-SA 3.0 IGO — esa.int

ISRO imagery:© ISRO — Educational use — isro.gov.in

CNSA imagery:© CNSA/CLEP — Official release — cnsa.gov.cn

Roscosmos / Soviet:© Roscosmos / Soviet Space Program — Historical archive

JAXA imagery:© JAXA — jaxa.jp

Wikimedia Commons image:[Author], [License], via Wikimedia Commons

Agency logos (all):[Agency] logo is a trademark of [Agency] · Used for educational identification only


Orrery · 03 Data Catalog · April 2026 · Living documentNext: 04 Technical Architecture →

Orrery — architecture documentation · MIT · No tracking