Initialization of FlorisModel is slow for large farms #965
Replies: 5 comments 2 replies
-
Hi @Bartdoekemeijer , thanks for this! This is not something I'd been aware of. Running your code on a Mac (and python 3.10.14), I'm getting surprisingly different results: The overall speed difference could be down to just whatever else is running in the background, but I'm surprised that the insensitivity to n_findex isn't the same. Still, I'll look into profiling the code to see where the time is spent on initialization to see if there are easy opportunities for speed up |
Beta Was this translation helpful? Give feedback.
-
Just wanted to add my result using |
Beta Was this translation helpful? Give feedback.
-
Also tagging #885 as it's likely related |
Beta Was this translation helpful? Give feedback.
-
I've implemented an improvement to address this in #966 |
Beta Was this translation helpful? Give feedback.
-
Solved by #966, thank you Misha! Closing this discussion. |
Beta Was this translation helpful? Give feedback.
-
I'm currently upgrading my internal workflows to FLORIS v4. The new features are awesome. One thing I'm struggling with is the initialization time of FlorisModel objects for large farms.
Here's a simple test case:
For parallel computing, I may split up the task into, e.g., 120 FlorisModel objects that each process a different set of
findex
entries. However, when modeling 500+ turbines (think parts of the Dutch North Sea), it may take a minute to load one FlorisModel. Parallelizing this to 120 tasks then adds 2 CPU hours of computation time overhead.I found that the initialization time is not sensitive to
n_findex
. There is a linear correlation in the number of turbines and the initialization time.Is there a way to speed up model initialization?
Beta Was this translation helpful? Give feedback.
All reactions