Solar
Coaster
Sun + Moon Sim
Solar Coaster provides accurate position, time, motion and eclipse information for Earth's
nearest star, Sol, our Sun, and nearest celestial body, Luna, our Moon. Information includes 3D movement graphs, upcoming
eclipses and their circumstances, rise and set times, positions, distances and velocities, moon phase, illumination and
crescent rotation.
Solar Coaster automatically updates its state every minute, or you can examine minutes randomly.
The simulation uses a local horizontal coordinate system (altitude / azimuth) when displaying information, which essentially means that your current
position is the center of the Universe and all calculated values are relative to you. Sun and Moon positions are also available
in equatorial coordinates.
Solar Coaster stores enough onboard astronomical data to keep it running through the year 2100 AD,
which means that all calculations can be performed locally without the need of a network connection — useful while in the wild
chasing an eclipse. Algorithms are accurate at all longitudes, and latitudes between -61° south and +60° north (roughly
speaking, locations outside the Polar regions). Of course, you must have Location Services enabled and allow
Solar Coaster to access your position for accurate simulation results, and to properly detect eclipses
visible at your location. You can also allow Notification Center to keep you informed when those eclipses will occur.
When Solar Coaster first runs, iOS and macOS ask for permission to access your current location
with this note: "Your location is required for solar and lunar orbital calculations, and eclipse predictions". If you decline
this request a default location of the Royal Observatory, Greenwich, England is used. To subsequently enable Location Services:
Solar Coaster comes in various flavors: for iOS a native App; and for macOS a native App,
Screen Saver and Web App.
The Solar Coaster window is simplest when it first opens, you'll see something like this:
The horizon line is drawn such that it intersects the curve at precisely two points, Sunrise and Sunset. This
means that all points on the curve above the horizon line are Day, and those below are Night. As the lengths of
Day and Night change this horizon line shifts up and down the curve, and a trend direction triangle indicates how
the shift is moving.
 
Solar Coaster has many active elements that you may touch/click - the horizon line trend triangle
is one, touching it displays the number of daylight hours. In Image 1 there are four other active elements:
 
Top
Sometimes the Basic screen is all you want and need, but for deep diving touch the Disclosure Boomerang and transition to
Solar Coaster's Details screen where you can:
You can manipulate simulation time by sliding the yellow circle along its vertical track, selecting any of the day's 1,440 minutes - and
that's the state depicted in Image 3b, where sim time is 13:48, 3 hours and 44 minutes ahead iOS clock time. This time delta, δt, relative to Now, whether positive or negative, is shown below the horizontal horizon line.
 
In a left-to-right comparison, visually the Sun has gained altitude as time increases, which the Altitude metric confirms numerically.
Visually the Moon has also risen in altitude, also confirmed numerically. Numerical metrics for distance and velocity and their trend
arrows are also consistent. The Moon's crescent percentage has increased because it is waxing.
Other items of interest are:
Checkout this short movie compressing over 10 hours
of clock time (+0:00 ≤ δt ≤ +10:31) and watch simulation time and δt flow, and the crescent (not the Moon)
roll over - use fullscreen and pay close attention to the landmarks on the Lunar surface:
Movie 1 - Accelerated sim time emphasizes the Moon's crescent rollover
 
Touch the Disclosure Boomerang once again and resume the real time simulation. Don't be surprised if you notice the visualization catch
up for lost time. And depending on what the time differential is and whether the simulation time is before or after Now,
the tweening may be fast or slow or forward or reverse.
From Details touch Compare Traces
Movie 2 depicts a typical day where the Sun and Moon are doing uninteresting things. On this day it's easy to
convince
yourself that neither trace intersects the other — this will not always be the case, as detailed in section 3D Sun and Moon Position Plots of Total Eclipses.
Movie 2 - 2026.04.20 Sun and Moon position traces never intersect
 
Top
From Details touch an Eclipse Probe to initiate a search for upcoming Solar or Lunar eclipses. If one is visible from your location
the eclipse circumstances are displayed and the simulator is temporarily reset to the eclipse date, allowing you to view metrics and
do a 3D Sun and Moon Position plot.
Close Details to restore the simulation date to Today.
Image 4a - 2026 Lunar eclipse circumstances
Image 4b - 2045 Solar eclipse circumstances
The next section highlights these eclipses using interactive 3D plots of the daily position traces the Sun and Moon traverse in
altitude-azimuth-time space. Eclipse times are in 24 hour format HH:MM (ignore seconds); in contrast, 3D plot times are in simulation
minutes, so this conversion formula proves useful:
Thus, the middle of the Lunar eclipse at 05:34 is sim minute ( 5 * 60 ) + 34 = 334, and Solar eclipse maximum 11:50 is sim minute
( 11 * 60 ) + 50 = 710.
 
Top
Image 5a and Image 5b show details of these Solar and Lunar eclipses at a time proximate to each eclipse maximum — in other words, metrics at a single point in time.
 
