-
Notifications
You must be signed in to change notification settings - Fork 535
Add time interpolation to mpc data #3559
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the addition. This is definitely functionality we were missing. I think this would be better as it's own interpolate
, or get_interpolated_data
, method. Would that work for your application?
There is also the question of whether to support some form of interpolation in DynamicModelInterface
. (E.g., in get_data_at_time
, load_data
, or dedicated methods for interpolation.) I'm fine with (and think I prefer) punting for now if you don't need this for your application.
@@ -181,6 +184,9 @@ def get_interpolated_data_at_time(self, time=None): | |||
is_iterable = _is_iterable(time) | |||
if not is_iterable: | |||
time = [time] | |||
for t in time: | |||
if t > self._time[-1] + tolerance or t < self._time[0] - tolerance: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With <
and >
here, this will fail with a tolerance of zero (the default) if the user provides one of the endpoints. Can you update to use >=
and <=
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unless you think the endpoints should not be valid for interpolation with a tolerance of zero. I'm open to this argument.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right should have used >= and <=. I'll fix that.
Fixes None
Adds option to linearly interpolate from MPC TimeSeriesData.
Summary/Motivation:
Sometimes you have time series data that doesn't line up perfectly with model time indexes. @blnicho and @jsiirola, this is part of the recent MHE work.
Changes proposed in this PR:
Legal Acknowledgement
By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution: