Replies: 1 comment 1 reply
-
@sharon92 thanks for your comment and for volunteering. File IO is a big bottleneck at the moment. We have this in mind for flopy 4.x which is in early development. Lazy IO (via e.g. dask) is definitely on the agenda. Concurrent and/or parallel IO on separate files is much easier to reason about than on the same file, as in your example, but maybe in certain cases we could consider that too. Once we are a bit closer to releasing 4.x your input would be much appreciated. MF6 internals are getting a rewrite so I would not advise diving too deeply into the current codebase right now. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I am working on a relative medium sized project with dimensions of 9 x 1200 x 1000 - 110 stress periods
Reading and writing the input external binary files like RIV, RCH, and more take a considerable amount of time.
Profiling with cProfile points out that most of the time is spent reading the files sequentially.
Is asynchronous data loading in plans?
Some tests:
here
m
is a loaded Modflow 6 objectm.get_package("rch").recharge.array
this takes a wall time of about 42 seconds
Threaded approach:
returns with a wall time of 24 seconds,
Not much but still an improvement. Takes about 57% of the time from the built-in approach.
Would love to contribute to these performance improvements if wished for.
Beta Was this translation helpful? Give feedback.
All reactions