#include "EulerAdvectionKernel.h" #include "interpolate.h" using namespace std; EulerAdvectionKernel::EulerAdvectionKernel(std::shared_ptr grid): grid(grid) { } std::pair EulerAdvectionKernel::advect(int time, double latitude, double longitude) const { auto [u, v] = bilinearinterpolate(*grid, time, latitude, longitude); return {latitude+metreToDegrees(v*DT), longitude+metreToDegrees(u*DT)}; }