-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve pitch/roll_comp, logical_intervals, state_intervals, get_ofp_states, get_telem_table #249
Conversation
Will this also close #247 ? |
Yes! I've updated the description. |
This has an open TODO of "Add more tests for state_intervals". Should that get cut or should I review in advance of that (if it is ongoing work)? |
I'm seeing test failures on kady
Does this need to be tested with another change? |
About the TODO, I did that and it is now checked. |
About the test failure, I'm seeing that now on Mac in my branch. No idea when that broke and why I didn't see it before. Hence why we have that checkbox for someone else to run the tests at the end. |
96f63d5
to
4dbed06
Compare
4dbed06
to
4d12f7b
Compare
@jeanconn - I think I have resolved all the issues with a code fix and new tests and a rebase. |
Looks like this just needs author to re-check one of the unit test checkboxes. |
Description
This is a hodge-podge of related improvements to utilities in cheta. The initial driver was a problem in
[aca] Kadi commands state validation: ALERT
on Apr 1 ending with:Generally speaking the original implementation of
pitch_comp
androll_comp
was not robust. It depended onget_ofp_states
inkadi.utils
which was also not robust. So this turned into an effort to revisit this code and make it work under most circumstances. In particular dealing with short query intervals was a focus.Since the code hinges on
state_intervals
andlogical_intervals
, those got pulled into the effort.This is used by sot/kadi#285.
Changes
pitch_comp
androll_comp
to work for short query intervals like normal MSIDs, namely to return values if the interval covers a time where the relevant primary telemetry are available. Since this computation uses telemetry sampled from 1.025 sec up to 5 minutes (ephemeris), this is not completely trivial. In any case it should always return a result, even if that result has no data. Added new tests of this.start
andstop
args tological_intervals
andstate_intervals
. This is useful when you want the table to states to exactly span the requested interval. This is different from the default behavior where the states start and end times are defined by the input times.logical_intervals
andstate_intervals
provide special handling for cases with input data of length 0 and 1. Previously you would get some non-obvious exceptions.get_telem_table
function which was migrated and generalized somewhat from the kadi validate code.TODO:
state_intervals
Fixes #247
Interface impacts
Testing
Unit tests
Independent check of unit tests by Jean
Functional tests
No functional testing.