-
Notifications
You must be signed in to change notification settings - Fork 195
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
Reduce parameter space for velocity tendency kernels #3924
Conversation
This is nice, but can you implement this uniformally for all models? It'll be faster to do it now, rather than run into this issue in the future and be scratching our heads because we forgot about this |
u
and v
hydrostatic tendency kernels
I suspect that this PR is slowing down the code. I ll investigate |
model.clock) | ||
|
||
u_kernel_args = tuple(start_momentum_kernel_args..., u_immersed_bc, end_momentum_kernel_args...) | ||
v_kernel_args = tuple(start_momentum_kernel_args..., v_immersed_bc, end_momentum_kernel_args...) | ||
|
||
launch!(arch, grid, kernel_parameters, | ||
compute_hydrostatic_free_surface_Gu!, model.timestepper.Gⁿ.u, grid, | ||
active_cells_map, u_kernel_args; | ||
active_cells_map, u_kernel_args, model.forcing.u; |
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.
active_cells_map, u_kernel_args, model.forcing.u; | |
active_cells_map, tuple(u_kernel_args..., model.forcing.u); |
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.
but it doesnt matter
If we use complicated forcings in the model, for example the ECCORestoring type we use in ClimaOcean, we could incur in parameter space by passing all the forcings in the kernels, see:
https://buildkite.com/clima/climaocean-examples/builds/942#01932566-3781-41ab-9464-031b0bfcf562
and
CliMA/ClimaOcean.jl#244
This PR should reduce the parameter space in those cases by passing only the u and v specific forcings.