mountaindust / Planktos

ABM framework for dispersal modeling
https://planktos.readthedocs.io
GNU General Public License v3.0
5 stars 3 forks source link

More memory-efficient temporal interpolation for fluid velocity #58

Open mountaindust opened 1 year ago

mountaindust commented 1 year ago

While the memory management updates in v0.5.2 helped, the real problem is that spline objects are huge, and creating a spline across all of the temporal fluid velocity data (potentially many time points) is extremely expensive to store. The result is that 3D temporally varying fluid velocities are currently impractical to work with unless the number of time points is small (or the fluid grid is coarse enough).

The most obvious solution is to calculate a spline consisting of only one polynomial - the currently needed one. Since we are using cublic splines, this will be the spline using the two data sets on either side of the current time (four in total). It then gets recalculated every time the calling function advances past a time point with fluid data associated with it.

mountaindust commented 6 months ago

Will need to:

mountaindust commented 13 hours ago

We should address #55 as part of this.