Closed astronomerritt closed 1 year ago
As a note, I'm likely not touching this issue for now as we're currently working with the LINCC incubator so this may all get destroyed later anyway - this issue is just keeping a record of it so I know it's there.
If a and e are supplied, but not q, q is calculated assuming an elliptical orbit. So if someone decided to run ISOs and for some reason defined the orbits with Keplerian elements instead of cometary, the code would then quietly miscalculate q.
Note - a is invalid if q > 1. so you can't have an a if you're working with ISOs. It's undefined, so there should never be orbits with a and e> 1. The switch would be already made to cometary elements.
Closing because #497 will handle this.
PPJoinEphemeridesAndOrbits checks to see if q is in the orbits file. If it isn't, it checks to see if a and e are present, and then calculates q assuming an elliptical orbit.
There are some problems here:
I don't know how likely it is that the latter would happen -- using cometary format for ISOs makes more sense to me intuitively, but I'm not an expert. Either way, I think checks and calculations of orbital elements need to be done in PPReadOrbitFile and I think the error message should make more sense.