nanograv / PINT

PINT is not TEMPO3 -- Software for high-precision pulsar timing
Other
118 stars 101 forks source link

kepler.py? #693

Open paulray opened 4 years ago

paulray commented 4 years ago

I just stumbled on src/pint/orbital/kepler.py. As far as I can tell, it is not use anywhere but in the unit tests for itself. It also does not use astropy Quantities and units as the rest of PINT tries to. It was added by @aarchiba. Anne, do you have plans for this or is it used in some codes of yours that use PINT? Just wondering.

aarchiba commented 4 years ago

So the code is pulled from the triple system work (which is also on github so it won't be lost). The plan was to implement a timing model that went through 3D positions: full keplerian orbital elements produce 3d positions of pulsar and companion, Shapiro and Einstein delays calculated, root-finding to get pulsar time - the approach implemented in the triple system code but with Keplerian motion instead. If we allow the Keplerian parameters to vary appropriately, this gives the same parameterized post-Keplerian framework as the BT/BTX/ELL1/Tempo2 timing models without the pulsar-specific analytical derivations and approximations. It could also allow dropping in an n-body code, down the road.

Without timing model support, it could be useful if people wanted to take the Keplerian parameters they get out of their pulsar fits and figure out where the objects actually physically are, for visualization or VLBI reflex motion or something. Though for that we should have tests to confirm that the parameters mean the same thing as they do for ordinary pulsar timing models.

All that said, it is indeed not used for anything, at the moment. I still want to do the above, but that doesn't mean we need to leave kepler.py in there; I can always put it back if necessary.