Welcome to EclipseTimesCalc (Version 2.0)

EclipseTimesCalc icon

EclipseTimesCalc

What is new in 2.0

The Where tab is now integrated with Apple Maps which will allow eclipse location planning without leaving the App. As of this version only the August 26 has limits marked, but version 2.1 will include limits for future eclipses

User input and display has been completely redesigned to make it easier to use for non eng_US customers. Date and time displays use the Region configuration. All input numbers are in region formatting.

The program still allows signed numbers (in local format)to be pasted when in degree mode

The prediction engine was rechecked for the summer 26 eclipse. The Unfortunately some of the reference sites I used to use are no longer being maintained, but another similar app gives the same predictions.

Note that due to updates in the user interface this program now requires iOS 26 (and also runs on iOS 27). Users not having these systems should be offered version 1.9 which contains the identical prediction engine, but requires en_US formats.

Introduction

This app provides estimates of where and when the various events of an eclipse will occur without needing access to the Internet. Many times I have observed from places (e.g. deserts or bows of ships) that did not have cell service or WiFi. This allows the user to get the exact event times for the exact location even while bouncing around on the bow of a ship.

Why write another app that does eclipse prediction? This started with a macOS® app to control my camera during an eclipse. That effort lead to CaptureEclipse

After completing the scheduling engine I decided that I wanted the ability to generate event times. This, in turn, lead to learning about the algorithms to make eclipse predictions and making that code available first as an iOS® app and then integrating it into CaptureEclipse.

With version 2.0 you no longer have to leave the app to do planning. The app will now default to the most likely viewing location (e.g. northern Spain in 2026). Simply press the "Select Location" button and the map will appear centered on that location. If you want to look at circumstances where you are currently located press "Here" first.

Use

Using the program is really easy

The Where screen shows when the program starts. It defaults to the location of Greatest Extent for the next eclipse

Select the eclipse you are interested in by rotating the wheel. By default the location of Greatest Extent for that eclipse will show as the coordinates.

You are free to either enter the coordinates as decimal degrees (as shown left or above) or as DMS (right or below)

If you want to use your current location press the Here button.

Version 1.3 gives an indication of the age of ΔT. An old ΔT is not necessarily fatal, but the value displayed should be checked against USNO to see if it is acceptible.

As indicated above if your region is set to one of the PFIGS regions then the screen will appear with local conventions. Numbers will be accepted by local conventions (in this case using commas instead of periods for the decimal separator)

Map Tab

The Map tab also shows at the beginning. It will display Fred Espenak's Map of the selected eclipse. If you do have internet access it will also provide a link to the source information for this eclipse.



Returning to the "Where" tab.

For eclipses that are to occur "soon" the program will disclose the Earth Rotation parameter (ΔT). It is using. If this parameter is more than 180 days old the predictions may not be valid and this app should not be used. I plan to keep updating the app to keep them current.

When the "Predict" Button is pressed the app will enable the "Summary" and "Times" tabs and switch to the Summary Tab. The Summary tab shows some general information on the eclipse for this location.

  • Whether at this location the eclipse is Partial, Annular, Total, or not visible
  • Your location relative to the center line. Note that if you are more than .1 degree from the centerline (10 nm) then it will display if you are north or south (for eclipses in the high arctic or antarctic east or west). Since the track rarely lies in an orthogonal direction the closest centerline might be, for example, northwest if it says you are south
  • When appropriate it provides the angles of contact of the moon to the sun as viewed by an observer. These are degrees clockwise from zenith (which is different than some astronomical conventions). See the more detailed discussion below
    • For Total Eclipses: This is the angle where the last (first) bit of sun is exposed
    • For Annular Eclipses: This is the angle where the last (first) bit of moon touches the sun
  • The sunrise and set times for this location

The results will use local conventions as shown in this shot of a system configured for Germany

Pressing the Times tab will bring up the display of the times and bearings of each of the events. From my own experience I believe these are good to within a second, but for more details see the discussion below

Note: that all events cannot be displayed for all eclipses. The image to the right (below) shows the August 26 eclipse from a city on the Mediterranean Sea where the sun will set before C4.

This is a shot from a Spanish configured system. Note this table is easier to read landscaped especially on a phone.

Integration with Apple Maps

Version 2.0 will allow the user direct access to Apple Maps. Simply enter a location for the initial center of the map then press "Select Location". Apple Maps will be active at that location. In Version 2.0 the extent of the eclipse will be shown as red and blue lines. Simply select a location then then press "Done". If you do not want to change the coordinate press "Cancel"

Copying Numeric Coordinate

Sometimes the source of the coordinates might be something other than a map app. For example, you might be copying from a browser version of a map. This next demo shows how this happens. Note the one unusual item is that the paste replaces the entire field instead of appending to the existing text.

Note: This demo was recorded on an earlier version of the app; however, the process is the same on the latest version.

Implications on Photography

Remember your biggest threat to success is whether your computer has accurate time

It is important to understand what the times value represents since different programs make different predictions.

It is also important to remember that the beginning (and end) of totality is not a point-in-time event but instead lasts over several seconds. Thus the goal of any prediction is to give a reliable point in time that you can base your script on.

  • This program will predict the time that a Spherical moon will interact with a spherical sun. This is the same prediction made by Meeus, Espenak, et al. As a practical matter this will likely be in the middle of the beginning (end) of totality. High peaks on the edge of the moon will likely have already begun forming beads. Totality will fully begin at the true C2 point where the last valley passes the edge. Thus for photography one would need to balance images before and after the C2 point listed by this prediction to capture all of the action.
  • A program whose C2 prediction is for the last valley to pass predicts the end of the totality process. One might take an image after as a fudge for imprecise time or estimate, but the real action will occur in the seconds before this prediction. One will have to estimate how long before is.

For myself there is no obvious advantage of one approach over the other as both require some judgement calls in the scripting. It is very important to understand what is being predicted and adapt the script to that prediction.

Technical Details

The Algorithm for Eclipse Circumstances

The method of predicting the circumstances of an eclipse dates back to 1824 and the work of Friedrich Bessel. Bessel figured out that that you could apply a series of polynomials

x0 + x1*t + x2*t2 + x3*t3

where x0, x1, x2, and x3 are the elements
t = time

to describe the movement of the sun and moon within the relatively short time period of an eclipse. The resulting Bessel Elements consist of polynomials for X, Y, μ (or M), d, L1, L2, and two tangents. These are defined in Explanation of Besselian Elements for Solar Eclipses on Fred Espenak's website. The result is further corrected by ΔT to account for changes in earth's rotation and the resulting impact on calculating a time in UTC.

Bessel's work was amplified by the book "Manual of Spherical and Practical Astronomy", Chauvenet, 1863. However the calculations in that book use a now obsolete convention of converting multiplications of trig functions to additions of log sin which I found rather difficult to apply. Thus modern day implementations are based on Elements of Solar Eclipses 1951-2200 by Jean Meeus. My own original implementation was based on the equations there. However, while the book consists of many fully worked out detailed examples, it stops at the actual calculation of circumstances and uses a reference location where there is only a partial eclipse as the last example. The rest of the information is in footnotes. My first implementation based on his descriptions would for some eclipses switch C2 and C3.

This work is a port of the Javascript calculator calccirc.js contained on Fred Espenak's Eclipsewise website. According to the comments this was written by Bill Kramer and Fred Espenak in 2016 based on "Eclipse Calculator" by Deirdre O'Byrne and Stephen McCann - 2003. Clearly the latter work was also derived from Meeus since I referenced Meeus to understand the code. I also chose to export some calculations that were performed, but not made visible. In accordance with the GNU General Public License my Apple Swift port of this code is available here. This code is basically the Meeus algorithm, but contains, among other changes, a fix for the C2 C3 problem that bedeviled me. I have added code to export the Meeus calculations of the relative location of the site to the center line and the moon angles at the main event times converted into a more convenient form.

