With closure of #2132 and initial benchmarking from @erikvansebille in Parcels-code/parcels-benchmarks#5, it appears there are a few areas of improvement that are possible for the spatial hashing implementation
-
Hash table creation currently takes around 132 seconds for the MOI benchmark. This requires large particle simulations to make the cost of initialization worth it. We need to look into ways to speed this up.
-
The _search_curvilinear_2d function currently has a bug that causes only the first face index to be captured on output of the spatial hash query. Fixing this bug should have significant improvements as we have found that the subsequent search iterates just as much as the previous implementation (in fact, with spatial hashing, we should be able to immediatley compute computational coordinates upon finding the face a particle resides in).
With closure of #2132 and initial benchmarking from @erikvansebille in Parcels-code/parcels-benchmarks#5, it appears there are a few areas of improvement that are possible for the spatial hashing implementation
Hash table creation currently takes around 132 seconds for the MOI benchmark. This requires large particle simulations to make the cost of initialization worth it. We need to look into ways to speed this up.
The
_search_curvilinear_2dfunction currently has a bug that causes only the first face index to be captured on output of the spatial hash query. Fixing this bug should have significant improvements as we have found that the subsequent search iterates just as much as the previous implementation (in fact, with spatial hashing, we should be able to immediatley compute computational coordinates upon finding the face a particle resides in).