# What format is a “TSA Ephemeris?”

I am working on software that needs to parse an ephemeris file for the ISS. However, I cannot find any documentation for the particular format I have. The only mention I found is in this presentation, where on slide 5 it is described as a "TSA Ephemeris."

I did find a sample on the public internet here. The header looks like this:

PROP_MAN 11.0
2017         0.000  14212800.000   1296000.000  M50 FT FPS SEC


Looking at how the previous version of the software parsed the file, I've guessed that the numeric fields are:

• 2017: year
• 0.000: epoch (seconds from start of year)
• 14212800.000 start time (seconds from epoch)
• 1296000.000 duration (seconds from start time)

The subsequent fields were ignored, but I believe they are:

• M50: The reference frame: earth-centered inertial, equatorial, mean-of-date 1950 (see the ISS coordinate system reference)
• FT FPS SEC: The units of the file

The records (lines) look like this:

14212800.000 -8535865.420155 -19320104.581130 -7028174.772018 17383.209720 -1082.297123 -18145.674503 907581.4

• 14212800.000: time (seconds from epoch)
• -8535865.420155 -19320104.581130 -7028174.772018: position (feet)
• 17383.209720 -1082.297123 -18145.674503: velocity (feet per second)
• 907581.4: ignored, possibly spacecraft mass in pounds

I do have enough information to parse the file, but I'd like to know a bit more to make my parser more complete/robust:

• What is PROP_MAN 11.0? If 11.0 is a version, are there other versions I might encounter?
• Is M50 really the B1950 reference frame? (If so the existing software uses the wrong transformation.) What other reference frames are valid?
• What other units are valid?
• Do the time offsets count leap seconds in years that have them?
• Is the last data field actually the spacecraft mass? If so, then why does it change sometimes?

The associated script, mcc.py, appears to get the reference frame wrong but does get the units correct. An imperial foot and a US customary foot are the same unit. (This is not the case for all imperial vs. US customary units.)

What is PROP_MAN 11.0? If 11.0 is a version, are there other versions I might encounter?

Is M50 really the B1950 reference frame? (If so the existing software uses the wrong transformation.)

The ISS project has used the M50 frame from the start and to the present as its inertial reference frame. (M50 is short for mean of 1950, also known as the B1950). The referenced software implicitly assumes that M50 and ITRS are the same. This is not the case. There's a difference of 50 years worth of precession, plus other small effects, between the M50 and ITRS frames.

What other reference frames are valid?

Depending on the needed precision, the small difference between these frames (about 40 arc minutes) may or may not be consequential. I'm guilty of the same, to a lesser extent. I ignore the difference between J2000 and ITRS.

What other units are valid?

All other dimensionally consistent units are valid -- so long as you convert from the given units to your preferred choice of units.

Do the time offsets count leap seconds in years that have them?

Yes.

Is the last data field actually the spacecraft mass? If so, then why does it change sometimes?

The mass changes because vehicles dock and later undock with the Space Station, and sometimes those vehicles use fuel to boost the Space Station to a higher altitude. The change in mass in this case was the 11:37 June 16, 2017 UTC docking of the Progress 67 supply vehicle with the Space Station.

• Thanks for your input! About the units, I was asking about what units can appear in this specific format, not about units for ephemerides generally. e.g. an STK .e file can have distance units of mm, cm, m, km, in, ft, kft, fur, nm, mi, Re, or AU; but not, say, gigameters, yards, or gallons per acre (even though those are dimensionally compatible). – 2012rcampion Jun 7 '19 at 0:47