Repository navigation
SCHISM tutorial update #2941
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
base: main
Are you sure you want to change the base?
SCHISM tutorial update #2941
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, the figures don't load well in RTD? https://parcels--2941.org.readthedocs.build/en/2941/user_guide/examples/tutorial_schism.html. Can you check what's going on?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I must've not committed them. oops. I'll get that sorted |

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the tilmestep comment, should we also suggest that users could experiment with adaptive time stepping in e.g.
AdvectionRk45? Have you tried that already for unstructured grids? Does it work (well)?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have not tried this yet, but will check it out. I'm playing with a CFL guided time step reduction per particle and will compare with RK45
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We tried it on the SCHISM grid from issue #2928, and I'd not recommend AdvectionRK45 here. It controls the per-step truncation error, which stays small in a field interpolated linearly within each cell. Because of this, it still take takes ~1 h steps that jump across narrow channels.
What does work is limiting each particle's dt by local cell size (dt ≤ C h/|u|) in a small kernel ahead of AdvectionRK4. It matches a fixed 1-minute step's accuracy with ~10× fewer velocity evaluations. It's not cheaper though, since it seems that we really kill the vectorization with variable time step size in particles.
I'll follow up in an issue with a more complete survey of what we learned with RK45 and dt-adjustment kernel and comment a bit on the performance loss there.