Interpolation (not centred)
See original GitHub issueHello,
I am trying to figure how to do interpolation that are not centred, e.g. when a “center” point is not at the middle point of 2 “right” points. I tried different ways but I did not manage to find a satisfying way that would fit in the xgcm.Axis class.
My idea was to implement a new function for interpolation between data_left and data_right, taking also a weight representing the distance to the new position for each data, and use it instead of raw_interp_function
:
def interp_function(data_left, data_right, weight_left, weight_right):
return (data_left * weight_left + data_right * weight_right) / (weight_left + weight_right)
For an interpolation from “right” to “center”, weights would be (C: "center, R: “right”, wl: “weight_left”, wr: “weight_right”):
|-----------------|----------------|----------------|
C R C R C R
data_left data_right
<---------> <-->
wr wl
I did not really find how to implement this solution without changing too much code, as I am not yet familiar with xgcm. Maybe it is necessary to reshape some parts. Does someone has an idea of the rough lines? Or another solution?
Issue Analytics
- State:
- Created 4 years ago
- Comments:10 (6 by maintainers)
Top GitHub Comments
You’re right… My hunch is that this is related to this bug: https://github.com/actions/stale/issues/509. I will look into it sometime next week.
This issue has been marked ‘stale’ due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days.
Thank you for your contribution!