(Updated Mar. 14, 2004)
The calculations made by Mars24 to determine the time for a given location on Mars is primarily based on Allison and McEwen (2000) (henceforth AM2000). We also refer to Allison (1997) (henceforth A1997), of which AM2000 was a thorough update. However, some typographical errors appeared in the published version of AM2000, and some calculations have been revised since publication of that paper because of the availability of new data. Consequently, we provide here documentation of the equations presently e,poyed by Mars24 for users who wish to implement their Martian timekeeping applications. At the end of this presentation, we also provide two worked examples for verification of results.
A-1. Get a starting Earth time.
Mars24 is written in Java, so we use the
System.currentTimeMillis()
method to find out the number of
milliseconds, millis, that have elapsed since 00:00:00 UT on Jan. 1, 1970
(aka, the Unix epoch).
The result is in "rubber" milliseconds, i.e., in the UT system rather than UTC. The difference between UT and UTC time should never differ by more than 1 second, the two values being kept in relative sync by use of leap seconds.
A-2. Convert millis to Julian Day (UT).
Although there's sample code available on-line which demonstrates how to convert a Gregorian calendar date to a "Julian Day", we simply use the offset from a known, recent Julian Day, with 00:00:00 on Jan. 1, 1970 being the obvious choice.
JDUT = JDUnix + (millis / 8.64×107 ms·day-1) = 2440587.5 + (millis / 8.64×107 ms·day-1)
A-3. Determine time offset from J2000 epoch (UT).
Most of our calculations are in terms of days since 12:00 on Jan. 1, 2000 (TT). First, determine the number of days since that epoch (UT).
ΔtJ2000,UT = JDUT - JD2000 = JDUT - 2451545.0
A-4. Determine UTC to TT conversion. (Replaces AM2000, eq. 27)
Terrestrial Time (TT) advances at the same rate as does UTC, but no leap seconds are inserted into it and so it gradually gets further ahead of UTC. (As of January 2004, TT was 64.184 s ahead of UTC.) The best way to determine the difference between TT and UTC is probably to consult a table of leap seconds. Alternatively, one could try to use an empirical formula. In Mars24, we currently do the latter, with a caveat.
If ΔtJ2000,UT < 0:
T = ΔtJ2000,UT / 36525
TT - UTC = 64.184s + 59 s × T - 51.2 s × T2 - 67.1 s × T3 - 16.4 s × T4
If ΔtJ2000,UT ≥ 0:
TT - UTC = 64.184s
However, this latter condition will only be correct until the next occasion on which a leap second is inserted into the UTC clock. As of January 2004, no leap seconds have been inserted to the clock in five years. The next opportunity when one might be inserted is June 30, 2004. When and if that happens, we will have to modify this step of the process.
A-5. Determine Julian Day (TT).
JDTT = JDUTC + [(TT - UTC) / 86400 s·day-1]
A-6. Determine time offset from J2000 epoch (TT). (AM2000, eq. 15)
ΔtJ2000 = JDTT - JD2000 = JDTT - 2451545.0
B-1. Determine Mars mean anomaly. (AM2000, eq. 16)
M = 19.3870° + 0.52402075° ΔtJ2000
B-2. Determine angle of Fiction Mean Sun. (AM2000, eq. 17)
αFMS = 270.3863° + 0.52403840° ΔtJ2000
B-3. Determine perturbers. (AM2000, eq. 18)
PBS = Σ(i=1,7) Ai cos [ (0.985626° ΔtJ2000 / τi) + φi]
where 0.985626° = 360° / 365.25, and:
Table 1 i Ai τi φi 1 0.0071 2.2353 49.409 2 0.0057 2.7543 168.173 3 0.0039 1.1177 191.837 4 0.0037 15.7866 21.736 5 0.0021 2.1354 15.704 6 0.0020 2.4694 95.528 7 0.0018 32.8493 49.095
B-4. Determine Equation of Center, i.e., true anomaly minus mean anomaly. (bracketed term in AM2000, eqs. 19 and 20)
ν - M = (10.691° + 3.0° × 10-7 ΔtJ2000) sin M + 0.623° sin 2M + 0.050° sin 3M + 0.005° sin 4M + 0.0005° sin 5M + PBS
B-5. Determine areocentric solar longitude. (AM2000, eq. 19)
Ls = αFMS + (ν - M)
C-1. Determine Equation of Time. (AM2000, eq. 20)
EOT = 2.861° sin 2Ls - 0.071° sin 4Ls + 0.002° sin 6Ls - (ν - M)
The above result for EOT is in degrees. Multiply by (24 h / 360°) = (1 h / 15°) to obtain the result in hours.
C-2. Determine Coordinated Mars Time. (AM2000, eq. 22, modified)
This is the mean solar time at Mars' prime meridian.
MTC = 24 h × mod24 {[(JDTT - 2451549.5) / 1.027491252] + 44796.0 - 0.00096}
The function modX indicates a re-setting of the function parameter, a cyclical value, to a value between 0 and X. In this case, we apply mod24 to indicate that values outside the range 0-24 should be re-set to be within that range, e.g., mod24 (30) = 6.
C-3. Determine Local Mean Solar Time.
The local solar time for a given longitude is easily determined by offsetting from the mean solar time on the prime meridian.
LMST = MTC - ΛW (24 h / 360°)
C-4. Determine Local True Solar Time. (AM2000, eq. 23)
LTST = LMST + EOT (24 h / 360°)
D-1. Determine solar declination (planetographic). (A1997, eq. 5)
δs = arcsin {0.42565 sin Ls)} + 0.25° sin Ls
D-2. Determine heliocentric distance. (AM2000, eq. 25, corrected)
RM = 1.523679 × (1.00436 - 0.09309 cos M - 0.004336 cos 2M - 0.00031 cos 3M - 0.00003 cos 4M)
D-3. Determine heliocentric longitude. (AM2000, eq. 26)
lM = Ls + 85.061° - 0.015° sin (71° + 2Ls) - 5.5°×10-6 ΔtJ2000
D-4. Determine heliocentric latitude.
bM = - (1.8497° - 2.23°×10-5 ΔtJ2000) sin (Ls - 144.50° + 2.57°×10-6 ΔtJ2000)
The Mars Exploration Rover A, Spirit, landed on Jan. 4, 2004 (UTC; in U.S. timezones it was late Jan. 3). For the planned landing target at longitude 184.702°W, local midnight preceding touchdown was expected at UTC 13:46:31 on Jan. 3. We calculate the Mars local time at that longitude, expecting to obtain LTST = 00:00:00. The results follow in Table 2.
Table 2 | ||
---|---|---|
Eq. | Parameter | Value |
A-1 | millis | 1073137591000 ms |
A-2 | JDUT | 2453008.07397 |
A-3 | ΔtJ2000,UT | 1463.07397 |
A-4 | TT - UTC | 64.184 s |
A-5 | JDTT | 2453008.07471 |
A-6 | ΔtJ2000 | 1463.07471 |
B-1 | M | 786.06850° → 66.06850° |
B-2 | αFMS | 1037.09363° → 317.09363° |
B-3 | PBS | 0.01614° |
B-4 | ν - M | 10.22958° |
B-5 | Ls | 1047.32322° → 327.32322° |
C-1 | EOT | -12.77557° = -0.85170 h = -00:51:06 |
C-2 | MTC | mod24 (1109173.16542 h) = 13.16542 h = 13:09:55 |
C-3 | LMST | 0.85195 h = 00:51:07 |
C-4 | LTST | 0.00025 h = 00:00:00 |
D-1 | δs | -13.42075° |
D-2 | RM | 1.47767 AU |
D-3 | lM | 52.37469° |
D-4 | bM | 0.08962° |
Mars Pathfinder landed at UTC 1997-07-04 16:07:25 at longitude 33.55°W.
Table 2 | ||
---|---|---|
Eq. | Parameter | Value |
A-1 | millis | 868035415000 |
A-2 | JDUT | 2450634.20619 |
A-3 | ΔtJ2000,UT | -910.79381 |
A-4 | TT - UTC | 62.68196 s |
A-5 | JDTT | 2450634.20692 |
A-6 | ΔtJ2000 | -910.79308 |
B-1 | M | -7.99164° → 352.00836° |
B-2 | αFMS | -206.90425° → 153.09575° |
B-3 | PBS | 0.00663° |
B-4 | ν - M | -10.37079° |
B-5 | Ls | -217.27504° → 142.72496 |
C-1 | EOT | 7.65102° = 0.51007 h = 00:30:36 |
C-2 | MTC | mod24 (1053724.68645 h) = 4.68645 h = 04:41:11 |
C-3 | LMST | 2.44978 h = 02:26:59 |
C-4 | LTST | 2.95985 h = 02:57:35 |
D-1 | δs | 15.09047° |
D-2 | RM | 1.55592 AU |
D-3 | lM | 227.79190° |
D-4 | bM | 0.05800° |
Discussion of the data and formulae used by Mars24 may be found in: