Hello Pierre!
I first have to tell you that I do not have the answer to your questions, but I thought of some things that I would try...
1) Animations with Dash
I guess there are 3 alternatives here. (i) Create a callback that triggers like every half second to replace a static png map with another one containing the results in the next time-step. (ii) There is a way to create animated gifs with matplotlib (but they are not interactable) or you can create all the images (for each time step) and use *conv* (Linux/MacOS) or *imagemagick* (Windows) to create the gif file from pngs; (iii) Use the dash-leaflet library to insert an animation over a map (check videoOverlay in
https://dash-leaflet.herokuapp.com/)
2)
DISV to regular grid
If you can take the values (long, lat, value, angle) or (long, lat, u-component, v-component) from the DISV grid, you can re-interpolate the results to regular grid data. I thought on logic like this:
a) Create a regular mesh grid over the simulated area
b) Use an inverse of the square of the distance weighted average to calculate the u-component of the vector in the regular point from the u-component of the surrounding DISV gridpoints. I would use the numpy.where function to find the DISV points within a certain distance of the regular grid point.
c) Do the same for the v-component.
d) Mask the grid to remove regular points outside the simulated domain
e) Plot the quiver map (with matplotlib for png images or maybe you can do it directly with plotly for an interactive one)
Hope have aided with something!
Cheers,
Angelo.