Observing celestials from Gaia (and other satellites), with light deflection? #1137
|
Hello. For a project I am doing, I need to calculate apparent positions of various asteroids from the Gaia spacecraft. Right now, to get a working .observer(), I have basically downloaded the list of barycentric positions at each time I need from Horizons, and put them in a Barycentric object like so: Now I need to observe asteroids from Gaia, which are provided as a list of Barycentric positions at the times we need (borrowing ThingInSpace from a previous discussion answer): This does work to get the correct apparent positions with aberration, but not gravitational deflection. That is because there is no Ephemeris object associated with the list of Gaia positions. While this is not important for my application, it will be if I need high-precision positions at a later date. How do I enable the list of deflectors for this constructed Gaia position, and in general what is the best way to do so? Is there anything I should keep in mind (I'm not a skyfield expert)? |
Replies: 1 comment 1 reply
|
Skyfield's usual technique for supporting deflection is to secretly stash the ephemeris that was used to generate a position. It's saved as the In your case, Try loading an ephemeris and telling your barycentric position about it: Hopefully that will get deflection working for you! I wonder if Skyfield should somehow improve how this works someday, for users in your situation. Should Let me know if this solutions works for you! |
Skyfield's usual technique for supporting deflection is to secretly stash the ephemeris that was used to generate a position. It's saved as the
._ephemerisattribute of theBarycentricobject. From there, theBarycentric.observe()method saves the ephemeris to the._ephemerisattribute of theAstrometricposition that it returns. Finally, whenAstrometric.apparent()is called, it can use the secretly stashed ephemeris object to find out where the Sun and Jupiter and Saturn are.In your case,
._ephemerisis still its default value ofNone, so, as you have discovered, deflection doesn't work.Try loading an ephemeris and telling your barycentric position about it: