-
Notifications
You must be signed in to change notification settings - Fork 11
Description
The cf-plot code frequently calls the array attribute to extract some data array to store as a an variable and process using numpy operations, which is slow(er) because it bypasses the lazy and optimised Dask approach of cf-python for handling the underlying arrays, ultimately calling a compute to calculate the whole array at that point. Such calls to array and subsequent use of numpy operations is very often avoidable.
So, we should do a pass through of the code and survey as to cases where this is done, then convert them to stay in cf-python/dask space unless there is a very good reason not to. The ideal point to compute the underlying data array is at the end of the logical chain when the data is immediately required for the generation of the plot in being sent to a Cartopy or matplotlib method to make the appropriate marks on the image file. Calculating the array any earlier than this could well be unnecessary and degrade performance.