Source of the Bessel Elements
For this work I have used 4 different sources for the Bessel elements
  • Fred Espenak's NASA site
  • The elements from the HTML tables on Espenak's EclipseWise site
  • The hidden more detailed elements on the EclipseWise calculator pages
  • The elements published for the 1994 eclipse in Meeus's book. These are not exposed in the app, but are visible in the source code

ΔT was either obtained from the source of the Bessel elements or the US Naval Observatory.

The source for a particular eclipse can be seen on the "Times" tab.

Accuracy

First let me be clear. These are predictions from various Fred Espenak sources that I am repackaging for portability. At the present time that remains the most authoritative source for every parameter except ΔT. Having said that (and to keep my lawyer happy) I remind the reader that THIS SOFTWARE IS PROVIDED 'AS IS' AND THAT YOUR USE OF OR RELIANCE ON THE APPLICATION IS AT YOUR SOLE RISK AND DISCRETION. UNDER NO CIRCUMSTANCES IS THE AUTHOR TO BE LIABLE FOR ANY ERRORS IN THE PREDICTIONS OF THIS APPLICATION.

Having that out of the way let me state what I know.

I have used these predictions derived from similar formulas using the same data twice (using SEM) to control a camera in real time. So I personally have great confidence in the result. Other more complex calculations take into account lunar edges; However, these timings need to be interpreted differently as described in Photography above

As described above the correction for earth's rotation (ΔT) deviated from its long term trends. Starting with Version 1.3 this app will track the actual measurements published by the US Naval Observatory. Doing so makes the result exactly agree with the measured eclipse times in April 2023. When the measurements are more than 180 days before the eclipse the user should compare the current value with the value built into the program. A difference of ± 0.2 (or even the historical accuracy of ± 0.5) will not have a significant impact on the prediction.

Moon Angles

These predictions will give the user a good idea of where the C's will occur. As stated in the use documentation, the angles reported are measured clockwise from the zenith. Some other calculation of angles use different conventions.

During testing I compared the results from these predictions against a more sophisticated model in Solar Eclipse Maestro that took into account edge conditions. I find that in most cases my predicted moon angles agree with within 15° (most of those within 5°)1. Thus unless you are using a 1000mm lens these results will allow to you know where and when the events will occur with good certainty.

Sunrise

The javascript calculator also contained a sunrise calculator. I experimented with that, but the Bessel elements only have a limited lifetime. On summer days the times were outside of this range and the computation gave unsatisfactory results. I did not pursue a fix.

Instead I decided to base my algorithm on the NOAA sunrise calculator. As this is also public domain software my implementation is also in the source code

Testing

Apple has a very complete testing framework which I took advantage of. The tests consist of being able to directly feed parameters to the prediction engine and also to manipulate the User Interface. Since the user interface is not covered under GPL I have not disclosed these tests. I have disclosed the tests that directly call the prediction engine.

For each eclipse I compare the result at several different locations to the results predicted either by NASA web pages (for NASA sourced elements) or the Google Map from the EclipseWise pages. In some cases I had to instead use the more precise calculation of the Javascript calculator by setting stops in the Javascript calculator and looking at its internal variables. Thus "success" is agreeing with the Espenak predictions.

Moon angles are verified two different sources. C1 and C4 are obtained by holding protractor to the screen (really) while Sky X (for eclipses after 2024 Sky Safari Pro) simulates the eclipse. C2 and C3 are obtained from the detailed diagrams from Solar Eclipse Maestro.

Sunset times are verified using a different NOAA calculator.

References on the maps page point back to the source of the Bessel Elements.

Privacy

This app does not collect nor does it distribute any information about its operation

If you have configured your iOS® device under Settings -> Privacy -> Analytics & Improvements -> Share With Developers to share crash information with developers we may receive a report should your program ever crash. This is an iOS® feature that we have no control over. Any information obtained will be used solely for the purpose of determining the cause of the crash.

Contact Me

If you are thinking about photographing an eclipse please consult my Youtube series Photographing Solar Eclipses before contacting me.

If you have any questions about this App, You can contact Me:

By email: eclipsetimescalc@almadenobservatory.net

Footnote

1 There were a couple of cases where my predictions disagreed by more than 15°. These are marked with the angles displayed as red.