We're updating the issue view to help you get more done. 

Improper leap second handling in Code500 ephemeris

Description

It looks like there might be a problem with the Code500 writer across leap seconds. A GMAT Code500 ephem I created is failing FDF's “ephemeris verify” utility when crossing a leap second.

As background - A Code500 ephemeris file is supposed to skip/ignore the leap second record. Across a positive leap second, the following UTC epochs occur:

23:59:58 *
23:59:59 *
23:59:60
00:00:00 *
00:00:01 *
00:00:02 *

Only the records marked with an asterisk should appear in the ephemeris file. The 23:59:60 record should be silently dropped. Of course, there will be an extra second of actual spacecraft flight between 23:59:59 and 00:00:00 and this would be apparent if you differenced the vectors. It looks like GMAT may be trying to jam the 23:59:60 vector in the ephem. In addition, there are leap second flags in the ephemeris header that should be set.

I guess it would be good to also make sure it handles a leap second in the other direction which would be:

23:59:57 *
23:59:58 *
00:00:00 *
00:00:01 *
00:00:02 *

No vector at 23:59:59.

Environment

None

Assignee

Steve Cooley

Reporter

Steven Slojkowski

Development Build

None

Components

Fix versions

Affects versions

Priority

P1
Configure