Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many Rivers #115

Open
wants to merge 25 commits into
base: development
Choose a base branch
from
Open

Many Rivers #115

wants to merge 25 commits into from

Conversation

CyprienBosserelle
Copy link
Owner

Improve efficiency if may rivers are involved

I'm changing the structure of the model workflow to be efficient if a lot of rivers are in the model.
Currently kernels are launched in serial for each river. This is very inefficient when you have many rivers.
In an example using a crud model of the lower Waitaki River.

n rivers Run times
1 6
10 7
100 14
675 71

This doesn't look too bad but things gets worse in other setting (may need a better example to make the point about the point of this)

@CyprienBosserelle
Copy link
Owner Author

using the same test:
675 river: 19s runtime!

@CyprienBosserelle
Copy link
Owner Author

CyprienBosserelle commented Oct 17, 2024

Using the same setup as above but rerunning each scenarios. (Waitaki domain, single level (256m res). 3600 s run )

n rivers Run times old code Run times new code
1 5 5
10 5 6
100 14 7
675 73 9-10

Results between old and new code are exactly identical but the new code is 7 times faster with 675 rivers.

Tip

SUCCESS

@CyprienBosserelle
Copy link
Owner Author

Two Birds, one PR

Momentum conserving rain input

Also added a momentum preserving correction for u and v when adding rain input.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant