Skip to content

Observatory Special Cases

Paul Ray edited this page Mar 10, 2017 · 5 revisions

This page is outdated. It needs to be updated now that the new Observatory class structure has been implemented.

An observatory that is at fixed geocentric coordinates and has a master clock that can be related to UTC via a simple clock correction file can just be added to datafiles/observatories.txt and used. There are several observatories that are handled as special cases in the code:

  • Barycenter

    The location assigned to each TOA is 0,0,0 is the solar system barycentric frame. The time must be specified as MJD(TDB) and the TOA() object ignores the 'scale' argument, forcing it to be 'tdb'. No observatory clock corrections are applied. It is assumed that the solar system geometric delays have already been applied and so solar system Romer and Shapiro delays will not be applied to these TOAs. I am currently not sure if all Barycenter TOAs need to be at infinite frequency or if normal DM delays will work with them. This should be checked and this page updated

    Warning: If we add TCB units as an option for PINT, we need to be careful with Barycentric TOAs. Will each TOA have to specify if it was in TDB or TCB? Since most (all?) external barycentering codes produce TDB, clearly that should continue to be the default.

  • Geocenter

    The location assigned to each TOA is the Geocenter. The TOA() object respects the 'scale' argument, so any scale is allowed -- typically this will be TT or UTC. No observatory clock corrections are applied. When converting to TDB, the astropy.Time() object will call DTDB() with the position at the geocenter, which will disable the topocentric part of the TT->TDB correction, leaving only the FB90 delta T. This means that whatever code computed the Geocentric TOA is responsible for applying the topocentric term (). Actually, if we want to say a time is 'Geocentric' in the TT time scale, does it make the most sense for it to have the topocentric term applied or not?

    Fermi-specific update: gtbary tcorrect=geo does NOT apply the topocentric term, so this needs to be done. elsewhere. One way to fix this might be to set the spacecraft location in the Time() object, but then put the geocenter as the 'location' keyword in the TOA() object, since that is used for the other solar system delay terms. This is definitely a reason to have geocentric TOAs be a special case. I'll think a little bit about how to implement this.

  • Spacecraft

    Each Spacecraft TOA must have a keyword argument xxxxx specifying the IGRS x,y,z position (basically ECI) of the spacecraft when the TOA was recorded. No clock corrections are applied. The 'scale' argument of TOA() is respected so the timescale can be TT or UTC. The conversion to TDB will use this position for the topocentric term. Solar system delay terms will be applied as usual.

    To Do: For interplanetary trajectories, this should also allow SSB x,y,z positions. Also, for a future interplanetary spacecraft, might it be that the best timescale is TCB or TDB rather than an Earth-based TT or UTC? If so, can you specify the 'scale' as TDB, but still have PINT apply the solar system delays? This might actually work already.