But a position plot of each eclipse paints them in an interesting light, particularly the total Solar eclipse.
The plots are interactive, you can drag to pan and pinch to zoom, or use the items in the top toolbar. And the days before and after are included to show trends. Touching a trace displays the point's time of day (hh:mm), and latitude and longitude. Zoom-in far
enough and the traces reveal their minute-by-minute discontinous nature.
The Lunar interactive plot illustrates how separated the traces are in plot-space, it's apparent they never intersect. A total Lunar eclipse occurs when the Moon's phase is Full and Illumination 100%, where Earth is between and precisely in-line
with the Sun and Moon. Becauase the diameter of Earth's shadow upon the Moon is much larger than the Moon, this event is visible
from the entire hemisphere of Earth facing the Moon.
And the physical configuration of the three bodies requires that Sun and Moon
azimuths differ by 180 °, as Interactive Plot 1 confirms.
Interactive Plot 1 - 2026 Full Lunar eclipse
 
 
In startling contrast, the Solar interactive plot invites the question "How can the traces NOT intersect?" A total Solar eclipse occurs when the Moon's phase is New and Illumination 0%, where the Moon is between and precisely in-line
with the Sun and Earth. Because the diameter of the Moon's shadow upon Earth is relatively tiny, this event is
visible only inside a narrow path of totality, varying between 249 km and 256 km for the upcoming 2045 eclipse.
Separation distance between the bodies is also critically important, encoded in the metric angular diameter. Ideally the
Moon should appear slightly larger than the Sun - if not the total eclipse is called an annular eclipse.
And the physical configuration
of the three bodies requires that Sun and Moon azimuths and altitudes coincide, as Interactive Plot 2 confirms.
Interactive Plot 2 - 2045 Full Solar eclipse
 
 
Access to Settings hides inside the Ellipsis Menu — except for the Screen Saver, use instead System Preferences / Wallpaper / Screen Saver... / Solar Coaster / Options....
Image 8a shows the default Settings values, as presented by the Screen Saver. The Animation Interval setting only applies to the Screen Saver, else other settings are common to all other Solar Coaster versions.
The Location option is normally set automatically if Location Services is enabled, and should be left blank. Without Location services the default location is the Royal Observatory, Greenwich, England. The Screen Saver is unable to use Location Services so you need to set Location manually.
To set a location all three fields must be valid numbers:
Solar Coaster's background is actually a gradient of colors keyed by time of
day. To create a custom gradient see the next section Custom Backgrounds and the Palette Editor.
 
Solar Coaster's background is patterned after a continuously varying color gradient. In
reality the background changes discretely throughout the day, minute-by-minute. A custom background behaves identically and
once created is useable on iOS, macOS and Screen Saver.
Custom backgrounds are generated using the Palette Editor bundled with Solar Coaster
for macOS. The editor uses a palette of colors you choose and associate with cardinal times of the day (Sunrise, etc.),
builds a special text data structure of the background palette, and saves it to the Mac's filesystem. Selecting Custom
in Settings on macOS opens a file chooser, while on iOS you Share the background palette from Files, or some other App
such as Mail.
Edit / Palette Editor ⌘ P opens the palette currently in use and displays it, as in Image 9.
 
Movie 3 demonstrates that creating a custom background is as simple as selecting a palette of colors and distributing
them in the desired pattern. The background is assigned its name when saved, fancifully called RGB here.
Test whenever and as many times as required. The candidate background palette is pushed to Solar Coaster
and the simulator is kicked to Express speed. While testing, the lower Palette Editor panel is usurped and used to display
the changing background - Movie 4.
 
 
(Although highly un-recommended, peruse
JS-Obj-C-Entanglement.pdf for
internal specifications.)
The Solar Coaster Apps for iOS and macOS are available from their respective App Store
and install in the standard manner. Be sure to enable Location Services as described in the Introduction.
Once installed, the macOS App is responsible for exporting the Screen Saver and Web App.
The Web App is also trivially embeddable:
<embed id='solarcoaster' src='SolarCoasterWeb-$version/SolarCoaster.html?SolarCoasterEmbed'/>
And that's Solar Coaster. Enjoy. Any similarity to the Apple Watch Face Solar Graph is, indeed, intentional.
Introduction
Basic Screen
Touching either Sol or Luna displays a tiny bit of additional realtime information (unavailable for the Screen Saver).
Distance and velocity are suffixed with a trend arrow indicating how the value is changing over time. Position is specified in
two coordinate systems to assist in pointing your eyes or telescope.
Details Screen
However, before discussing those topics, comparing Image 3a and Image 3b will be helpful. In Image 3a the iOS clock time is 10:04, the same as
simulation time (beneath NOW). This is because the simulator normally runs in real time, which
simply means that sim time is synchronized with real world clock time.
that creates
a 3D Sun and Moon position plot (discussed in the next section).
3D Sun and Moon Position Plots
.
  Select the number of days to show and a 3D plot appears, graphing Sun and Moon altitude vs azimuth vs simulation minute (0 - 1439).
Solar and Lunar Eclipses
3D Sun and Moon Position Plots of Total Eclipses
Settings
Custom Backgrounds and the Palette Editor
Installation
Top
In either case you will find a zip file named SolarCoasterSS-$version.zip (where "$version" is the version number), double-click the zipped Screen Saver package to unzip it, which creates the module
Solar Coaster-$version.saver. Double click the saver module to finish the install and select it from
System Settings / Wallpaper / Screen Saver / Other.
You will find a zip file named SolarCoasterWeb-$version.zip (where "$version" is the version number), double-click the zip file, which creates the folder named SolarCoasterWeb-$version. Open
SolarCoasterWeb-$version/SolarCoaster.html.
Acknowledgments
Jean Meeus, Peter Duffett-Smith,
U.S. Naval Observatory,
Goddard Space Flight Center
 
Chris O'Byrne, Fred Espenak Eclipse Explorer
Plotly 3D Plot
Mark Simonson Anonymous Pro
What's New?
   iOS 14.0 - 26.3
   iPadOS 14.0 - 26.3
   macOS 11.0 - 26.3
   visionOS 1.0   - 26.3
26.3 - 2026.02.11
5.0 - 2025.06.16
4.0 - 2023.01.06
1.0 - 2017.01.02
Copyright (©) 2017 - 2026 BigCatOS.
All rights reserved.
Contact