You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FOVs which are defined in non-ecliptic are not being converted to ecliptic on the fly when performing fov checks.
This bug has only been made apparent after the recent #152 PR where the FOV of NEOS was switched to Equatorial.
All other FOVs are defined in Ecliptic (the best solar system frame).
do all calculation without checking that the FOV and arguments of their functions are in the same coordinate frame.
I do not believe this is the only place where this bug may exist however.
Discussion
The underlying issue here is that vectors on the rust side do not carry around frame information. I was aware of this as a possible source of bugs for a while (the last ~6 months), but not updated the code as it would be a breaking change for users, requiring them to update files.
This would be solved by the closed draft PR #75 , which was designed to make this bug impossible by construction.
That PR would put frame information throughout the backend with strict typing.
Unfortunately, the reason I closed that PR is that it would be a breaking change to files already saved, I may need to accept that this change is necessary and rebuild existing files.
A part of the reason for the PR #146 which added Parquet file support was so that the files would be decoupled from this or similar changes.
The text was updated successfully, but these errors were encountered:
Currently this bug appears to be only impacting NEOS FOVs on the python side.
dahlend
changed the title
FOV State visibility checks are not performing frame conversions
NEOS FOV State visibility checks are not performing frame conversions
Nov 14, 2024
Bug
FOVs which are defined in non-ecliptic are not being converted to ecliptic on the fly when performing fov checks.
This bug has only been made apparent after the recent #152 PR where the FOV of NEOS was switched to Equatorial.
All other FOVs are defined in Ecliptic (the best solar system frame).
Code
Specifically, all functions listed under this trait:
https://github.com/Caltech-IPAC/kete/blob/main/src/kete_core/src/fov/fov_like.rs#L15
do all calculation without checking that the FOV and arguments of their functions are in the same coordinate frame.
I do not believe this is the only place where this bug may exist however.
Discussion
The underlying issue here is that vectors on the rust side do not carry around frame information. I was aware of this as a possible source of bugs for a while (the last ~6 months), but not updated the code as it would be a breaking change for users, requiring them to update files.
This would be solved by the closed draft PR #75 , which was designed to make this bug impossible by construction.
That PR would put frame information throughout the backend with strict typing.
Unfortunately, the reason I closed that PR is that it would be a breaking change to files already saved, I may need to accept that this change is necessary and rebuild existing files.
A part of the reason for the PR #146 which added Parquet file support was so that the files would be decoupled from this or similar changes.
The text was updated successfully, but these errors were encountered: